TCP 通信 - ホスト上の HyperV 仮想マシンのポートを開く

TCP 通信 - ホスト上の HyperV 仮想マシンのポートを開く

同じマシンでホストされている VM からハイパーバイザー ホストのポートに接続するために私が苦労した経緯を以下にまとめます。

  • Hyper-V マネージャーで設定します。

    • 仮想スイッチ設定
    • 内部
    • 「管理オペレーティング システムの仮想 LAN 識別を有効にする」
    • VLAN番号2
  • 仮想マシン(client-01)をセットアップする

    • ネットワークアダプタの設定
    • 「仮想LAN識別を有効にする」
    • VLAN番号2
  • ホスト desktop01 (ホスト) のアダプタに設定された IP4: 192.168.5.1 255.255.255.0

  • ホスト client-01 (vm) のアダプタに設定された IP4: 192.168.5.10 255.255.255.0

  • クライアントは、ホスト上で実行されている 'http://desktop01' ポート 80 に正常に移動できます (ホスト上で小さな Web サイトが実行されています)

  • クライアントからの 192.168.5.1 への Ping は正常です

  • ホストからの 192.168.5.10 への Ping は正常です

  • ホストのWindowsファイアウォールで受信に10000をOKとして追加しました

  • ホスト上で 10000 のリスナーを開きましたが、クライアントでは次のようになります:

PS C:\Users\user-01> test-netconnection -ComputerName 192.168.5.1 -Port 10000
WARNING: TCP connect to 192.168.5.1:10000 failed

ComputerName           : 192.168.5.1
RemoteAddress          : 192.168.5.1
RemotePort             : 10000
InterfaceAlias         : Ethernet
SourceAddress          : 192.168.5.10
PingSucceeded          : True
PingReplyDetails (RTT) : 0 ms
TcpTestSucceeded       : False

リスナーは私が書いた C# プログラムです。何か問題があると思われるかもしれませんが、PowerShell は同じマシンから問題なく接続を確立できます。つまり、ファイアウォールの問題のようですが、すでにそこにエントリを作成しており、ログ ファイルには何も記録されていません。何が原因でしょうか?

答え1

「VLAN 番号 2」ではなく「デフォルト スイッチ」に戻したところ、すべてが完璧に動作するようになりました。したがって、教訓としては、デフォルト スイッチを使用することです。

関連情報