
Hyper-V で VM が稼働している Windows Server 2022 を使用しています。VM は Ubuntu Linux マシンです。ローカル ネットワーク上のすべてのコンピューターに ping を実行できます。また、インターネットにもアクセスできます。しかし、ping または http を使用してホストにアクセスできないようです。ファイアウォールを完全にオフにしても機能しないため、ファイアウォールの問題ではないことは確かです。オンラインで見つけたものはすべて試しましたが、解決できないようです。
また、追加します。ホストやネットワーク上の他のマシンからVMにアクセスできます。PingやHTTPも同様です。
答え1
仮想スイッチを設定するときに、「プライベート「オプションですか? これは、ホスト マシンから VM と通信できない理由を説明する可能性があります。
この場合は、「内部" オプション。
必要に応じて、ここで追加情報を見つけることができます。
これが問題でない場合は、NAT 構成などを確認する前に、「統合サービス」が有効になっていることを確認してください。
https://learn.microsoft.com/en-us/answers/questions/470494/hyper-v-server-is-not-pinging
答え2
その場合は、ファイアウォールをチェックして、両端で ICMP が許可されていることを確認します。
Ubuntu ファイアウォール (UFW) 経由で ICMP/PING を許可する: https://www.kelvinism.com/2010/09/enable-icmp-through-ufw_461.html?m=1
Windows ファイアウォール経由で ICMP/PING を許可する: https://www.wintips.org/how-to-allow-ping-in-windows-firewall/
答え3
確かに、Windows Server 2022 Hyper-V ホストで実行されている Ubuntu Linux VM からローカル ネットワークとインターネット上のリソースに ping してアクセスできる状況は有望です。ただし、ping と HTTP の両方を使用してホストにアクセスしようとしたときに問題が発生する場合は、調査が必要です。このシナリオにはいくつかの要因が関係している可能性があります。ここでは、問題のトラブルシューティングと特定に役立つコード スニペットを示します。
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.")
この Python スクリプトを使用すると、ホストの IP アドレスを ping して、ホストの到達可能性を確認できます。このスクリプトを「ping_host.py」として保存し、Ubuntu Linux VM でコマンド python ping_host.py を使用して実行すると、ホストが到達可能かどうかを判断できます。成功した場合は、「ホストに到達できます」というメッセージが表示されます。失敗した場合は、「ホストに到達できません」というメッセージが表示されます。
コードはホストのアクセシビリティを評価するのに役立ちますが、問題の原因はいくつか考えられます。これには、ネットワーク アダプターの構成ミス、IP 設定の誤り、ファイアウォール ルール、さらには Hyper-V ネットワークの異常などが含まれます。これらに対処するには、VM のネットワーク アダプター設定で管理オペレーティング システムとの共有が許可されていることを確認します。VM の IP 構成がホストのサブネットと一致していることを確認します。ホストのファイアウォール ルールをチェックして、VM からの ICMP (ping) および HTTP トラフィックが許可されていることを確認します。
これらすべての側面をカバーしても問題が解決しない場合は、Hyper-V サービスと VM の両方を再起動することを検討してください。さらに、VM 上の Hyper-V 統合サービスを最新の状態に保ち、追加の対策として IPv6 を無効にすることをお勧めします。