Proxmox 4 med en enkelt offentlig IP – Opsæt et privat netværk

Proxmox 4 kan let konfigureres til at sætte alle eller nogle af dine VM / Containere i et NATed privat netværk. Du kan endda sende porte fra din offentlige IP-adresse til dine containere. Det er desværre ikke muligt at konfigurere denne opsætning fra web GUI, men ændringerne i konfigurationsfilen er meget enkle. Alle ændringer og tilføjelser er skitseret i dette indlæg.

 

Opsætningen
Vi går ud fra, at vi har 3 VM / Containere på vores Proxmox-server.

  1. VM-WEB (Webserver, har brug for porte 80 og 443)
  2. VM-SMTP (Mail Server, har brug for porte 25 og 465)
  3. VM-CAPP (Custom App, kører på port 5000, men har brug for udenfor port 1025)
  • Offentlig IP: 1.2.3.4
  • Privat netværk: 192.168.0.0/24 (192.168.0.1 – 192.168.0.254)
  • Privat IP af værten: 192.168.0.254
  • Private IP af VM-WEB: 192.168.0.1
  • Private IP af VM-MAIL: 192.168.0.2
  • Private IP af VM-CAPP: 192.168.0.3

 

Konfiguration af værtsnetværket

Den første opgave er at oprette en netværksbro. Vi skal kalde denne bro vmbr2.
SSH til din vært og tilføj følgende til /etc/network/interfaces

auto vmbr2
iface vmbr2 inet static
address 192.168.0.254
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables -t nat -A POSTROUTING -s '192.168.0.0/24' -o vmbr0 -j MASQUERADE
post-down iptables -t nat -D POSTROUTING -s '192.168.0.0/24' -o vmbr0 -j MASQUERADE

# VM-WEB HTTP 80:192.168.0.1:80
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 192.168.0.1:80
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 80 -j DNAT --to 192.168.0.1:80

# VM-WEB HTTPS 443:192.168.0.1:443
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to 192.168.0.1:443
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 443 -j DNAT --to 192.168.0.1:443

# VM-SMTP SMTP 25:192.168.0.2:25
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 25 -j DNAT --to 192.168.0.2:25
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 25 -j DNAT --to 192.168.0.2:25

# VM-SMTP SMTPtls 465:192.168.0.2:465
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 465 -j DNAT --to 192.168.0.2:465
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 465 -j DNAT --to 192.168.0.2:465

# VM-CAPP CustomApp 1025:192.168.0.3:5000
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 1025 -j DNAT --to 192.168.0.3:5000
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport 1025 -j DNAT --to 192.168.0.3:5000

Lad mig forklare, hvad der foregår her.
Den første hele blok, fra auto vmbr2 til den første post-down opretter broen, tildeler en ip 192.168.0.254 til værten, og aktiverer NAT fra vmbr0 til vmbr2.
De næste sæt blokke indstiller den enkelte port fremad. Hver port fremover kræver en post-up og down-down. For at oprette din egen port fremad, følg skabelonen nedenfor.

#Udefra XXX -> LO.CA.AL.IP:YYY
post-up iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport XXX -j DNAT --to LO.CA.AL.IP:YYY
post-down iptables -t nat -D PREROUTING -i vmbr0 -p tcp --dport XXX -j DNAT --to LO.CA.AL.IP:YYY

Gør ændringerne aktive
Når hele din port er fremad, skal du enten genstarte din vært eller køre: systemctl restart network fra ssh/putty.

Opsætning af VM / Containere
Det eneste der er tilbage, er at opsætte dine VM’er. Heldigvis er det meget nemt.

Når du opsætter din VM, skal du vælge vmbr2-bridge.

Konfigurer nu din VM med følgende netværksindstillinger:

IP-adresse: 192.168.0.X (hvor X er maskinens private ip)
Netværksmaske: 255.255.255.0
Gateway: 192.168.0.254

Hvis alt er gået som beskrevet, så skal du have en webserver, mail server og brugerdefineret app, der kører fra din offentlige IP. Prøv http://1.2.3.4

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *