15. Configuring Proxmox
If you are new to Proxmox, the web interface can look overwhelming at first. There are a lot of menus, tabs, graphs, and settings, and it can feel like you need to understand everything straight away.
The good news is, you do not.
There is much more visible in Proxmox than you actually need to know right now. For a NAS-focused setup, especially when Proxmox is only being used as a host for storage and a few virtual machines, we only need to understand a small number of core areas.
This section is a guided tour of the Proxmox web interface, focusing only on what matters at this stage. Later tutorials will go deeper into specific features when we actually need them.
Accessing the Proxmox Web Interface
From a computer on the same network, open a web browser and go to:
https://<your-proxmox-ip>:8006Log in using:
- Username:
root - Password: the password you set during installation
Once logged in, you will see the Proxmox dashboard.
Overall Layout Overview
The Proxmox interface is divided into three main areas:
- Left navigation tree
- Main content panel
- Top menu and status area
We will go through each one briefly.
Left Navigation Tree
This is the most important area to understand.
At the very top, you will see Datacenter.
Below that, you will see the name of your Proxmox server, for example pve-n355.
Under your server name, you may see:
- Local storage
- Local-lvm storage
- Network interfaces
- Other system resources
Think of the left tree as a hierarchy:
- Datacenter controls everything
- The node (your server) controls hardware and system-level settings
- Virtual machines and containers live under the node
For now, we will mostly work inside your server node (pve-n355), not Datacenter.
Datacenter (High Level Settings)
Clicking on Datacenter shows settings that apply to the entire Proxmox environment.
For a single NAS server, you can safely ignore most of these options for now.
Useful sections to be aware of, but not change yet:
- Storage
- Backup
- Permissions
We will revisit Datacenter later if we configure backups and permissions.
Your Proxmox Node (The Server Itself)
Click on your server name in the left panel. (pve-n355)
This is where you manage:
- CPU and memory usage
- Storage devices
- Network interfaces
- System updates
- ZFS pools
This is the area you will use the most.
Summary Tab
The Summary tab is the default view when you select your node.
Here you can see:
- CPU usage
- Memory usage
- Disk usage
- Network activity
- System uptime
This page is purely informational. It is useful for checking that:
- The system is running
- Hardware resources are detected
- Nothing is under unexpected load
System Section
On the left side under your node, expand System.
Important items to know about:
- Network
This shows your physical network ports and bridges - DNS
Controls name resolution for the host - Time
Confirms correct time and timezone - Updates
Used to apply Proxmox updates
For now, we will mostly check these settings, not change them.
Network
Click Network.
You should see:
- A Linux bridge, usually vmbr0
- One or more physical network interfaces (enp4s0, enp5s0)
vmbr0 acts like a virtual network switch.
It allows virtual machines and containers to access your physical network.
At this stage, just confirm:
- vmbr0exists
- It is linked to the correct physical network port
- The IP address matches what you configured during installation
We will not modify networking yet.
Disks and Storage
Under your node, expand Disks.
Important sections:
- Disks
Shows all detected physical drives - ZFS
Shows your ZFS pools, if you installed using ZFS - Directory
Shows file-based storage
This is where you confirm that:
- All expected drives are visible
- Your ZFS mirror or pool is healthy
Do not create or delete anything yet. This is just a visibility check.
Shell
The Shell button opens a terminal directly on the Proxmox host.
This is where we enter written commands.
This guide will be done through the web interface on the Proxmox shell.
We will only use the shell soon for chekhing and updating.
Virtual Machines and Containers
Under your node (pve-n355), this is where:
- Virtual machines (VMs) will appear
- Containers (CTs) will appear
Right now, this area will likely be empty, and that is expected.
We will start creating VMs after we finish validating system settings.
What You Can Safely Ignore for Now
As a beginner, you can safely ignore these sections for now:
- Firewall
- HA
- Replication
- Ceph
- Permissions
- Pools
These are powerful features, but they are not required for a basic NAS setup.
What We Are Checking Right Now
At this stage, our goals are simple:
- Confirm Proxmox is accessible via the web
- Confirm network settings are correct
- Confirm storage devices are detected
- Confirm system resources look normal
Once those checks are complete, we are ready to move on.
Running shell commands
Now lets check to see if everything is in order.
In the main content panel click on the >_ shell and this is where the commands are entered. Right next to the root@pve-n355:~#
Just type or paste the commands and press Enter to run them.
1. Verify hostname and FQDN
To check this try these two commands.
hostname
hostname -fThey should return something like.
pve-n355
pve-n355.nasIf not do this:
hostnamectl set-hostname pve-n355.nasThen verify /etc/hosts by using a nano command, this is a text editor for a file at a folder path. You need to use keyboard arrows to move around on these, the mouse will not move the cursor.
nano /etc/hostsIt will contain the following info.
127.0.0.1 localhost
192.168.0.2 pve-n355.nas pve-n355To save any nano files (text files) use Ctrl + O then Enter then Ctrl + X.
This writes out (updates the file), saves the file and then closes the nano.
You will be in the shell again. If you did change anything then make sure to save and reboot the NAS before you continue.
2. Verify networking settings
Check the interface.
ip a show vmbr0You should see this: vmbr0 and 192.168.0.2/24
Now check the routing.
ip rYou should see this: default via 192.168.0.1
3. Configure check or correct the DNS for the host
Run this.
cat /etc/resolv.confYou should see.
nameserver 192.168.0.1If you don’t then run another nano command.
nano /etc/resolv.confPaste this in and save as shown last time.
nameserver 192.168.0.14. Enable the no-subscription repository
Check what is called a repo file.
cat /etc/apt/sources.list.d/pve-enterprise.sourcesIf this does work (has a file path) then nano again.
nano /etc/apt/sources.list.d/pve-enterprise.sourcesChange Enabled: true to Enabled: false and then save and close the nano.
Now to add the no-subscription repo.
nano /etc/apt/sources.list.d/pve-no-subscription.sourcesPaste this in and save and close the nano.
Types: deb
URIs: http://download.proxmox.com/debian/pve
Suites: bookworm
Components: pve-no-subscriptionNow update Proxmox.
apt updateNow upgrade Proxmox to use the setting correctly. (The -y just saves you from saying Yes you want to upgrade when the script is about to run)
apt full-upgrade -yNow I mentioned if this works earlier. If running cat /etc/apt/sources.list.d/pve-enterprise.sources and it says “No such file or directory” then it didnt work so you need to do this.
nano /etc/apt/sources.list.d/pve-enterprise.listYou should see.
deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterpriseIf you know anything about coding you need to comment out the command so it doesn’t run. We do this by adding a # in front of anything that is a comment and not actual code. It should now look like this.
# deb https://enterprise.proxmox.com/debian/pve bookworm pve-enterpriseClose the nano and then add the Proxmox no-subscription repository.
nano /etc/apt/sources.list.d/pve-no-subscription.listThen paste this code in.
deb http://download.proxmox.com/debian/pve bookworm pve-no-subscriptionSave and close the nano.
Now time to apt update and then apt full-upgrade -y again.
5. Now lets remove the enterprise subscription warning on the UI when we log in
Run this, you won’t see an output in the shell.
sed -i 's/data.status !== .Active./false/' /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js
systemctl restart pveproxy6. Enable the IOMMU for the HBA passthrough needed later with TrueNAS.
Run this nano.
nano /etc/default/grubFind the line that says GRUB_CMDLINE_LINUX_DEFAULT=”quiet” and edit it to be.
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt"Save and close the nano.
Now the GRUB needs to updated. This is a file the runs on boot for the OS. Run these three commands.
update-grub
update-initramfs -u
rebootJust wait a minute or two for it to complete, your shell will refresh after it reboots.
Now run.
dmesg | grep -i iommuYou should get a list with parts looking like this.
[ 0.469625] pci 0000:00:02.0: Adding to iommu group 0
[ 0.470122] pci 0000:00:00.0: Adding to iommu group 1
[ 0.470139] pci 0000:00:0d.0: Adding to iommu group 2
[ 0.470154] pci 0000:00:14.0: Adding to iommu group 37. Now to load required kernel modules permanently
Run this.
nano /etc/modulesAnd add this the below text.
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfdSave and close the nano and reboot.
8. Now time to disable the Proxmox firewall
Just for now we are going to disable any firewall running.
In Web UI:
- Datacenter > Firewall > Options > (double click on Firewall in the window and untick Firewall, it will now say No).
- Node (pve-n355) > Firewall > Options > (double click on Firewall in the window and untick Firewall, it will now say No).
We’ll handle security later via the router firewall, Tailscale and Optional OPNsense/pfsense later.
9. Check that we can see the storage
Now to make sure all storage SSD and HDD are seen by Proxmox run.
lsblkWe should be able to see the four sda-sdd HDDs and the two nvme 0-1 SSDs.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 5.5T 0 disk
sdb 8:16 0 5.5T 0 disk
sdc 8:32 0 5.5T 0 disk
sdd 8:48 0 5.5T 0 disk
nvme0n1 259:0 0 238.5G 0 disk
├─nvme0n1p1 259:2 0 1007K 0 part
├─nvme0n1p2 259:3 0 1G 0 part
└─nvme0n1p3 259:4 0 237.5G 0 part
nvme1n1 259:1 0 238.5G 0 disk
├─nvme1n1p1 259:5 0 1007K 0 part
├─nvme1n1p2 259:6 0 1G 0 part
└─nvme1n1p3 259:7 0 237.5G 0 partLooking great so far but we will not create ZFS pools yet. TrueNAS will own the HDDs.
Shutdown the NAS via the Shutdown button located towards the top right of the web interface. Turn the NAS back on and eveything should be running like new.
Quite a lot of shell / terminal commands but it gives you an idea how Linux works as well. If you get so inclined try to learn Linux Bash so you can learn the shell commands. This might be a side project on the NAS even? Install Ubuntu linux as a VM on Proxmox and go through a BASH tutorial. Or, if you really want to get into programming find an ebook called Learn Python the Hard Way. You will learn how to code in Python and bash at the same time, the book is aging but if you can get through it you will be a super star programmer. It just takes time. If you get even more enthused start saving your project files on GITHUB.
Next up we will install Tailscale on Proxmox so we can remote access the NAS from anywhere.