VPNを使用する場合のネットワークインターフェイスのルーティング

VPNを使用する場合のネットワークインターフェイスのルーティング

VPNに接続したいのですが、すべてのトラフィックをVPN経由で送信するわけではありません。

VPNがすべてのトラフィックをリダイレクトするなど、私のネットワークを設定する方法は次のとおりです。これはデフォルト設定で、VPN設定は変更されません。

$ ip rule show
0:      from all lookup local
32766:  from all lookup main
32767:  from all lookup default

$ ip link show        
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether bc:5f:f4:0e:04:bb brd ff:ff:ff:ff:ff:ff
3: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 100
    link/none

$ ip route list
0.0.0.0/1 via 10.35.0.98 dev tun0
default via 192.168.1.1 dev enp4s0
10.35.0.1 via 10.35.0.98 dev tun0
10.35.0.98 dev tun0 proto kernel scope link src 10.35.0.97
128.0.0.0/1 via 10.35.0.98 dev tun0
[VPN PUBLIC IP] via 192.168.1.1 dev enp4s0
192.168.1.0/24 dev enp4s0 proto kernel scope link src 192.168.1.8

すべてのトラフィックをリダイレクトしないようにVPNを設定すると、ルーティングが変更されます。

$ ip route list
default via 192.168.1.1 dev enp4s0
10.35.0.1 via 10.35.0.98 dev tun0
10.35.0.98 dev tun0 proto kernel scope link src 10.35.0.97
192.168.1.0/24 dev enp4s0 

VPN がすべてのトラフィックをリダイレクトしないように設定されている場合、 tun0 インターフェイスを使用しても機能しません。このカールコマンドは中断されます。

curl google.com --interface tun0

tun0 インターフェイスを直接使用しようとしても、VPN を介してトラフィックを送信できるようにネットワークを設定するにはどうすればよいですか?

ルーティングを調査しましたが、特定のネットワークインターフェイスへのトラフィックをルーティングする方法がわかりません。私が読んだすべては、ソース/宛先アドレスルーティングに関するものでした。

ベストアンサー1

単に「tun0インターフェイスを使用」することはできません。これはIPスタックが機能する方法ではありません。特定のアプリケーションに特定のインターフェイスに「バインド」するように指示できますが、アプリケーションはまだルーティングやゲートウェイを含むネットワークスタックの残りの部分を正しく設定する必要があるため、アウトバウンド接続間で自由に「切り替え」ることができます。ありません。 。

したがって、VPNを介してルーティングしたいトラフィックとVPNを使用しないトラフィックを送信元または宛先アドレスに基づいて分類できます。その後、通常のルーティングまたはポリシールーティング(ソースアドレスによって分類されている場合)に分割できます。

または、VPNを使用したいアプリがいくつかあり、残りは使用しないでください。この場合ネットワークネームスペース、VPNエンドポイントを適切なネームスペースに配置し、そのネームスペースでVPNを使用する必要があるアプリケーションを起動します。

VPNの使用と非VPNの使用を区別する他の基準がある場合は、質問を修正して具体的に作成してください。

おすすめ記事