Introduction:
This guide will outline the process of turning your laptop (or mini PC with accompanying peripherals) into a portable/mobile lab.
The aim is to have a fully functional workstation which you can both use for your day-to-day activities and also have a hypervisor at the ready to tinker with or have essential services with you whilst away from home.
Whilst you may be able to VPN home do to most of this already, there are a couple of benefits that this method allows us.
- Access to services that can work offline/decentralised.
- Access to services if your VPN/tunnel home is unavailable (I have been there before).
Scope:
We will be adapting a system which will already have Debian Bookworm or Proxmox setup from an ISO.
Instructions on how to setup/install both methods are provided via the Proxmox documentation/site.
Install Proxmox VE on Debian 12 Bookworm – Proxmox VE
Developer Workstations with Proxmox VE and X11 – Proxmox VE
I have tested both methods. The first offers a better experience as a workstation out of the box as it contains more packages/apps that you would typically find on a workstation. It also offers better driver support for things such as touch pads and Wi-Fi drivers. That said it is the more complicated and long winded of the two to get implemented (from an installation point of view).
The second option may afford you better support from proxmox and other communities, is quicker to install and allows access to a ZFS file system with ease.
Important note:
If you are installing from the Proxmox ISO, I would recommend removing any additional drive which the host will not be installed on (or disable via bios) as PVE installer removes boot records from all drives on install. If you are not dual booting and using all drives for Proxmox then you may ignore this.
Lets begin!
Once you have Proxmox setup, follow the steps on this page to setup a desktop environment Developer Workstations with Proxmox VE and X11 – Proxmox VE
if you already have a desktop environment continue on to the next step.
Identify Network Adaptors
We will be focusing on the WiFi adaptor as we are using a Laptop for the purpose of this experiment.
From the command line run “ip a“
This will list all available network adaptors and bridges etc.
In my case it is wlo1
Step 1: Remove the Wifi Adaptor from the Proxmox Networking Configuration.
From the command line we will need to edit the config so that it does not include the WiFi adaptor. We will rely on the WiFi adaptor to for a working internet connection and for it to be controlled via the desktop manager rather than by Proxmox.
Lets edit the config by typing “nano /etc/network/interfaces” into the command line.
- We will need to remove the section which pertains to wlo1
- We will add the lines to vmbr0 and leave everything else as it is.
auto lo
iface lo inet loopback
# Proxmox bridge for VMs (internal network)
auto vmbr0
iface vmbr0 inet static
address 192.168.100.1/24 # Or any private subnet you prefer for your VMs
bridge-ports none
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '192.168.100.0/24' -o wlo1 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '192.168.100.0/24' -o wlo1 -j MASQUERADE
To save the changes: — ctrl+x — y — enter
Key notes here:
- Remove the WiFi adaptor.
- Do not touch the loopback interface (top).
- Do not remove or alter anything below vmbr0
- Do not set a gateway for vmbr0
The above steps preps the system and enables us to:
- Manage the wifi connection from the desktop environment.
- Share that WiFi connection via NAT so that Proxmox and guest machines have a WAN connection.
Step two: Enable IPV4 forwarding
I believe this is optional, but I have implemented it anyway to be safe.
From the command line we will need to edit the file /etc/sysctl.conf
“nano /etc/sysctl.conf“
We are looking for the line that contains: #net.ipv4.ip_forward=1
We need to uncomment it (remove the #)
If it does not exist in the file, just add it to the bottom of the config.
To save the changes: — ctrl+x — y — enter
Step 3: Setup dnsmasq (for DHCP/DNS on vmbr0):
From the command line:
apt update && apt install dnsmasq -y
Configure /etc/dnsmasq.conf to provide DHCP and DNS services on vmbr0:
“nano /etc/dnsmasq.conf“
Add the following to your config (its a long file so I added this to the top however, it usually goes at the bottom — makes no real difference).
interface=vmbr0
dhcp-range=192.168.100.100,192.168.100.200,12h
listen-address=192.168.100.1
Ensure the IP address range matches what you defined in the network configuration above.
To save the changes: — ctrl+x — y — enter
Reboot system for changes to take affect.
You now have a functional workstation and Proxmox on the same Laptop. With this setup you will be able to access your guest machines/services from the host machine only. For client access from other devices please continue on to the last part of the tutorial.
Step 4: Travel Router configuration (optional)
We will need to enable static routes so that clients on your network can access guest machines/services on the Proxmox workstation/Host.
Find your Debian Host’s IP on the Travel Router Network: On your Debian laptop, open a terminal and run:
ip a show wlo1
This will give you the IP address (e.g., 192.1
68.64.123
). Let’s call this DEBIAN_IP_ON_TRAVEL_ROUTER_NETWORK
Configure a Static Route on Your Travel Router:
Log into your travel router’s web administration interface (usually 192.168.64.1 or similar).
Look for a section like “Advanced Routing,” “Static Routes,” or “Routing Table.”
Add a new static route with the following details:
Destination Network/IP: 192.168.100.0
Subnet Mask: 255.255.255.0
(or /24
)
Gateway/Next Hop: DEBIAN_IP_ON_TRAVEL_ROUTER_NETWORK (e.g., 192.168.64.123)
Interface (Optional): Usually LAN or Bridge.
Set a static IP address/DHCP reserved address for you Proxmox Wifi address in your travel router.
Final thoughts
This concludes our journey for setting up a workstation with proxmox.
This is not recommended for production use and is intended for a portable lab.
Future updates may break functionality, and you do this at your own risk.
That said if you take backups of any important data the risk is minimal.
I hope you found this useful. Enjoy.