gashirar's blog

ウイスキーがすき/美味しいものがすき/k8sがすき

VPN接続したWindows上のVMからインターネットに接続したい

テレワークではWindows端末からVPN接続して諸々作業をしています。
Windows上のVMUbuntu)から外に出られないのは知っていたものの、今日はどうしてもLinux上からコマンドをゴニョゴニョしたかったため調べてみました。

最近はWindows Subsystem for Linuxなどでそういう知見が集まっているのか、下記がヒット。

docs.microsoft.com

WindowsVPN に接続した後、bash のネットワーク接続が切断される場合は、bash 内からこの回避策を試してください。 この回避策により、/etc/resolv.conf を使用して DNS 解決を手動で上書きできます。
 1. ipconfig.exe /allを実行して、VPNDNS サーバーをメモします
 2. sudo cp /etc/resolv.conf /etc/resolv.conf.newで、既存の`resolv.conf のコピーを作成します
 3. sudo unlink /etc/resolv.conf で、現在の resolv.conf のリンクを解除します
 4. sudo mv /etc/resolv.conf.new /etc/resolv.conf
 5. /etc/resolv.conf を開きます。そして、
  a. ファイルから最初の行を削除します。この行の内容は "# This file was automatically generated by WSL. To stop automatic generation of this file, remove this line." です。
  b. DNS サーバーの一覧の最初のエントリとして、上記 (1) の DNS エントリ を追加します。
  c. ファイを閉じます。
VPN を切断したら、変更を /etc/resolv.conf に戻す必要があります。 これを行うには、次の手順を実行します。
 1. cd /etc
 2. sudo mv resolv.conf resolv.conf.new
 3. sudo ln -s ../run/resolvconf/resolv.conf resolv.conf

内容的にはWSL向けですが、VM上のUbuntuでも問題なく利用できます。