kledgeb Ubuntuの使い方や日本語化、アプリの使い方を紹介しています。 Ubuntuの最新情報も紹介しています。

VPN接続時、Bashからネットワークにアクセスできなくなる時は

「Windows」でVPNに接続した後、「Bash(WSL上のLinuxディストーション)」からネットワークにアクセスできなくなる問題があります。


この問題に対処するには、Linuxディストーション側でDNSサーバーの指定を行います。
具体的には「/etc/resolv.conf 」ファイルを編集します。
またこの作業は「Bash」内で行います。

1.DNSサーバーを調べる

以下のコマンドを実行し、VPN接続を行っているネットワークインターフェースの情報から、現在のDNSサーバーを調べます。

ipconfig.exe /all


DNSサーバーのアドレスをメモしておきます。

2.resolv.confのコピー

以下のコマンドを実行し、編集元とする「/etc/resolv.conf 」をコピーします。

sudo cp /etc/resolv.conf /etc/resolv.conf.new


3.resolv.confの削除

以下のコマンドを実行し、「/etc/resolv.conf(シンボリックリンク)」を削除します。

sudo unlink /etc/resolv.conf


4.resolv.confの復元

以下のコマンドを実行し、「2.」でコピーした「/etc/resolv.conf.new」ファイルのファイル名を「/etc/resolv.conf」に変更します。

sudo mv /etc/resolv.conf.new /etc/resolv.conf


5.resolv.confの編集

以下のコマンドを実行し、テキストエディターで「/etc/resolv.conf」を編集します。

sudo nano /etc/resolv.conf


ここでは例として「nano」を利用しましたが、「vim」等好きなテキストエディターを利用してください。

6.resolv.confの編集内容

最初の行にある「# This file was automatically generated by WSL. To stop automatic generation of this file, remove this line.」コメントを削除し、「1.」で調べたDNSサーバーのアドレスを以下のように記述します。

nameserver DNSサーバーのアドレス

例えば「1.」で調べたDNSサーバーのアドレスが、「192.168.56.10」だった場合、以下のように記述します。


一番上の行に入力してください。

元に戻すには

VPN接続を終了した後など上記の編集を元に戻すには、以下の手順を実行してください。

1.作業ディレクトリーの移動

以下のコマンドを実行し、作業ディレクトリーを「/etc」に変更します。

cd /etc


2.resolv.confのファイル名変更

以下のコマンドを実行し、編集した「resolv.conf」のファイル名を変更します。

sudo mv resolv.conf resolv.conf.new


3.シンボリックリンクの作成

以下のコマンドを実行し、オリジナルの「resolv.conf」を指すシンボリックリンクを作成します。

sudo ln -s ../run/resolvconf/resolv.conf resolv.conf



関連コンテンツ
同一カテゴリーの記事
コメント
オプション