# Proxmox Setup with 1 Public IP

## Requirements

* A dedicated server (you can get it from [Fiberstate](https://billing.fiberstate.com/aff.php?aff=185)), some others may work but may need additional tweaks to hardware identifiers
* A SSH Client (we used [MobaXterm](https://mobaxterm.mobatek.net) but you can use PuTTY or OpenSSH or the built in SSH client)

## Server Preparation

We recommend to get this server spec (R9 7950X)

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FfPTV7LxA8lnk3wNHNW5x%2Fimage.png?alt=media&#x26;token=8e5f0f04-23e5-44ea-9050-2bdc3174c4b2" alt=""><figcaption></figcaption></figure>

Input your desired Hostname and Password, and for the Operating System choose Proxmox (latest)<br>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FScAE0oZXS8kTUNqwMfjQ%2Fimage.png?alt=media&#x26;token=ce89865a-c162-478f-81df-d706e0d2cee0" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
They have double drive promo on going, drop your invoice number to their [forum thread here](https://lowendtalk.com/discussion/200196/b-l-a-c-k-o-u-t-f-r-i-d-a-y-fiberstate-mega-event-new-la2-dc-giveaways-kaboom#latest)
{% endhint %}

Go to your web browser and access your proxmox web console by accessing this URL <kbd>https\://\<SERVER\_IP>:8006</kbd> and use root as username and the password you set previously

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FEl8Vx7tJSWw0ai7EJRAK%2Fimage.png?alt=media&#x26;token=0a3fdf67-87c8-4c9d-bd3d-77ca85794811" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Additionally, you can run this script for post installation setup for basic proxmox tweak

{% code overflow="wrap" %}

```sh
bash -c "$(wget -qLO - https://github.com/community-scripts/ProxmoxVE/raw/main/misc/post-pve-install.sh)"
```

{% endcode %}
{% endhint %}

### Prepare SDN function

Login to your server via SSH and run this command

```sh
apt update
apt -y install dnsmasq
# disable default instance
systemctl disable --now dnsmasq
```

Make sure you have this line in your <kbd>/etc/network/interfaces</kbd> file

```sh
source /etc/network/interfaces.d/*
```

type the following command to check

```sh
cat /etc/network/interfaces
```

If <kbd>source /etc/network/interfaces.d/\*</kbd> is present, proceed; if not, add it to the file by using this command

```sh
printf "\n\nsource /etc/network/interfaces.d/*" >> /etc/network/interfaces
```

### Creating SDN Network (Private IP)

Go to your Proxmox web console and go to <kbd>Datacenter > SDN > Zones > Add > Simple</kbd>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FFKD9gjvbhyULzoxRhHHj%2Fimage.png?alt=media&#x26;token=189b0e87-61be-426c-9997-6931129a2a7e" alt=""><figcaption></figcaption></figure>

Tick the <kbd>Advanced</kbd> option, put <kbd>ID</kbd> with any name you like (in this case we use <kbd>cnid</kbd>) and tick the <kbd>automatic DHCP</kbd>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FbknHyCbOjo5sTDg35keJ%2Fimage.png?alt=media&#x26;token=09cc0c05-ed01-4ffa-81a7-c5f873b61d23" alt=""><figcaption></figcaption></figure>

Go to <kbd>SDN > VNets</kbd> and <kbd>Create</kbd>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FlvnxPMO1UKwIQBdTvVP9%2Fimage.png?alt=media&#x26;token=6399cb65-54dc-4017-8a67-6cfcb5bab3e8" alt=""><figcaption></figcaption></figure>

Input the any name (in this case <kbd>vnet1</kbd>) and select the zone that you created previously (in this case <kbd>cnid</kbd>)

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FQHo3ySGLaR44Ity4yGwy%2Fimage.png?alt=media&#x26;token=2d017de0-ef2d-4c8b-ab3e-256a83905341" alt=""><figcaption></figcaption></figure>

Click on the newly created vnet and on the right side, click create

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FEVbuSCzjG4hS6MyU2rqr%2Fimage.png?alt=media&#x26;token=a720da63-210d-40e5-b5d3-5e7a7039f9ca" alt=""><figcaption></figcaption></figure>

Input your own <kbd>Subnet</kbd> and <kbd>Gateway</kbd>, you can customize it or just follow, and then go to <kbd>DHCP Ranges</kbd>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FtXnxsuLFybT2hXKm8PAB%2Fimage.png?alt=media&#x26;token=426cbcb7-5ad9-4938-88de-1cdc96049e3b" alt=""><figcaption></figcaption></figure>

Click Add and input your desired IP range (in this case <kbd>10.100.0.100 - 10.100.0.200</kbd> ; more than enough) then <kbd>Create</kbd>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2F5p0mMdDoNPZzxHdalZqQ%2Fimage.png?alt=media&#x26;token=6d2a37b8-535b-4b4e-9e4b-85aaefd05573" alt=""><figcaption></figcaption></figure>

After this setup, go to <kbd>SDN</kbd> and click <kbd>Apply</kbd>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FeYbUY6mC7H2DG7NVywQh%2Fimage.png?alt=media&#x26;token=a6d09ae7-4a6f-4ad5-b99e-5bc23f8d4076" alt=""><figcaption></figcaption></figure>

After that go to <kbd>IPAM</kbd> and you can manage your DHCP reservation (this image taken from my running server)

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2Fszn2KpWzW36yxfUhT0zL%2Fimage.png?alt=media&#x26;token=947d17b1-5016-4f9e-9f6a-5c25bdd7e8f3" alt=""><figcaption></figcaption></figure>

### Download OS Image

Go to <kbd>local storage > ISO Images > Download from URL</kbd>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2F2cjQCWXNDHyz57dqNgAt%2Fimage.png?alt=media&#x26;token=d2d863b9-6785-43e6-b224-762254549b84" alt=""><figcaption></figcaption></figure>

We will download ubuntu 24.04 iso for later VM setup

Input this <kbd>`https://releases.ubuntu.com/24.04.2/ubuntu-24.04.2-live-server-amd64.iso`</kbd> to <kbd>URL</kbd> field and click on <kbd>Query URL</kbd>

you can rename the file if you wish and click <kbd>Download</kbd>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2Fol0PWpBP7wzB7FM79rLh%2Fimage.png?alt=media&#x26;token=f4b79bcc-cbbd-498d-ba2d-dae9022e77f2" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Now you've done the server preparation, we will continue to VM Setup
{% endhint %}

## VM Setup

Simply click on <kbd>Create VM</kbd> button on top right of your interface

### General

Tick on <kbd>Advanced</kbd> box > tick on <kbd>Start at boot</kbd> > put the server name > <kbd>Next</kbd>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FbIq8KDRcrlBatBsljfbW%2Fimage.png?alt=media&#x26;token=b4919548-0391-4615-b60d-852c4b47fced" alt=""><figcaption></figcaption></figure>

### OS

Select <kbd>local</kbd> storage > choose the <kbd>ISO Image</kbd> that you downloaded in previous step > <kbd>Next</kbd>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FIRaRsJLg1PqoA2P5mKrA%2Fimage.png?alt=media&#x26;token=b33145e0-535d-4f64-a1a7-f008a6d64439" alt=""><figcaption></figcaption></figure>

### System

Just next, nothing to change there

### Disks

Select <kbd>local-lvm</kbd> in the <kbd>Storag</kbd>e section > put <kbd>100</kbd> for <kbd>Disk size</kbd> > <kbd>Next</kbd>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2Ft1fC4OI3mn0u1vjHUevq%2Fimage.png?alt=media&#x26;token=038d38b0-f755-4014-9673-96969b0e3764" alt=""><figcaption></figcaption></figure>

### CPU

Set <kbd>Sockets</kbd> and <kbd>Cores</kbd> depends to your need and <kbd>Type</kbd> to <kbd>host</kbd> for the best performance > <kbd>Next</kbd>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FNpA92piaLE43jmi9BOOe%2Fimage.png?alt=media&#x26;token=1a950f72-3d4f-4f37-986b-1090675efddd" alt=""><figcaption></figcaption></figure>

### Memory

Set the <kbd>Memory</kbd> depends on your need > <kbd>Next</kbd>&#x20;

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2F9qbfIndGlqbzBHNSaPWl%2Fimage.png?alt=media&#x26;token=5688e6ba-613a-4b6f-95fd-d1210e1cb35a" alt=""><figcaption></figcaption></figure>

### Network

Select the bridge that you created previously > <kbd>Next</kbd>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FtnI6lFUvUMFYONBjUa9r%2Fimage.png?alt=media&#x26;token=2d2b3a68-99ce-4f6d-9a33-c32ad3b70b59" alt=""><figcaption></figcaption></figure>

### Confirm

In the confirmation page, you will see the summary of the VM. Optionally, you can tick <kbd>Start after created</kbd> so it will start immediately > <kbd>Finish</kbd>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FcJmeUrUqm2AVIVrZDt6G%2Fimage.png?alt=media&#x26;token=9ddbe1e5-72d7-4298-8d64-3405c29f67ca" alt=""><figcaption></figcaption></figure>

### OS Installation

After VM Creation, go to <kbd>Datacenter</kbd> > <kbd>your server name</kbd> > <kbd>Console</kbd>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FjZP9Akaa0pKGpxH4lj3u%2Fimage.png?alt=media&#x26;token=23ef27cb-b102-4c93-a80b-9acb44fb6aa2" alt=""><figcaption></figcaption></figure>

Continue the installation as prompted

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FYDWW9AdSCszQmwM5NkVq%2Fimage.png?alt=media&#x26;token=4857ccac-d42d-41a6-9e89-d30d0c532072" alt=""><figcaption><p>Done</p></figcaption></figure>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FlSMxP7rFOGKJRHB0LyUI%2Fimage.png?alt=media&#x26;token=eb8831f3-34f2-4b0f-a505-cba69208a9de" alt=""><figcaption><p>Done</p></figcaption></figure>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FT1fsTkVbXjnAbgLjDY8t%2Fimage.png?alt=media&#x26;token=8286237c-bd84-4f60-85fe-a97e9311c255" alt=""><figcaption><p>Done</p></figcaption></figure>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FtFI5AIyCgm9ZEwR0HwHB%2Fimage.png?alt=media&#x26;token=ae46909e-d34c-4d63-b925-88c7386c6f05" alt=""><figcaption><p>Done</p></figcaption></figure>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FPTTnGYZWdwoeC5VC2KYT%2Fimage.png?alt=media&#x26;token=632a74ba-49fe-4001-b590-75e4c7a79767" alt=""><figcaption><p>Done</p></figcaption></figure>

{% hint style="danger" %}
In this part, remember to allocate all your disk space

Select <kbd>ubuntu-lv</kbd> > <kbd>Edit</kbd>

Set maximum <kbd>Size</kbd> and then <kbd>Save</kbd> > <kbd>Done</kbd> > <kbd>Continue</kbd>
{% endhint %}

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2F17AtfroNGv8IT3tBlbp6%2Fimage.png?alt=media&#x26;token=bb3a3b0e-fada-4f0c-bb1a-90dd8d7cd170" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FjHIBSI2l9qbdRNYn7HuI%2Fimage.png?alt=media&#x26;token=14e66da9-de91-4e7a-a259-74a1bcb9c2fe" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FLnFsazrwEUnZZ0DyJavi%2Fimage.png?alt=media&#x26;token=0e4740ce-019a-4c70-be5f-5307585b5df3" alt=""><figcaption></figcaption></figure>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FtjMlfq2rFQYwe4IEwzO2%2Fimage.png?alt=media&#x26;token=cf38638a-733f-44e5-9412-885a713bcee8" alt=""><figcaption><p>Input your name, server name, username and password > <kbd>Done</kbd></p></figcaption></figure>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FzAgYqcysY4SI8fzx9Afd%2Fimage.png?alt=media&#x26;token=3d6265ac-278f-43ca-a94c-0bbdd04f5271" alt=""><figcaption><p>Continue</p></figcaption></figure>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FWAwAsazrq7VYFskfveEa%2Fimage.png?alt=media&#x26;token=069e139e-970c-4d11-adf7-e52c57224f9d" alt=""><figcaption><p>Mark to <kbd>Install OpenSSH Server</kbd> > <kbd>Done</kbd></p></figcaption></figure>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FOQTWMrhKhdh2sHeLveuu%2Fimage.png?alt=media&#x26;token=164bedd6-7d87-49c8-bd0c-995288c8e5ac" alt=""><figcaption><p>Tick any features you want to install (in this case, I skipped everything) > <kbd>Done</kbd></p></figcaption></figure>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FYOBDTMnRq0Q18DCbFPes%2Fimage.png?alt=media&#x26;token=7271728b-958c-4ac8-a8d8-6cbaf8839b62" alt=""><figcaption><p>Wait for the installation process until it's completed > <kbd>Reboot Now</kbd></p></figcaption></figure>

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FsPI3tSSyFA9ffttWbt9s%2Fimage.png?alt=media&#x26;token=6f76f060-df0e-47fa-8043-88617b6a6b57" alt=""><figcaption><p>If you see this screen, just press <kbd>ENTER</kbd></p></figcaption></figure>

After that, go to <kbd>Hardware</kbd> menu > select the <kbd>ISO Image drive</kbd> > <kbd>Remove</kbd> > <kbd>Reboot</kbd> once again

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FtpMSoXLHAMOJqphZnfGj%2Fimage.png?alt=media&#x26;token=890adfe5-4c8c-415e-af16-3fdc059d72e0" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
Now you have created a VM and it's ready to use
{% endhint %}

{% hint style="info" %}
Repeat the process for more VM, or can use Clone VM option
{% endhint %}

<figure><img src="https://3497354227-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F67zQDvIDaq5eyeyj13eH%2Fuploads%2FKWlimvpnJ4MSKY48UkAM%2Fimage.png?alt=media&#x26;token=e1c5d079-6f4b-4d79-b220-ccaf077f0359" alt=""><figcaption></figcaption></figure>
