Ich bin auf einem Debian, der von 7.11 auf 8.5 aktualisiert wurde, also wird das Xen-Paket von 4.1 auf 4.4 aktualisiert.
Ich weiß nicht viel über Netzwerke, aber wenn ich ein solches Diagramm sehe (entnommen aus der Xen Networking- Wiki-Seite), erwarte ich, dass ich 198.51.100.27 mit ping -I xenbr0 198.51.100.27
der virtuellen Maschine anpingen kann und umgekehrt ping 198.51.100.1
.
Dies ist jedoch nicht der Fall. Ich habe ein sauberes xenbr0
mit eingerichtet
# brctl addbr xenbr0
# ifconfig xenbr0 192.168.12.1 netmask 255.255.255.0 up
und in der HVM-Konfigurationsdatei
vif=["mac=11:22:33:44:55:66, ip='192.168.12.2', bridge=xenbr0"]
Nachdem ich die VM mit gestartet habe xl create
, ist dies die Ausgabe von brctl show
:
bridge name bridge id STP enabled interfaces
xenbr0 8000.feffffffffff no vif3.0
vif3.0-emu
Ich verbinde mich mit SPICE mit der VM und konfiguriere sie wie folgt:
Und da ich nur versuche, das Standard-Gateway zu pingen, gehe ich davon aus, dass keine Namensauflösung stattfinden wird.
Mit diesem Setup ping 192.168.12.2 -I xenbr0
ergibt sich auf dem dom0
PING 192.168.12.2 (192.168.12.2) from 192.168.12.1 xenbr0: 56(84) bytes of data.
From 192.168.12.1 icmp_seq=1 Destination Host Unreachable
und von der Windows-VM hat ping 192.168.12.1
von cmd
die Ausgabe
Pinging 192.168.12.1 with 32 bytes of data:
Reply from 192.168.12.2: Destination host unreachable.
was darauf hindeutet, dass die Maschinen keine Ahnung haben, wie sie sich erreichen sollen. Sollen sie nicht miteinander verbunden sein xl create
? Warum passiert das?
quelle
tcpdump
Listener auf der Schnittstelle auszuführen, auf die der Ping abzielt. Dies zeigt an, ob die Schnittstelle den ARP-Test empfängt, mit dem der Ping-Host nach der Ziel-IP-Adresse sucht. Und ob es eine ARP-Antwort sendet. (Sie können sehen, wie eine Anfrage aussieht, wenn Sie tcpdump auf dem Ping'ing-Host ausführen.) Beispielsweise erfasst tcpdump Pakete, bevor Firewall-Regeln angewendet werden. Es ist gut, es in beide Richtungen zu versuchen, wie Sie es mit einem einfachen Ping-Test getan haben ... obwohl es möglicherweise am einfachsten ist, eine solche Paketerfassung auf Linux-Seite zu erhalten.ping
immer noch sagtDestination Host Unreachable
. Protokolle auf dem Weg.Antworten:
Wenn alles richtig eingerichtet ist, sollten Sie problemlos pingen können.
Probieren Sie zunächst die empfohlenen Konfigurationen aus:
Wenn Sie nur untersuchen möchten, wie die Routen funktionieren, können Sie anstelle von HVM, wie Sie bereits erwähnt haben , ein paravirtualisiertes Setup (PV) vornehmen . Wenn Sie sich jedoch an HVM halten, stellen Sie sicher, dass die Treiber für Windows installiert sind. Dies alles wird ganz oben im Xen-Handbuch beschrieben . Außerdem wird erläutert, wie eine MAC-Adresse zugewiesen wird. Die MAC-Adresse in der Veröffentlichung zum Zeitpunkt des Schreibens ist ungültig. Dies ist manchmal für virtuelle Situationen in Ordnung, jedoch nicht für jede Konfiguration.
Wenn Sie Ihr xenbr0 auf dem Host einrichten , ersetzt die Bridge im Wesentlichen die eth0-Schnittstelle auf Debian-basierten Systemen. Es ist wahr, dass ( aus dem Xen-Handbuch ) eth0 optional ist. "Durch Weglassen des physischen Ethernet-Geräts kann ein isoliertes Netzwerk erstellt werden, das nur Gastdomänen enthält." Die Beispiele im Handbuch sowie Ihr Beitrag hier sind jedoch nicht so formuliert Weg. Auch für zukünftige Leser in einem virtuellen Client der Fedora-Familie sowie unter Windows finden Sie in der gesamten Dokumentation leicht abweichende Konfigurationsanforderungen. Dies klingt speziell nach Ihrem Problem, es sei denn, Sie werden durch eine Firewall, TCP-Wrapper oder etwas anderes blockiert, das im ursprünglichen Beitrag nicht erwähnt wurde.
Bestätigung
In Windows können Sie beispielsweise die Netzwerkeinrichtung überprüfen mit
ipconfig /all
.In den Xen-Beispielkonfigurationen von derselben Website, auf die wir beide bereits verwiesen haben, werden im Folgenden sowie andere Konfigurationen für den Host vorgeschlagen. Geben Sie beispielsweise alle folgenden Zeichen ein, ohne den ersten Teil zu überspringen.
Sie können dies mit
ifconfig
undroute
auf Ihrem dom0 und dom1 oder ähnlichen Tools auf dem Host bestätigen , wie im obigen Link erläutert, und sicherstellen, dass alles korrekt konfiguriert ist.Grundlegende Optimierungen
Wenn Sie sicherstellen möchten, dass weder das Internet (noch andere Teile eines Netzwerks im Allgemeinen) erreicht werden, als das physische Kabel natürlich vom Stromnetz getrennt zu halten, können Sie das Standard-Gateway auf 0.0.0.0 ändern und dann eine "Route" hinzufügen "(eine Box sollte in den meisten
Network Manager
GUIs im unteren Stil direkt darunter sein ), mit derselben Client-IP-Adresse und Subnetzmaske, aber dann mit der Adresse des Hosts als Gateway. In einigen GUIs gibt es sogar eine Box mit der Aufschrift "Diese Verbindungsroute nur für das lokale Netzwerk zulassen".Das Hinzufügen einer "Route" in Ihrem Windows-Client kann auch als Problemumgehung dienen, um Ihr ursprüngliches Problem zu lösen.
quelle
eth0
sein? Sollte ich nicht erwarten, dass die Maschine mit den inneren virtuellen Maschinen verbunden ist, auch wenn sie keine externe Konnektivität oder gar keine physische Verbindung hat?eth0
in meinem Setup. Es ist nurxenbr0
übervifX.0
Schnittstellen. Allerdings erwarte ich noch in der Lage zu Ping seinvifX.0
und so diexenbr0
über sie von den virtuelleneth
und umgekehrt, und da es offensichtlich nicht funktioniert, würde ich wissen , warum mag.(Kann nicht kommentieren, da dies 50 Wiederholungen erfordert)
Da die Pakete auf dem vif- und dem vif-Teil der Bridge ankommen, besteht der nächste Schritt darin, ebtables und iptables (iptables -L) zu überprüfen, insbesondere wenn / proc / sys / net / bridge / bridge-nf-call-iptables ist 1 und netfilter inspiziert daher Pakete auf der Brücke.
quelle