DEV Community

Varun Gujarathi
Varun Gujarathi

Posted on

Setting Up Proxmox on a Laptop Without an Ethernet Port

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:

  1. Open balenaEtcher.

  2. Select the Proxmox ISO as the source.

  3. Choose the USB drive as the target.

  4. 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:

  1. Connect your smartphone to the laptop via USB.

  2. Enable USB tethering on your smartphone.

  3. Open the terminal on Proxmox.

  4. Check network interfaces with:

    ip a
    

Look for the interface associated with USB, usually named usb0.

  1. ring the interface up:

    ip link set usb0 up
    
  2. 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
Enter fullscreen mode Exit fullscreen mode

Configure the Network Interface
Edit the /etc/network/interfaces file to add WiFi configuration:

nano /etc/network/interfaces
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Restart Networking Service

Apply the changes by restarting the networking service:

systemctl restart networking
Enter fullscreen mode Exit fullscreen mode

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)