Hallo,
Ich versuche Port 80 korrekt auf eine VM weiterzuleiten, allerdings will das ganze nicht so 100%.
Meine Konfiguration sieht wie folgt aus:
ESXi (Hypervisor)
Router-VM (eth0 + eth1)
Linux-VM (eth0 / Apache, MySQL etc.)
Router-VM /etc/network/interfaces
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | iface eth0 inet static address x.x.x.x netmask 255.255.255.255 broadcast x.x.x.x post-up route add a.a.a.a dev eth0 post-up route add default gw a.a.a.a post-down route del default gw a.a.a.a post-down route del a.a.a.a dev eth0 auto eth1 iface eth1 inet static address 10.0.0.1 netmask 255.255.255.0 broadcast 10.0.0.255 network 10.0.0.0 |
Bis hierhin sollte alles funktionieren und wunderbar sein. Kommen wir nun zu der /etc/rc.local der Router-VM.
1 2 3 4 5 6 | iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT iptables -t nat -A PREROUTING -p tcp --dport 22 -j DNAT --to 10.0.0.3 #ssh iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 10.0.0.3 #http |
10.0.0.3 ist in diesem Fall die Linux-VM, auf welcher der Apache auf Port 80 läuft.
Soweit erstmal alles gut. .html Seiten sind durch die Fett markierte Zeile erreichbar. Allerdings scheint er Probleme bei der Auslieferung von komplexeren Seiten mit php zu haben, diese laufen auf einen 500 er Error. Hier ist auzuschließen dass es am Apache liegt. Desweiteren, funktioniert durch die benannte Regel weder WGET noch jegliche Aufrufe von apt-get update bzw. Zugriff auf Repositorys.
Da ich mit meinem Latein mittlerweile am Ende bin, und jegliches mit FORWARDING, INPUT, OUTPUT getestet habe, hoffe ich nun auf eure Hilfe 😕