VPN 接続を使用しないように特定の URL をホワイトリスト / ブラックリストに登録するにはどうすればよいでしょうか?

VPN 接続を使用しないように特定の URL をホワイトリスト / ブラックリストに登録するにはどうすればよいでしょうか?

補足: OpenVPN サーバーは確かにスプリット トンネリング用に設定されているのですが、クライアントは独自のゲートウェイをプッシュしています。

redirect-gateway def1 bypass-dhcp bypass-dns

これは、外部からアクセスできない内部サービスにアクセスするための回避策として行われました。より適切な質問は、「すべてのトラフィックをVPN経由でルーティングするゲートウェイをプッシュせずにVPN内部サービスにアクセスする適切な方法は何ですか?」です。ただし、これはむしろそれ自体は別の質問


私は自宅オフィスにいますが、ネットワーク マネージャーを通じて安定した VPN 接続を設定しましたが、速度が非常に制限されています。自宅では 1 GBit の接続がありますが、VPN 接続では現在 10 MBit しか提供されていません。

一部のサービスは VPN 接続を経由する必要がありますが、ほとんどのトラフィックは VPN を問題なくバイパスできます。VPN は速度を低下させるだけだからです。(ここでは特に、公式の Docker Hub や npm レジストリからイメージをダウンロードするなど、大量のデータを使用するパブリック サービスに注目しています。ただし、設定の便宜上、fast.com のようなサービスを取り上げます。)

特定の Web サイトをホワイトリストに登録して VPN 接続を利用したり、他のサイトをブラックリストに登録して VPN 接続を利用しないようにするにはどうすればよいですか?

答え1

VPN を設定した人と話し合ってください。

これは一般にスプリットルーティングと呼ばれ、VPNトンネルは企業ネットワーク内のリソースに使用され、デフォルトゲートウェイは残りのリソースに使用されます。これは通常、サービスによるフィルタリングよりも簡単です。通常、企業はいくつかの分割ルーティングを簡単に提供できる、ネットワーク上の内部プランの一種です。

組織内で許可されているかどうかを確認する必要があります。たとえば、トラフィックでデータ損失防止を行う必要があるため、すべての組織が分割ルーティングを許可しているわけではありません。

答え2

試すことができるいくつかの代替案を以下に示します。


  • デフォルトゲートウェイの変更を省略:

設定ディレクティブで「redirect-gateway」オプションをredirect-privateに変更する


  • VPN 経由のトラフィックのみを VPN 経由でルーティングします
    (サーバーがクライアントに明示的なルートをプッシュする場合に機能します)

VPN設定の下にあるチェックボックスをオンにします -> IPV4 ->
「この接続はネットワーク上のリソースにのみ使用します」
明示的なルートをプッシュすると、そのトラフィックのみが VPN を通過します。


  • 非VPNトラフィックをプッシュするトンネルの:

VPN に接続し、ターミナルで次の操作を実行します。

host www.sl.se # host you want outside tunnel
194.68.78.65 # the ip of the host above
sudo ip route add 194.68.78.65 dev eth0 # route traffic outside VPN 

これにより、トラフィックはVPN外のwww.sl.seにルーティングされます。


  • プッシュVPNトラフィック内部ホストごとのトンネル

VPN に接続し、ターミナルで次の操作を実行します。

host your-vpn-onlyhost.com # host you want inside of tunnel
 1.1.1.1.1 # the ip of the host above
sudo ip route add 1.1.1.1 dev tun0 # route traffic inside VPN

すべての例では、VPN インターフェイス名が tun0 であり、ネットワーク カード名が eth0 であると想定しています。また、DNS 名はインターネット上で解決可能であると想定しています。

答え3

あなたが望むのは、スプリット トンネリングと呼ばれるものです。

何ができるかは、クライアント マシンのユーザーの種類によって異なります。sudo 権限を持たない場合は、通常はシステム管理者などのユーザーがこれを修正する必要があります。

あなたがsudoerである場合(そして、このような変更を組織が許可していると仮定すると、これはあなたが調べる責任があります)、次のことができます。このガイド

ノート:

  1. 16.04 から 18.04 の間にいくつかの変更が行われたため、古いガイドは完全ではない可能性があります。

  2. 18.04 と 19.10 の間にガイドが機能しなくなるような変更があったかどうかはわかりません。

関連している:

OpenVPN を 1 つのアプリケーション/サービスにのみ使用する

https://serverfault.com/questions/792118/openvpn-how-to-stop-public-traffic-routing-through-vpn-server

https://dltj.org/article/openvpn-split-routing/(2010年から)

関連情報