
Ich habe einen Windows Server 2022, auf dem eine VM auf Hyper-V läuft. Die VM ist eine Ubuntu-Linux-Maschine. Ich kann alle Computer im lokalen Netzwerk anpingen und auf das Internet zugreifen. Aber ich kann anscheinend nicht per Ping oder http auf den Host zugreifen. Ich bin sicher, dass es kein Firewall-Problem ist, denn selbst nach vollständigem Ausschalten der Firewall funktioniert es nicht. Ich habe alles versucht, was ich online gefunden habe, aber ich kann das Problem anscheinend nicht lösen.
Auch hinzuzufügen. Ich kann bereits vom Host und anderen Maschinen im Netzwerk auf die VM zugreifen. Ping oder HTTP gleichermaßen
Antwort1
Haben Sie beim Einrichten Ihres virtuellen Switches die Option „Privat" Option? Dies könnte möglicherweise erklären, warum Sie vom Host-Computer aus nicht mit der VM kommunizieren können.
Wenn dies der Fall ist, wählen Sie die Option "Intern" Möglichkeit.
Bei Bedarf können Sie hier weitere Informationen finden.
Wenn dies nicht das Problem ist, würde ich bestätigen, dass „Integrierte Dienste“ aktiviert ist, bevor ich Ihre NAT-Konfiguration usw. überprüfe.
https://learn.microsoft.com/en-us/answers/questions/470494/hyper-v-server-is-not-ping
Antwort2
In diesem Fall würde ich die Firewall überprüfen, um sicherzustellen, dass ICMP an beiden Enden zugelassen ist.
ICMP/PING über die Ubuntu-Firewall (UFW) zulassen: https://www.kelvinism.com/2010/09/enable-icmp-through-ufw_461.html?m=1
ICMP/PING über die Windows-Firewall zulassen: https://www.wintips.org/how-to-allow-ping-in-windows-firewall/
Antwort3
Sicherlich ist Ihre Situation, von Ihrer Ubuntu Linux-VM, die auf einem Windows Server 2022 Hyper-V-Host läuft, aus auf Ressourcen im lokalen Netzwerk und im Internet zugreifen zu können, vielversprechend. Wenn jedoch beim Versuch, sowohl per Ping als auch per HTTP auf den Host zuzugreifen, Probleme auftreten, sind einige Untersuchungen erforderlich. Zu diesem Szenario können mehrere Faktoren beitragen. Hier ist ein Codeausschnitt, der Ihnen bei der Fehlerbehebung und Eingrenzung des Problems hilft:
import subprocess
def ping_host(host):
"""Pings the host and returns True if the host is reachable, False otherwise."""
ping_command = ["ping", "-c", "1", host]
ping_process = subprocess.Popen(ping_command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
ping_output, ping_error = ping_process.communicate()
ping_process wait()
if ping_process.returncode == 0:
return True
else:
return False
if __name__ == "__main__":
host = "192.168.1.100" # Replace this with the IP address of your host
if ping_host(host):
print("The host is reachable.")
else:
print("The host is not reachable.")
Mit diesem Python-Skript können Sie die Erreichbarkeit Ihres Hosts prüfen, indem Sie seine IP-Adresse anpingen. Indem Sie dieses Skript beispielsweise als „ping_host.py“ speichern und es auf Ihrer Ubuntu Linux-VM mit dem Befehl python ping_host.py ausführen, können Sie feststellen, ob der Host erreichbar ist. Bei erfolgreichem Abschluss wird die Meldung „Der Host ist erreichbar“ angezeigt. Andernfalls wird „Der Host ist nicht erreichbar“ angezeigt.
Während der Code dabei hilft, die Erreichbarkeit des Hosts zu beurteilen, können mehrere mögliche Gründe das Problem erklären. Dazu gehören Fehlkonfigurationen des Netzwerkadapters, falsche IP-Einstellungen, Firewall-Regeln oder sogar Hyper-V-Netzwerkanomalien. Um diese zu beheben, stellen Sie sicher, dass die Netzwerkadaptereinstellungen der VM die gemeinsame Nutzung mit dem Verwaltungsbetriebssystem zulassen. Überprüfen Sie, ob die IP-Konfiguration der VM mit dem Subnetz des Hosts übereinstimmt. Überprüfen Sie die Firewall-Regeln des Hosts, um sicherzustellen, dass sie ICMP- (Ping) und HTTP-Verkehr von der VM zulassen.
Wenn Sie alle diese Aspekte berücksichtigt haben und das Problem weiterhin besteht, sollten Sie sowohl den Hyper-V-Dienst als auch die VM neu starten. Darüber hinaus ist es ratsam, die Hyper-V-Integrationsdienste auf der VM auf dem neuesten Stand zu halten und IPv6 als zusätzliche Maßnahme zu deaktivieren.