Linux のホストマシンで仮想マシンの Windows の VPN 接続を使用する

Screenshot from 2024-09-26 20-49-18

日本で中国のクライアントのサービスにアクセスするために、いろいろと比較した結果、最終的には梯子を買いました

しかし、この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 

Comments

添加新评论

注意:评论会以邮件形式发送给我

Comment Atom Feed