136185
11.05.2018
3891
2
0
Weiterleitung von IP-Adresse auf virtuelle Qemu-Maschine
Hallo zusammen,
ich versuche seit einigen Tagen meine virtuelle Maschine mit einer IP-Adresse zu verknüpfen. Ich besitzte einen Root Linux Server bei Strato mit 2 IP-Adresse und habe auf diesem eine virtuelle Ubuntu Maschine via Qemu-KVM laufen. Nun möchte ich, dass sämtliche Anfragen, die auf IP-Adresse 2 (eth1) hereinkommen an die Virtuelle Maschine redirected werden.
Die virtuelle Maschine ist mittels einer Virtuellen Brücken virbr0 verbunden und besitzt dadurch einen eigenen IP-Adressraum (Brücke auf Host 192.168.122.1, auf VM 192.168.122.58). Die Brücke ist über brctl mit dem Interface eth1 verknüpft.
Ich habe bereits versucht, sämtlichen traffic per weiterzuleiten und auch scheint nicht zu funktionieren. Die virtuelle Maschine hat eine Internetverbindung nach draußen, allerdings wird bei myip.is die IP-Adresse 1, die eigentlich nur für den Root-Server gedacht ist angezeigt.
Vielen Dank im Voraus
ich versuche seit einigen Tagen meine virtuelle Maschine mit einer IP-Adresse zu verknüpfen. Ich besitzte einen Root Linux Server bei Strato mit 2 IP-Adresse und habe auf diesem eine virtuelle Ubuntu Maschine via Qemu-KVM laufen. Nun möchte ich, dass sämtliche Anfragen, die auf IP-Adresse 2 (eth1) hereinkommen an die Virtuelle Maschine redirected werden.
Die virtuelle Maschine ist mittels einer Virtuellen Brücken virbr0 verbunden und besitzt dadurch einen eigenen IP-Adressraum (Brücke auf Host 192.168.122.1, auf VM 192.168.122.58). Die Brücke ist über brctl mit dem Interface eth1 verknüpft.
Ich habe bereits versucht, sämtlichen traffic per
iptables -t nat -A PREROUTING -p tcp -i eth1 -d XXX.XXX.XXX.XXX -j DNAT --to-destination 192.168.122.58
ip -4 route add XXX.XXX.XXX.XXX dev virbr0
Vielen Dank im Voraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 373674
Url: https://administrator.de/contentid/373674
Ausgedruckt am: 23.11.2024 um 16:11 Uhr
2 Kommentare
Neuester Kommentar
Moin finnbrue,
den eingehenden Verkehr würde ich wie schon von dir versucht per DNAT im Prerouting mit folgendem Syntax verwenden:
Bsp.:
Der erste Fall würde deinem anwendungsfall entsprechen. Du brauchst die eingangs IP nicht angeben, da in diesem Fall das ganze Interface als Entscheidungsgrundlage genommen wird.
Eine Route sollte nicht von Nöten sein da dein Host seine angebundenen direkten Wege immer kennt.
Und den weg rückwärts raus aus dem Netzwerk, kannst du beispielsweise mit folgendem erledigen:
Das sind alles nur Beispiele die natürlich auf deinen genauen IP adressraum angepasst werden müssen.
Beschäftige dich bitte mit dem Pre/Post Routing da es nicht ganz trivial ist und die Firewall ins Internet darstellt. Falscher Syntax kann dir Löcher einreissen.
http://ipset.netfilter.org/iptables.man.html
Grüße
den eingehenden Verkehr würde ich wie schon von dir versucht per DNAT im Prerouting mit folgendem Syntax verwenden:
Bsp.:
## Change destination addresses to 5.6.7.8
# iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 5.6.7.8
## Change destination addresses to 5.6.7.8, 5.6.7.9 or 5.6.7.10.
# iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 5.6.7.8-5.6.7.10
## Change destination addresses of web traffic to 5.6.7.8, port 8080.
# iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 \ -j DNAT --to 5.6.7.8:8080
Der erste Fall würde deinem anwendungsfall entsprechen. Du brauchst die eingangs IP nicht angeben, da in diesem Fall das ganze Interface als Entscheidungsgrundlage genommen wird.
Eine Route sollte nicht von Nöten sein da dein Host seine angebundenen direkten Wege immer kennt.
Und den weg rückwärts raus aus dem Netzwerk, kannst du beispielsweise mit folgendem erledigen:
iptables -t nat -I POSTROUTING -p tcp -d MY_NETWORK/NETMASK -j SNAT --to-source IP
Das sind alles nur Beispiele die natürlich auf deinen genauen IP adressraum angepasst werden müssen.
Beschäftige dich bitte mit dem Pre/Post Routing da es nicht ganz trivial ist und die Firewall ins Internet darstellt. Falscher Syntax kann dir Löcher einreissen.
http://ipset.netfilter.org/iptables.man.html
Grüße
Moin,
Aus Deiner Frage geht nicht ganz eindeutig hervor, ob Du für Deine VMs eigene IP-Adressen vom Provider hast oder mit RFC1918-Adressen und NAT arbeiten mußt.
Im Falle, daß Du eigene IP-Adressen für Deine VMs hast, mußt Du einfach nur pre tap-device die VMs ins gleiche Netze wie Deinen host hängen. Ansonsten mußt Du für Deine VMs passende NAT-Regeln einbauen.
lks
Aus Deiner Frage geht nicht ganz eindeutig hervor, ob Du für Deine VMs eigene IP-Adressen vom Provider hast oder mit RFC1918-Adressen und NAT arbeiten mußt.
Im Falle, daß Du eigene IP-Adressen für Deine VMs hast, mußt Du einfach nur pre tap-device die VMs ins gleiche Netze wie Deinen host hängen. Ansonsten mußt Du für Deine VMs passende NAT-Regeln einbauen.
lks