Linux のホストマシンで仮想マシンの Windows の VPN 接続を使用する
日本で中国のクライアントのサービスにアクセスするために、いろいろと比較した結果、最終的には梯子を買いました。
しかし、このVPNはWindowsのクライアントしか提供されておらず、Linuxで使うのはかなり手間がかかります。
この記事「ホストマシンで仮想マシンのVPN接続を使う方法」 に従って設定しました。
方法としては、まず仮想マシンに二つのネットワークカードを設定します。一つはNAT、もう一つはHost-Onlyです。Host-OnlyはVirtualBoxのネットワークマネージャーで事前に設定しておきます。
その後、ホストオンリーネットワークにVPN接続を共有し、仮想マシンのVPNをvboxnet0のイーサネット 2(192.168.56.2)インターフェースを通してホストマシンに共有します。
利便性を高めるために、次のスクリプトを書き、一連のアドレスを定義しました。実行前に仮想マシンをpingし、仮想マシンが起動していない場合はルーティングをクリアします。
もし仮想マシンが起動していれば、ルートを定義または更新します。
このように、仮想マシンがバックグラウンドで起動しているだけで、ホストマシンはシームレスにVPN経由で中国にアクセスできます。
注意:Windows 11仮想マシンでIPフォワーディングを有効にする必要があります
Windows 11が仮想マシンであるため、IPフォワーディングを有効にして、トラフィックが仮想マシンのVPNを通してホストマシンに転送されるようにする必要があります。
Win + Rを押し、regeditと入力してレジストリエディタを開きます。 以下のパスに移動します:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
IPEnableRouter
キーを見つけます(存在しない場合は手動で作成)、その値を 1 に設定します。
変更を有効にするために、Windows 11 仮想マシンを再起動します。
Debian ホスト上で、以下のコマンドを実行し、すべての対象ネットワークが仮想マシンの 192.168.56.2 を経由してルーティングされるようにします:
sudo ip route add 39.99.177.215 via 192.168.56.2 dev vboxnet0 # 添加路由
このように表示されれば、ルートが正常に追加されたことを示します。
ip route get 39.99.177.215
39.99.177.215 via 192.168.56.2 dev vboxnet0 src 192.168.56.1 uid 1000
- 前の記事: 簡単なモダンな VIM の設定
- 次の記事: Windows 11 でタスクバーを縮小する方法