Skip to main content

Proxmox Network Debugging: Our Specific Journey

The Problem Sequence​

Initial State​

  • Fresh Proxmox installation on enterprise laptop
  • TP-Link UE300C USB-C ethernet adapter connected
  • Could ping local gateway (192.168.29.1)
  • Could NOT reach internet (ping 8.8.8.8 failed)
  • DNS resolution completely broken

Discovery Phase​

Step 1: Interface Detection

ip link show
# Found: enx[long-mac-address] interface was UP
# Found: vmbr0 bridge existed but wasn't connected to anything

Step 2: The Bridge Revelation

brctl show
# OUTPUT: vmbr0 bridge had NO interfaces attached
# This was the smoking gun - bridge was isolated

Step 3: Manual Bridge Connection

# This was our eureka moment
ip link set enx[interface] master vmbr0
# Immediately after this command - internet worked!

The Persistent Solution​

Problem: Manual fix disappeared after reboot

Our Investigation:

cat /etc/network/interfaces
# We found the bridge was defined but missing bridge-ports line

Our Fix:

# Added this critical line to /etc/network/interfaces
auto vmbr0
iface vmbr0 inet static
address 192.168.29.50/24
gateway 192.168.29.1
bridge-ports enx[our-specific-interface-id] # ← This was missing!
bridge-stp off
bridge-fd 0

The DNS Mystery​

After network worked, still got: "Temporary failure in name resolution"

Our debugging:

cat /etc/resolv.conf
# Was empty or had wrong nameservers

Our fix:

# Manually set these specific nameservers
echo "nameserver 192.168.29.1" > /etc/resolv.conf
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
echo "nameserver 8.8.4.4" >> /etc/resolv.conf

The Lid Close Issue​

Problem: Lost SSH access when laptop lid closed

Our investigation:

# Laptop was going to sleep/suspend
journalctl -f
# Showed suspend events when lid closed

Our solution:

mkdir -p /etc/systemd/logind.conf.d/
cat > /etc/systemd/logind.conf.d/ignore-lid.conf << EOF
[Login]
HandleLidSwitch=ignore
HandleLidSwitchExternalPower=ignore
HandleLidSwitchDocked=ignore
EOF

systemctl restart systemd-logind

Key Commands That Saved Us​

# The game-changer command
ip link set enx[interface] master vmbr0

# Verification that it worked
brctl show
# Should show your interface under vmbr0

# Network restart after config changes
systemctl restart networking

# Check if bridge is working
ip addr show vmbr0
# Should show your IP address

What We Learned​

  1. Proxmox bridge-ports is critical - without it, bridge is isolated
  2. Manual ip link commands work immediately - good for testing
  3. /etc/network/interfaces needs bridge-ports line - for persistence
  4. DNS often needs manual setting - even after network works
  5. Enterprise laptops suspend by default - need systemd override

Timeline of Success​

  1. Identified bridge isolation with brctl show
  2. Fixed temporarily with ip link set master
  3. Made permanent with /etc/network/interfaces edit
  4. Fixed DNS with /etc/resolv.conf
  5. Fixed lid behavior with systemd override
  6. Verified with reboot test

Total debugging time: ~2 hours of systematic troubleshooting.