OpenVPN の複数の構成

OpenVPN の複数の構成

すべてのトラフィックを VPN 経由でルーティングするように OpenVPN を設定しています。すべてのトラフィックをルーティングするか、クライアントごとにそのネットワーク宛てのトラフィックのみをルーティングするかを切り替える方法があるかどうか知りたいです。

たとえば、信頼できないネットワーク上にいる場合は、すべてのトラフィックを VPN 経由でルーティングする必要があります。ただし、後で信頼できるネットワーク上にいる場合は、マシンへの SSH アクセスのみが必要になり、不必要に遅くなるためすべてのトラフィックをルーティングしたくない場合があります。

これは可能ですか?

答え1

サーバーがデフォルトルートを公開している場合は、それを無視することができます。例えば、

route delete default tun0

同様に、VPN 接続前のデフォルト ルートを復元できます。

一方、サーバーがそのようなルートを公開しない場合は、すべてのトラフィックを VPN 経由でルーティングすることを選択できますが、この場合、(a) VPN サーバーがこれに対応できる機能を備えており、トラフィックをインターネットに NAT/ルーティングして応答を処理する方法を知っていること、(b) 複数のデフォルト ルートがなく、VPN エンドポイントに到達できることを保証する必要があります。

つまり、あなたがクライアントをコントロールしていると仮定すると、とりわけルーティングテーブルを自由に設定できます。ルーティング少ないサーバーへのルーティングは、思ったよりも簡単です。もっと必要以上に協力が必要か、少なくとも能力が必要ですが、どちらも可能です。

答え2

@MadHatter が提案したルートを削除するというアイデアに基づいて、基本的に次のことを実行するエイリアスを作成しました。

sudo openvpn --config /path/to/config --route-nopull
sudo ip route add x.x.x.x/24 dev tun0

x.x.x.x/24VPN 経由で接続している内部ネットワークのパスはどこにありますか。

これで、内部ネットワークのトラフィックのみを VPN で処理したい場合にこのエイリアスを使用し、--route-nopullすべてのトラフィックを VPN 経由でルーティングしたい場合は、エイリアスなしの構成を使用できるようになりました。

関連情報