Proxmox, pfSense, VLANs, oh my!

opethfan

New Member
Aug 17, 2017
1
0
1
44
Hi all, I've been using Proxmox for quite a while but I've always had trouble with this aspect of it, and I'm determined to not let it beat me this time.

I have 2 internet connections, going into my Dell PowerConnect 5548 switch.

Port 1 - cable internet, DHCP, untagged VLAN 999
Port 2 - ADSL internet, DHCP, untagged VLAN 998

SFP+ - freshly installed Proxmox 5.0 server (pve01), set as trunk on switch

4 VLANs: 10 (servers), 20 (workstations), 30 (devices), 40 (guests)

I also have the motherboard NIC on the host node available for management access.

The plan is to have Proxmox host my pfSense firewall, get the DHCP leases for each internet connection, then route to my 4 internal VLANs, with the Proxmox node on VLAN10.

This way, pve01 only needs power, the SFP+ link, and the USB cable for my UPS, and everything operates at 10Gbps with no bottleneck.

However, none of the configurations I've tried have worked. With some, the VM won't get a DHCP lease from the modem. Others won't send a signal out to my other devices on the switch. I'm really not much of a networking guy and I'm getting pretty frustrated, but the lure of an all-in-one solution is too much for me to pass up.

My questions:

1) Is this best done with standard bridges, or with OVS?
2) Should my switch be set to Trunk for the PVE host, or is General a better idea, with untagged packets being assigned VLAN10?
3) Should VLANs be configured inside the pfSense VM, or on the host?
4) Should I be using VirtIO NICs, or are E1000s better for this use case?

Any assistance (and configuration examples!) would be very greatly appreciated. Thanks all!
 
Nice setup,
It's quite easy to do what you want, how ever there are many ways

So here's mine:

1. standard bridges, each bridge with it's own vlan eg vmbr10 => eth1.10
2. Trunk
3. setup like virtio0 to vmbr10, virtio1 to vmbr20.... virtio9 to vmbr 999
4. PfSense has VirtIO drivers so VirtIO

Don't know the Proxmox Way to setup vlans but
#!/bin/bash
vconfig add eth0 10
brctl addbr vmbr10
brctl addif vmbr10 eth0.10

Check eth0 and vlan number to be what you want.