PING geht nur in eine Richtung

VirtualBox, VMWare, KVM, XEN, OpenVZ, Virtuozzo, etc.
fero
Posts: 1
Joined: 2009-09-11 17:10

PING geht nur in eine Richtung

Post by fero » 2009-09-11 17:44

Hallo,

ich habe auf meinem System etwas sehr Mysteriöses festgestellt, doch dazu später mehr. Hier erstmal meine System-Konfiguration:

IP-Adressen mit 1.1.1.x sind im Folgenden übrigens externe IP-Adressen, die über das Internet erreichbar sind.

Root-Server (Debian 5.0, externe IP 1.1.1.100) beinhaltet zwei virtuelle Maschinen, Subnetz ist 192.168.23.0/24, die VMs haben die IPs 192.168.23.121 und .122. Die VMs haben auch externe IPs 1.1.1.121 und 1.1.1.122. Der Datenverkehr von außen zu den VMs wird mittels NAT über den Root-Server realisiert. Die externen IPs werden über die IP meines Root-Server geroutet. Dazu gibt es folgende Einträge in den iptables (-t nat):

Code: Select all

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       all  --  0.0.0.0/0            1.1.1.122           to:192.168.23.122
DNAT       all  --  0.0.0.0/0            1.1.1.121           to:192.168.23.121

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
SNAT       all  --  192.168.23.122       0.0.0.0/0           to:1.1.1.122
SNAT       all  --  192.168.23.121       0.0.0.0/0           to:1.1.1.121


Und hier die Routing-Tabelle:

Code: Select all

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
1.1.1.64        1.1.1.65        255.255.255.192 UG    0      0        0 eth0
1.1.1.64        0.0.0.0         255.255.255.192 U     0      0        0 eth0
192.168.23.0    0.0.0.0         255.255.255.0   U     0      0        0 vmnet1
192.168.42.0    0.0.0.0         255.255.255.0   U     0      0        0 vmnet8
0.0.0.0         1.1.1.65        0.0.0.0         UG    0      0        0 eth0


(Die oberen beiden Einträge sind vom Server-Betreiber voreingestellt, 1.1.1.65 ist scheinbar der Default Gateway des RZ. Aber irgendwie bin ich trotzdem nicht ganz sicher, ob das alles so seine Richtigkeit hat...)

Die VMs sind von außen erreichbar, absolut problemlos. Der Datenverkehr in alle Richtungen funktioniert einwandfrei. Das einzige Problem ist der Datenverkehr zwischen den VMs und dem Root-Server - untereinander erreichen sich die VMs auch einwandfrei.

Allerdings funktioniert der Verkehr zwischen VM und Root-Server zumindest zur Hälfte, und das ist es, was mir Kopfzerbrechen bereitet. Wenn ich auf 1.1.1.100 ein ping 1.1.1.121 ausführe, passiert nichts. Laut Wireshark kommt auf der VM auch kein Ping Request an. Wenn ich auf der VM (1.1.1.121) allerdings einen Ping an 1.1.1.100 sende, kommt die Antwort. Wieso zum Henker kommt denn die Ping Reply auf der VM an, aber nicht der Ping Request? Meiner Meinung nach kann es also eigentlich kein Routing-Fehler sein, denn sonst würde ja auch die Reply nicht ankommen. Und das schärfste kommt ja noch: Verwende ich die interne IP (also ping 192.168.23.121 statt 1.1.1.121), dann geht es auch. Mit TCP-Verbindungen verhält es sich übrigens genau so. Entweder stehe ich total auf dem Schlauch oder ich habe irgendetwas übersehen, aber ich weiß wirklich nicht was.

Da das NAT ja vor dem Routing greift (zumindest die Chain PREROUTING), dürfte die o.g. Routing-Tabelle abgesehen vom 192.168.23.0-Eintrag ja eigentlich sogar egal sein. Noch ein Grund, weshalb ich denke, dass es kein Routing-Fehler sein kann. Die Firewalls wurden zum Testen natürlich komplett deaktiviert.

Ich bin dankbar für jeden Hinweis.

Vielen Dank im Voraus.

Gruß - Andy aka fero

rondal
Posts: 10
Joined: 2004-02-15 16:53
Location: Eichstätt, Bay

Re: PING geht nur in eine Richtung

Post by rondal » 2010-02-01 23:15

Was sagt Wireshark was für Pakete auf dem Host reinkommen, wenn die Gäste die externe IP des Hosts anpingen?