Back to All Lab Write-ups
NETWORK SEGMENTATION & HOMELAB FIREWALL

pfSense + Proxmox: Building an Isolated Virtual Lab Network

Deploying a dedicated pfSense virtual gateway on Proxmox to create an air-gapped sandbox network for Active Directory, domain controllers, and testing endpoints without touching your home LAN.

HomeLab Knowledge Base 8 min read pfSense, Proxmox VE, Firewall, Network Segmentation

This guide outlines the process of isolating a Proxmox lab environment by deploying a dedicated pfSense virtual machine (VM). This architecture keeps your home ISP-managed devices on a standard bridge while creating an "air-gapped" virtual bubble for your lab VMs.

Phase 1: Create the Isolated Network (Bridge)

This bridge acts as a virtual "switch" that is not connected to any physical hardware ports, ensuring your lab VMs stay strictly off your main home network.

  1. Log in to your Proxmox Web UI.
  2. Navigate to Datacenter → [Your Node] → System → Network.
  3. Click Create → Linux Bridge.
  4. Name: vmbr1
  5. Bridge ports: Leave BLANK (this is crucial for complete network isolation).
  6. Click Create and then Apply Configuration.
Proxmox Linux Bridge Configuration
Figure 1: Creating the isolated vmbr1 Linux Bridge in Proxmox
  • vmbr0 (Management Bridge): Connected to the physical NIC, handles Proxmox PVE GUI, SSH, and host management traffic.
  • vmbr1 (Internal Bridge): Isolated virtual switch with no physical slave port, handling only guest lab traffic.
Linux Bridge Settings Summary:
  • Name: vmbr1
  • Bridge ports: [Leave blank]
  • IPv4/CIDR: [Leave blank]
  • IPv6/CIDR: [Leave blank]
  • VLAN aware: [UNCHECKED]

Phase 2: Deploy the pfSense VM

  1. Download ISO: Fetch the latest pfSense CE ISO and upload it to your Proxmox local storage.
  2. Create VM: Click Create VM in the top-right toolbar:
    • General: Name it pfSense-Gateway.
    • OS: Select the pfSense ISO. Guest OS Type: Other.
    • System: Default settings (Keep QEMU Agent enabled).
    • Disks: 32GB+ recommended (Enable IO Thread for improved I/O throughput).
    • CPU: 2 vCPUs are sufficient for lab workloads.
    • Memory: 2GB to 4GB RAM.
    • Network:
      • NIC 1 (WAN): Select vmbr0 (Your uplink bridge to the ISP network).
      • Add Network Device: Click Add → Network Device.
      • NIC 2 (LAN): Select vmbr1 (Your new isolated bridge).
      • Model: Set both NICs to VirtIO (paravirtualized). Uncheck "Firewall" on these virtual NICs to prevent Proxmox pve-firewall rule interference.
pfSense Virtual Machine Hardware Overview
Figure 2: Completed pfSense VM hardware configuration in Proxmox

Phase 3: Install & Assign Interfaces

  1. Start the pfSense-Gateway VM and launch the Console.
  2. Follow the installation prompts (Accept, Install, ZFS Auto-Partitioning).
  3. Interface Assignment: Once installed and rebooted, console prompts will request interface assignments:
    • VLANs: Type n and hit Enter.
    • WAN: Enter vtnet0 (bound to vmbr0).
    • LAN: Enter vtnet1 (bound to vmbr1).
    • Type y to confirm assignments.
  4. Once assigned, note the LAN IP (default gateway is typically 192.168.1.1).
pfSense Interface Assignment in Console
Figure 3: Console interface assignments for vtnet0 (WAN) and vtnet1 (LAN)

Phase 4: Configure the Lab & Route Endpoints

Now we attach target lab machines (such as our Active Directory Domain Controller and Windows 11 client) to the isolated network:

  1. Shut down your target lab VM (e.g., Domain Controller or Windows 11 client).
  2. In Proxmox, select the VM → Hardware → Network Device → Edit.
  3. Change the bridge from vmbr0 to vmbr1.
  4. Power the VM back on. It will immediately request an IP lease from the pfSense DHCP server rather than your home router.
  5. Access: From your Windows 11 lab VM, navigate to https://192.168.1.1 in your browser to access the pfSense Web GUI.
Windows 11 Client connected to vmbr1
Figure 4: Windows 11 client receiving DHCP IP lease on vmbr1 via pfSense
DC01 Network Hardware in Proxmox
Figure 5: Active Directory Domain Controller (DC01) hardware reassigned to vmbr1
DC01 Network Configuration
Figure 6: DC01 operating inside vmbr1 and routed through pfSense
Windows 11 DNS Configuration
Figure 7: Windows 11 Client configured with DC01 (192.168.1.101) as primary DNS for Active Directory domain resolution
pfSense WebGUI Dashboard
Figure 8: Accessing pfSense WebGUI securely from inside the LAN segment

NAT Outbound Verification

Verify that Firewall → NAT → Outbound is set to "Automatic outbound NAT rule generation". This ensures all guest VMs on vmbr1 receive masqueraded internet access while remaining completely invisible and unreachable from the external home network.

pfSense Outbound NAT Rules
Figure 9: Automatic Outbound NAT configuration in pfSense

Phase 5: Security Hardening – Disabling WAN Management

To ensure management interfaces are never exposed to the ISP side:

  1. Navigate to System → Advanced → Admin Access.
  2. Locate the WebGUI redirect section and check "Disable webConfigurator redirect rule".
  3. Navigate to Firewall → Rules → WAN.
  4. Review WAN rules: If any rule permits TCP/443 (HTTPS) or TCP/80 (HTTP) from "Any" source to "WAN Address", disable or delete it immediately.
  5. By default, pfSense blocks all unsolicited WAN traffic, but explicit verification guarantees your firewall interface cannot be reached from outside the lab bubble.
Firewall Rules on WAN interface
Figure 10: WAN Firewall rules verified clean of any exposed administrative ports
Note on Anti-Lockout Rule

pfSense includes an Anti-Lockout Rule enabled by default on the LAN interface. This rule prevents administrators from accidentally locking themselves out of the WebGUI from inside vmbr1.

Recommended Video Walkthrough:
Install pfSense on Proxmox Guide — Demonstrates initial bridge provisioning and interface bindings.
All Articles Next Lab: Caddy TLS