Proxmox cable modem setup without router

I would like to seup a proxmox server that will act like a router using pfSense VM (or any other router VM).

The WAN bridge (br1) is directly connected to the cable modem. The LAN bridge (br0) is used as a linux switch for other VMs to connect to the internet.

The cable modem has DHCP capablity and it cannot do “bridge” mode.

But I am not able to get the WAN port of PfSense to get DHCP, DNS or to ping 8.8.8.8 from the cable modem. Ubuntu VM on proxmox also cannot ping 8.8.8.8 when the hardware network is set to br0 or br1.

When I connect the cable modem to an external TP-LINK router and connect the external router’s LAN port to proxmox’s WAN port (br1), everything works.

The problem lie in Pfsense WAN interface cannot DHCP from cable modem directly. There is a routing problem on proxmox.

I watched several proxmox learn linux TV youtubes but I cannot get this to work.

I think many people want to use proxmox as a “router”, bypassing any external router. If you can help with this setup or any video on youtube that have instructions to do that. Thank you.

People doing “forbidden routers” generally get a PCI-E ethernet card and PCI-E Passthrough it to the router VM. They plug the ISP router to the passed-through NIC and that becomes the WAN inside the router VM. From the router VM it goes to either a switch and then back to proxmox, or inside the VM in proxmox you make a virtual NIC that you assign as a LAN, then in proxmox you get DHCP (or static IP) on the bridge or tap interface that connects to that router as the LAN NIC (a bridge is basically a virtual switch, for all intents and purposes, but you can set an IP on a bridge).

If you don’t want to PCI-E passthrough, then you need to set up a static IP (or DHCP) on the bridge that connects to the physical NIC that’s wired to your ISP router. Then you should be able to ping the internet. Your router VM would get an interface bridged to that bridge, then inside the VM you’d have a separate virtual NIC that’s connected to a “floating bridge” in proxmox (basically a bridge that’s not connected to any physical NICs).