Linux / WSL

WSL2 で外部にアクセスできない場合の対処方法

先日はじめてWSLを使用してみたのだが、以下のような現象になりWSLのUbuntuからインターネットアクセスができない状態になった。

現象

会社ではWSLのUbuntuからインターネットアクセスできるが、家からではインターネットにアクセスできない。
具体的には、ping が返ってこなかったり、apt update がエラーになる。

> ping google.com

いろいろ検索して、ありとあらゆる手段を施してみたのだがダメだった。
以下がその一覧

試したけどダメだったリスト

  • DNS の設定情報を変更
    /etc/resolv.conf の nameserver を 8.8.8.8 に変更
  • ホスト側のネットワーク設定をリセット
  • ホスト側のネットワークアダプタ再起動
  • WSLのUbuntu側のネットワーク設定変更

解決策

DNSトンネリングという方法で解決しました。

まず、以下のパスに .wslconfig というファイルを作成する。

C:\Users\{ユーザ名}\.wslconfig

上記ファイルに下記を記載する。

[external]
dnsTunneling=true

WSL再起動

wsl --shutdown

この方法は WSL 側から Windows で管理しているDNS情報をネットワークを使わずに取得する事ができるような仕組みになっているそうです。

ありがとう。

https://qiita.com/kkato233/items/1fc71bde5a6d94f1b982#%E8%A7%A3%E6%B1%BA%E6%96%B9%E6%B3%95wsl-ver-200-%E4%BB%A5%E9%99%8D%E3%81%AE%E5%AE%9F%E9%A8%93%E7%9A%84%E6%A9%9F%E8%83%BD

Leave a Reply

Your email address will not be published.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)