Files
loc_az_hci/infrastructure/proxmox/DEPLOY_NOW.md
defiQUG c39465c2bd
Some checks failed
Test / test (push) Has been cancelled
Initial commit: loc_az_hci (smom-dbis-138 excluded via .gitignore)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-08 09:04:46 -08:00

3.8 KiB

Deploy Now - Option 1: All NICs with DHCP

Current Status

Script network-config-dhcp-all.sh is ready Configuration will set up DHCP on ALL physical NICs Script will detect which NICs get IP addresses

Deployment Steps

Step 1: Ensure Script is on R630 (pve2)

If you're already on R630, check if the script exists:

cd /opt/proxmox-network-config
ls -la network-config-dhcp-all.sh

If it doesn't exist, transfer it from your project:

# From your development machine (if accessible):
scp -i ~/.ssh/id_ed25519_proxmox infrastructure/proxmox/network-config-dhcp-all.sh root@192.168.1.49:/opt/proxmox-network-config/

# OR manually copy the script content to the server

Step 2: Make Script Executable

cd /opt/proxmox-network-config
chmod +x network-config-dhcp-all.sh
cd /opt/proxmox-network-config
DRY_RUN=true ./network-config-dhcp-all.sh

Review the output to see:

  • Which NICs will be configured
  • What bridges will be created
  • The complete /etc/network/interfaces configuration

Step 4: Deploy Configuration

cd /opt/proxmox-network-config
./network-config-dhcp-all.sh

The script will:

  1. Backup existing /etc/network/interfaces
  2. Detect all physical NICs
  3. Create DHCP bridges for each NIC
  4. Apply the configuration
  5. Wait for DHCP to assign IPs
  6. Show which bridges got IP addresses

Step 5: Verify Deployment

After deployment completes:

# Check all bridges
ip addr show | grep -A 5 "vmbr"

# Check which bridges have IPs
for br in vmbr0 vmbr1 vmbr2 vmbr3 vmbr4; do
    echo -n "$br: "
    ip addr show $br 2>/dev/null | grep "inet " | awk '{print $2}' || echo "No IP"
done

# Check routing
ip route show

# Test connectivity
ping -c 3 192.168.1.1  # LAN gateway (if vmbr0 has LAN IP)
ping -c 3 8.8.8.8      # Internet (if WAN interface got IP)

What to Expect

If R630 has 4 NICs (nic0, nic1, nic2, nic3):

Configuration:

  • nic0vmbr0 (DHCP)
  • nic1vmbr1 (DHCP)
  • nic2vmbr2 (DHCP)
  • nic3vmbr3 (DHCP)

After DHCP:

  • vmbr0 (nic0): Will get IP if connected to LAN
  • vmbr1 (nic1): Will get IP if connected
  • vmbr2 (nic2): Will get IP if connected to Spectrum modem
  • vmbr3 (nic3): Will get IP if connected

Example Output

✓ vmbr0 (nic0): 192.168.1.49/24      ← LAN (192.168.1.0/24)
✗ vmbr1 (nic1): No IP address        ← Not connected
✓ vmbr2 (nic2): 203.0.113.10/24      ← WAN (Public IP from Spectrum)
✗ vmbr3 (nic3): No IP address        ← Not connected

Troubleshooting

No IPs Assigned

If no interfaces get IPs:

  • Wait 10-15 seconds (DHCP can take time)
  • Check cables are connected
  • Verify DHCP servers are available
  • Manually request DHCP: dhclient -v vmbr0

Wrong Interfaces Selected

The script configures ALL physical NICs, so you'll see which ones get IPs. No manual selection needed - DHCP determines connectivity.

Restore Backup

If something goes wrong:

# List backups
ls -la /etc/network/interfaces.backup.*

# Restore most recent
cp /etc/network/interfaces.backup.* /etc/network/interfaces
systemctl restart networking

Next Steps After Deployment

  1. Identify which bridge got LAN IP (192.168.1.x)
  2. Identify which bridge got WAN IP (public IP)
  3. Verify Proxmox web interface accessible
  4. Configure VMs to use appropriate bridges
  5. Deploy same configuration on ML110

Quick Command Reference

# Deploy
cd /opt/proxmox-network-config && ./network-config-dhcp-all.sh

# Check status
ip addr show | grep vmbr

# Check IPs
for br in vmbr{0..4}; do ip addr show $br 2>/dev/null | grep inet; done

# Restart networking if needed
systemctl restart networking

Ready to deploy! 🚀