競プロ雑記帳

Wi-Fiの設定がPublicのとき、WSL2上で一部の通信がうまくいかない


※注意: ここで紹介している解決方法は同じネットワーク上のユーザ全員を信頼できる必要があります。
茶店のような信頼できない環境では設定しないようにしてください。
何の設定をしているかわからない場合は、設定しない方がよいです。

WSL2でUbuntuを使っているのですが、apt update等がHash Sum Mismatchと出て、うまくいきませんでした。
また、VMWare等の仮想環境では問題が発生しなかったため、WSL特有の問題と考えられます。

理由を色々探しながら試しているうちに、
家だと成功して、大学のWi-Fiにつないでいるときにうまくいかないことがわかりました。
問題の原因としては、接続しているWi-Fiのプロパティでネットワーク プロファイルの種類がパブリックになっていることでした。

そこで、

  1. WSL2をシャットダウンする
  2. 設定>ネットワークとインターネット>Wi-Fi>既知のネットワークを管理 から現在使用しているネットワークを削除(削除前にプライベート設定にしておいた方がいいかも)
  3. もう一度接続して、プロファイルをプライベートにする

という手順で、Wi-Fiの設定を変更しました。

プライベートに変更して、PCを再起動するなどしてもうまくいかなかったのですが、上記の手順を踏むとうまくいきました。

学校や会社のWi-Fiを使っていて同じような症状になっている方の参考になれば幸いです。

公共のWi-Fiでプライベート設定にするべきではないので、パブリックのままうまくやる方法があれば、教えて頂けると助かります。

しばらく前はこんな問題なかったと思うんですが…
プロキシとかが関係あったりするんですかね…