PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Proxmox + KVM NAT - Wo hängts?



3nte
17.10.13, 12:37
Hallo zusammen,

ich habe einen Root-Server mit Debian Wheezy minimal am laufen und möchte gerne folgendes realisieren:

Auf dem Debian Root sollen 2 virtuelle Maschinen laufen, die sich quasi "nicht kennen". Dass heißt auf dem Host läuft VM1 mit einer öffentlichen IP und VM2 mit einer anderen öffentlichen IP. Dazu habe ich mir erstmal die ganzen How-To's im Inet bzgl. QEMU KVM, Bridging, NAT, usw. angeschaut und habe mir nun Proxmox auf meinem Debian installiert und eingerichtet.

Das ganze funktioniert super, ich kann die Weboberfläche erreichen und auch meine VM's mit KVM (kein OpenVZ) aufsetzen.

Soweit so gut, nur gibt es nun noch ein Problem mit den Netzwerkeinstellungen der jeweiligen Maschinen. Steige da aktuell nichtmehr ganz durch.

Momentan hab ich folgendes konfiguriert:
Für das Beispiel benutze ich mal folgende IP's:
Host-IP extern: 111.111.111.111
VM1-IP extern: 222.222.222.222
VM2-IP extern: 333.333.333.333


Interface Host (Root):

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 111.111.111.111
netmask 255.255.255.0
gateway 111.111.111.1
up echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp

auto vmbr0
iface vmbr0 inet static
address 111.111.111.111
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
up route add 222.222.222.222 dev vmbr0
up route add 333.333.333.333 dev vmbr0


Interface von VM1 welche IP 222.222.222.222 haben soll:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 222.222.222.222
netmask 255.255.255.0
pointopoint 111.111.111.111
gateway 111.111.111.111


Wenn ich nun 222.222.222.222 von außen Pinge, bekomme ich keine Antwort von 111.111.111.111. D.h. er kann den Ping auf VM1 schon mal auf den Host routen und weiß, dass wenn ich 222.222.222.222 von außen anpinge, er zum Host muss.

Jetzt ist die Frage, wo noch der Fehler in den letzten Einstellungen liegt?
Das ganze MUSS zudem über das NAT und Routing-Verfahren laufen, da Bridging nicht funktioniert. Grund ist der, dass beim bridgen eine MAC-Adresse vergeben hat, die das Netzwerk meines Anbieters nicht kennt. Dan springt die Security an und wird dann gesperrt. Fazit ist, dass der Server nicht mehr startet d.h. NAT, iptables, etc. ist wohl der richtige Weg.

Kann mir nun jemand hier helfen und mir evtl. genau sagen, was ich in welcher Maschine wo eintragen muss?

Ich möchte auch keine Links o.ä.
Google habe ich komplett durchforstet und sowohl alle Tut's von Proxmox, Hetzner, OHV, Foren und Co. durchgeschaut. Würde auch sonst hier nicht schreiben. ;-)

Evtl. muss ich auch noch mit iptables rumspielen?
So á la
iptables -t nat -A POSTROUTING -s <interne ip der vm> -o eth0 -j SNAT --to <zusatz-ip auf dem host>
iptables -t nat -A PREROUTING -p tcp -d <zusatz-ip auf dem host> --dport 22 -i eth0 -j DNAT --to-destination <interne ip der vm>:22

Aber hier würde ich ja bridgen? oder?
Hatte auch schon die Methode, über eth0:0 und eth0:1 die IPs dem Host hinzuzufügen. Wäre das richtig? IPv4 Routing hab ich schon mal aktiviert.

Danke vorab für eure Hilfe und schon mal dickes SORRY für den obigen "Roman". :-)


LG 3nte