Introduction
I had an old spare laptop lying around and decided to repurpose it as a HomeLab. After some research, I concluded that Proxmox was the best virtual machine (VM) manager for my needs. However, setting it up on a laptop without an Ethernet port came with its own set of challenges, particularly when configuring WiFi. Here's how I navigated the process and successfully set up Proxmox.
What is Proxmox?
Proxmox Virtual Environment (Proxmox VE) is an open-source server virtualization platform that allows you to manage virtual machines, containers, and storage through a web-based user interface. Built on Debian Linux, it integrates KVM (Kernel-based Virtual Machine) and LXC (Linux Containers) technologies, making it a powerful and flexible solution for homelabs, development environments, and production servers.
Key Benefits of Proxmox
Efficient Resource Utilization: Run multiple VMs and containers on a single physical machine.
Web-Based Management: Easily control VMs and containers using a browser interface.
Snapshots and Backups: Create and manage VM snapshots for easy recovery.
High Availability: Supports clustering for failover and redundancy.
By using Proxmox, I aimed to create a homelab environment for testing and learning without investing in expensive dedicated hardware.
Why is an Ethernet Port Essential?
Proxmox is primarily designed for server-grade hardware, which typically includes Ethernet connectivity. The default installation assumes an Ethernet connection to provide:
Step 1: Downloading the Proxmox ISO
Proxmox is not just a software application but a complete operating system based on Debian Linux. The first step is to download the Proxmox VE (Virtual Environment) ISO from the official Proxmox website.
Step 2: Creating a Bootable USB
To create a bootable USB drive, I used balenaEtcher, a reliable tool available for Windows, macOS, and Linux.
Instructions:
Open balenaEtcher.
Select the Proxmox ISO as the source.
Choose the USB drive as the target.
Click Flash to create the bootable USB.
Step 3: Booting Into the Installer
Next, I rebooted the laptop and entered the BIOS menu (usually by pressing F2
, F12
, or DEL
during startup). I selected the bootable USB drive as the primary boot device.
Installation Steps:
Follow the on-screen instructions for Proxmox installation.
Set up the node with the IP address 10.0.0.100
.
Complete the installation and reboot the system.
Step 4: Connecting to WiFi (The Catch)
By default, Proxmox expects an Ethernet connection for network setup. Since my laptop lacked an Ethernet port, I had to manually configure WiFi.
Initial Network Access Options
To configure WiFi, I first needed to establish a temporary internet connection. The easiest method was USB tethering using a smartphone.
Steps for USB Tethering:
Connect your smartphone to the laptop via USB.
Enable USB tethering on your smartphone.
Open the terminal on Proxmox.
-
Check network interfaces with:
ip a
Look for the interface associated with USB, usually named usb0.
-
ring the interface up:
ip link set usb0 up
-
Obtain an IP address:
dhclient usb0
At this point, the laptop should have internet access via USB tethering.
Step 5: Configuring WiFi on Proxmox
Since Proxmox uses Debian under the hood, configuring WiFi requires editing network configuration files.
Install Necessary Packages
First, update the package list and install essential networking tools:
apt update
apt install wpasupplicant wireless-tools
Configure the Network Interface
Edit the /etc/network/interfaces
file to add WiFi configuration:
nano /etc/network/interfaces
Add the following lines:
auto lo
iface lo inet loopback
# change wlp1s0 to your wifi interface name
auto wlp1s0
iface wlp1s0 inet dhcp
wpa-ssid [your wifi ssid]
wpa-psk [your wifi password]
# comment all the autogenerated proxmox bridge network interface
#auto vmbr0
#iface vmbr0 inet static
# address 192.168.0.201/24
# gateway 192.168.0.1
# bridge-ports enp3s0
# bridge-stp off
# bridge-fd 0
# add new bridge network interface
auto vmbr1
iface vmbr1 inet static
address 10.0.1.1/24
bridge-ports none
bridge-stp off
bridge-fd 0
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '10.0.1.1/24' -o wlp1s0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '10.0.1.1/24' -o wlp1s0 -j MASQUERADE
Restart Networking Service
Apply the changes by restarting the networking service:
systemctl restart networking
To enable the WiFi driver refer the below tutorial
Using WPA_Supplicant to Connect to WPA2 Wi-fi from Terminal
Conclusion
Congratulations you have your own personal, private, self-hosted "cloud".
Thanks
Top comments (0)