0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

外部仮想スイッチでVPNに接続したら、GitHubに接続できなくなった

Posted at

概要

Hyper-Vの外部仮想スイッチを作成したところ、ホストOSとゲストOSの双方でGitHubに接続不能(タイムアウト)になったときの記録。

事象1: github.com に接続できない

外部仮想スイッチ 事象
あり https://github.com/ に接続不能(ERR_TIMED_OUTが発生)
なし https://github.com/ に接続成功

事象2: Microsoft Store からアプリを入手できない

外部仮想スイッチ 事象
あり アプリの検索・参照はできるが、入手ができない。
なし アプリの検索・参照・入手ができる

発生条件:条件(A)~(C)をすべて満たすと発生

  • (A) ゲストOSが、VPN接続を行っている。
  • (B) ゲストOSが、Hyper-V の外部仮想スイッチを使用している。
  • (C) 参照先が TLS1.3 を要求している。
    (Microsof Storeがアプリの入手に TLS1.3を要求しているかは不明)

原因: ルータのMTU < 外部仮想スイッチのMTU

【参考】VPN接続状態のWSL2内でGithubにPush/Pullをしても応答が返ってこなかった話
https://blog.adglobe.co.jp/entry/2024/07/31/100000

外部仮想スイッチの有無で TLS が変化12した為、外部仮想スイッチの TLS1.3 未対応が原因と推測したが、意外にもMTUが原因だった。

対策: 外部仮想スイッチのMTU < ルータのMTU

【参考】Windows環境でMTUの設定の方法
https://qiita.com/takish/items/f517080b3d1af478c90c

ルータのMTU が 1454 であったため、外部仮想スイッチのMTUを変更(1500 → 1400)した。3

  1. 「外部仮想スイッチあり」時のパケット
    TLS1.2で接続しようとしている。こちら側が 192.168.51.153、GitHub側が 20.27.177.113
    "Client Hello"のあとの"Server Hello"がない。(接続失敗)
    PacketWithExternalSwitch.png

  2. 「外部仮想スイッチなし」時のパケット
    TLS1.3で接続している。こちら側が 192.168.0.252、GitHub側が 20.27.177.113
    "Client Hello"のあと、"Server Hello"が返ってきている。(接続成功)
    PacketWithNoExternalSwitch.png

  3. 物理NIC の MTUが 1400 になっていたため、外部仮想スイッチのMTUも1400にした。
    数年前、外部接続不能に陥った時、MTU=1400 に変更することで解決したことを思い出した。
    恐るべし、MTU。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?