Proxmox container no internet? It’s almost never the host itself. Start from the bridge, then the CT config, then DNS — in that order. Here’s the sequence that finds it fast.

Check the bridge on the host
First, is the host itself online? If yes, look at the bridge your CT is attached to. On the Proxmox host, run:
ip link show vmbr0
You want to see state UP. If it’s down, bring it up with ifup vmbr0. Also check that the bridge has an IP if you’re using a routed setup, or that it’s attached to a physical NIC if bridged.
If the bridge is fine, check the CT’s veth interface. List them with:
ip link show | grep veth
If you see the veth but it’s down, that’s a clue. The container might have networking disabled or a bad config.
Look inside the CT
Enter the container:
pct enter 100
Then check its interfaces:
ip addr
Does it have an IP? If not, check the CT config on the host:
cat /etc/pve/lxc/100.conf
Look for lines like net0: name=eth0,bridge=vmbr0,ip=dhcp. If it’s set to a static IP, make sure the gateway and subnet are right. A typo here is the most common cause.

DNS is the silent killer
If the CT has an IP but no internet, it’s probably DNS. Test with ping 8.8.8.8. If that works but ping google.com doesn’t, fix the DNS. On Debian-based CTs, edit /etc/resolv.conf and add a nameserver like nameserver 1.1.1.1. On Proxmox, you can also set DNS in the CT config with nameserver option.
This is annoying I know, but it’s almost always one of these three. And if you’re stuck on UID mapping issues with unprivileged containers, that’s a whole other rabbit hole — see how to handle unprivileged containers and large UIDs/GIDs.
If nothing works
Reboot the container. If that doesn’t fix it, restart the networking stack on the host with systemctl restart networking. Sometimes the bridge gets into a weird state after a host reboot.
Still no luck? Check the Proxmox firewall. If it’s enabled on the CT or the host, it might be blocking traffic. Disable it temporarily to test:
pct set 100 -firewall 0
And on the host, check /etc/pve/firewall/cluster.fw for any rules that might block.
That’s the whole flow. Start from the host, work inward, and don’t skip DNS. It’s usually something dumb.
Part of Proxmox in a homelab — the cluster and networking section.