Hallo zusammen,
ich benutze Windows 7 als Host, darauf läuft eine VirtualBox mit Ubuntu 12.04. Host und Guest sind durch einen Host-Only-Adapter verbunden. Dann gibt es einen weiteren PC ebenfalls mit Ubuntu 12.04. Bitte nicht weiter wundern, durch besondere Umstände muss ich den Weg über die VM gehen..
- PC1 mit Ubuntu besitzt ein Interface ax0. (ax0 = PC1)
- Die VM besitzt zwei Interfaces, ax0 und eth4. (ax0 = VB1 ; eth4 = VB1.1) (VB = VB1 + VB1.1)
- PC2 mit Windows 7 besitzt ein Interface eth0. (eth0 = PC2)
De Kommunikation sieht dann in etwa so aus:
1 | PC1(Ubuntu) ---- [ (VB1 ---- VB1.1)(Ubuntu) ---- PC2(Windows 7) ] |
Ziel ist es von PC1 nach PC2 zu pingen und anders rum.
PC1: IP: 172.x.x.2 mask: 255.255.0.0
VB1: IP: 172.x.x.3 mask: 255.255.0.0
VB1.1 IP: 192.x.x.2 mask: 255.255.255.0
PC2: IP: 192.x.x.1 mask: 255.255.255.0
Auf PC1 habe ich eine route eingerichtet um in das 192 Netzwerk zu gelangen
1 | sudo route add -net 192.x.x.0 netmask 255.255.255.0 gw 172.x.x.2 |
Auf PC2 habe ich eine route eingerichtet um in das 172 Netzwerk zu gelangen
1 | route -p ADD 172.x.x.0 MASK 255.255.0.0 192.x.x.2 |
Auf der VM habe ich ip_forwarding aktiviert und die iptables angepasst
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | sudo iptables -A FORWARD -o ax0 -i eth4 -m conntrack --ctstate NEW -j ACCEPT sudo iptables -A FORWARD -o eth4 -i ax0 -m conntrack --ctstate NEW -j ACCEPT sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT sudo iptables -L -n -v Chain INPUT (policy ACCEPT 817 packets, 49770 bytes) pkts bytes target prot opt in out source destination Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 33 1980 ACCEPT all -- eth4 ax0 0.0.0.0/0 0.0.0.0/0 ctstate NEW 0 0 ACCEPT all -- ax0 eth4 0.0.0.0/0 0.0.0.0/0 ctstate NEW 0 0 ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 ctstate RELATED,ESTABLISHED Chain OUTPUT (policy ACCEPT 818 packets, 49810 bytes) pkts bytes target prot opt in out source destination |
VM routing Tabelle
1 2 3 4 5 | Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth4 172.x.x.0 0.0.0.0 255.255.0.0 U 0 0 0 ax0 192.x.x.0 0.0.0.0 255.255.255.0 U 1 0 0 eth4 |
Was bis jetzt funktioniert (ping):
1 2 3 4 5 6 7 8 | PC1 -> VB1 OK PC1 -> VB1.1 OK PC1 -> PC2 FAIL VB -> PC1 OK VB -> PC2 OK PC2 -> VB1 OK PC2 -> VB1.1 OK PC2 -> PC1 FAIL |
Irgendwie habe ich das Gefühl, dass die Weiterleitung in der VM nicht funktioniert? Wenn ich mit Wireshark auf Interface VB1.1 horche und dann von PC1 nach VB1.1 pinge, klappt es zwar, aber im Wireshark sehe ich keinen Paketverkehr auf VB1.1 ..
Hat vielleicht jemand eine Idee?