So, ich habe also weiter geforscht.
Das Default Netzwerkmodul von Libvirt stellt eigentlich schon nen ordentliches NAT zur verfügung (hatte da nicht aufgepasst, dhcp funzt nur nach paar einträgen in der dnsmasq.conf, genaues findet man hier
libvirt: Wiki: Libvirtd and dnsmasq).Ich bekomme dann für die virtuellen Maschinen eine IP aus 192.168.122.x zugewieden (bzw, kann diese auch hart in der /etc/network/interfaces verdrahten).
Die /etc/network/interfaces auf meinem Host sieht nun wie folgt aus:
Code:
...
iface eth0 inet static
address 244.196.44.67
network 244.196.44.64
netmask 255.255.255.192
broadcast 244.196.44.127
gateway 244.196.44.65
iface eth0:1 inet static
address 244.196.44.118
network 244.196.44.64
netmask 255.255.255.192
broadcast 244.196.44.127
gateway 244.196.44.65
iface eth0:2 inet static
address 244.196.44.119
network 244.196.44.64
netmask 255.255.255.192
broadcast 244.196.44.127
gateway 244.196.44.65
iface eth0:3 inet static
address 244.196.44.120
network 244.196.44.64
netmask 255.255.255.192
broadcast 244.196.44.127
gateway 244.196.44.65 ich kann damit den host auf allen vier Ipadressen (.67, .118, .119, .120) anpingen. Libvirt legt mir noch die bridge virbr0 und die interfaces vnet0, vnet1 und vnet2 für die drei virtuellen maschinen an. von der virtuellen maschine kann ich auf den host pingen (und mich per ssh verbinden) und vomhost andersrum über die 192.x Adressen ebenfalls auf die virtuellen maschinen.
Jetzt habe ich noch folgende Anleitung gefunden
VMwareNAT ExtIP ? Hetzner DokuWiki und damit versucht eine weiterleitung der externen IPs auf die Internen zu erreichen. Hat leider nicht gefunzt. Die entsprechenden Parameter für ip_forward, etc sind in /proc/... auf 1 gesetzt.
Jetzt lasse ich einen Ping auf die .118 laufen.
Sobald ich dann auf dem host das folgende ausführe, läuft der Ping ins leere.
iptables -t nat -I PREROUTING -d 244.196.44.118 -j DNAT --to 192.168.122.2
auch ein hinterherajge des POSTROUTING befehls ändert nichts mehr an der Situatuin.
iptables -t nat -I POSTROUTING -s 192.168.122.2 -j SNAT --to 244.196.44.118
Hab ich hier einfach noch etwas vergessen? Muss ich IPTables vielleicht mitteilen, dass er die interfaces eth0:1 und vnet0 miteinander verbinden soll? Bin auch noch nicht so der IPTABLES Held.