Zugriff auf den Webserver auf der VM von einem Computer in einem anderen Subnetz

Zugriff auf den Webserver auf der VM von einem Computer in einem anderen Subnetz

Ich kann von einem Computer in einem anderen Subnetz nicht auf eine Webanwendung zugreifen, die auf einer von KVM gehosteten virtuellen Maschine ausgeführt wird.

Ich möchte also von der Maschine 192.168.1.2 (oben rechts im grünen Kreis) auf eine Webanwendung zugreifen, die auf der virtuellen Maschine 192.168.10.1 (unten in der Mitte im roten Kreis) läuft.

Ich habe eine statische Route auf dem Netgear-Router hinzugefügt, damit alle Anfragen an 192.168.10.0/24 an die Hostmaschine 192.168.1.1 weitergeleitet werden.

Der Hostcomputer selbst verfügt über eine statische Route, um Anfragen über die vmbr1-Bridge-Schnittstelle an 192.168.10.0/24 weiterzuleiten.

  • Ein Telnet auf Port 80 schlug von 192.168.1.2 aus fehl, war jedoch vom Hostcomputer 192.168.1.1 aus erfolgreich.
  • Ein Ping-Anruf an die virtuelle Maschine funktioniert von 192.168.1.2 Maschine zu VM
  • Ein Traceroute schlägt fehl, aber wenn ich die Option -I hinzufüge, funktioniert Traceroute auch.

Vielen Dank im Voraus für Ihre Hilfe oder Hinweise.

PS: Ich möchte klarstellen, dass es auch bei deaktivierter Firewall nicht funktioniert.

iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

Traceroute von der physischen Maschine 192.168.1.2 zur VM-Maschine 192.168.10.1 => KO

traceroute to 192.168.10.1 (192.168.10.1), 30 hops max, 60 byte packets
 1  192.168.1.254 (192.168.1.254)  2.390 ms  3.004 ms  3.436 ms
 2  * * *
 3  * * *
 ...
 30  * * *

Traceroute von VM-Maschine 192.168.1.2 zur physischen Maschine 192.168.10.1 => OK

traceroute to 192.168.1.2 (192.168.1.2), 30 hops max, 60 byte packets
 1  192.168.10.254 (192.168.10.254)  0.846 ms  0.648 ms  0.519 ms
 2  192.168.1.2 (192.168.1.2)  5.447 ms  5.277 ms  4.977 ms

Ein Ping von der Maschine 192.168.1.2 zur VM-Maschine 192.168.10.1:

ping 192.168.10.1
PING 192.168.10.1 (192.168.10.1) 56(84) bytes of data.
From 192.168.1.254: icmp_seq=1 Redirect Host(New nexthop: 192.168.1.1)
From 192.168.1.254 icmp_seq=1 Redirect Host64 bytes from 192.168.10.1: icmp_seq=1 ttl=63 time=2.77 ms
From 192.168.1.254: icmp_seq=2 Redirect Host(New nexthop: 192.168.1.1)
From 192.168.1.254 icmp_seq=2 Redirect Host64 bytes from 192.168.10.1: icmp_seq=2 ttl=63 time=2.56 ms

Auf dem Hostcomputer sind die Routen gut definiert und von diesem Hostcomputer aus kann ich problemlos auf die Webanwendungen von VMs zugreifen.

IP-Route anzeigen

default via 192.168.1.254 dev eth0 
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.1 
192.168.10.0/24 dev vmbr10  proto kernel  scope link  src 192.168.10.254 
192.168.20.0/24 dev vmbr20  proto kernel  scope link  src 192.168.20.254 

Netzwerkdiagramm

BEARBEITEN

Wenn ich die 192.168.1.2-Maschine (Quellmaschine) direkt mit einem RJ45-Kabel an den Router anschließe, funktioniert es. Vorher war 192.168.1.2 über WLAN mit dem Router verbunden. Ich denke also, dass es ein Problem mit diesem Router ist, der die statische Route nicht richtig auf über WLAN verbundene Maschinen anwendet. Ich weiß nicht, warum, aber das ist komisch :S

Antwort1

Ihr Problem liegt daran, dass Sie einen Router mit zwei Schnittstellen im selben Subnetz 192.168.1.0/24 verwenden.

Die Maschine 192.168.1.2 sendet Pakete an ihr Standard-Gateway. Ich gehe davon aus, dass es 192.162.1.254 ist, also der Router.

Da der Router jedoch feststellt, dass der nächste Hop für das Paket eine andere IP im selben Subnetz ist, generiert er die Umleitung, die Sie in der Ping-Ausgabe sehen.

Sie müssen den Router als Bridge oder Switch ausführen, d. h. es werden keine Routen benötigt, da sich KVM 192.168.1.1 und Client 192.168.1.2 beide im selben Subnetz befinden und für die Kommunikation kein Routing-Protokoll benötigen.

Dies bedeutet auch, dass das richtige Standard-Gateway für den Client 192.168.1.2 KVM 192.168.1.1 sein sollte.

Außerdem müssen Sie bestätigen, dass Sie das richtige Standard-Gateway für den KVM verwenden. Ist es wirklich der Router? Bietet der Router dem KVM oder Client Zugriff auf andere Subnetze als die hier angegebenen?

verwandte Informationen