openvpn を使用して、2 つの tun+ デバイス間のトラフィックを分離します。

openvpn を使用して、2 つの tun+ デバイス間のトラフィックを分離します。

2 つの OpenVPN クライアントを実行しているため、tun2 つのインターフェイスが設定されます。

tunインターフェイスには異なるサブネットがあります。インターフェイスの1つにtun1デフォルトルートがあり、ほとんどのトラフィックがそのルートを通過するとします。

ただし、私のtun0インターフェイスにはデフォルトルートがないため、そのサブネットに送信されたパケットのみがこのインターフェイスを介してルーティングされます。

問題は、tun0=>を通過する必要があるパケットが実際に=> =>をeth0通過していることです。これは基本デバイスとして使用されるため意味があります。tun0tun1eth0tun1

プライベートネットワークのパケットが両方のVPNを介してルーティングされるのを防ぎ、VPNの1つだけを介してルーティングされるようにするにはどうすればよいですか。

修正する:

これは私の現在のルーティングテーブルです。

0.0.0.0/1 via 10.4.102.81 dev tun1 
default via 192.168.10.1 dev eth0  proto static 
10.4.0.1 via 10.4.102.81 dev tun1 
10.4.102.81 dev tun1  proto kernel  scope link  src 10.4.102.82 
10.176.128.0/18 via 172.29.2.77 dev tun0 
10.177.0.0/18 via 172.29.2.77 dev tun0 
10.177.128.0/18 via 172.29.2.77 dev tun0 
10.178.0.0/16 via 172.29.2.77 dev tun0 
10.179.0.0/16 via 172.29.2.77 dev tun0 
10.180.0.0/16 via 172.29.2.77 dev tun0 
10.181.0.0/16 via 172.29.2.77 dev tun0 
10.183.0.0/16 via 172.29.2.77 dev tun0 
46.165.208.65 via 192.168.10.1 dev eth0 
128.0.0.0/1 via 10.4.102.81 dev tun1 
172.29.0.0/22 via 172.29.2.77 dev tun0 
172.29.2.77 dev tun0  proto kernel  scope link  src 172.29.2.78 
172.31.0.0/22 via 172.29.2.77 dev tun0 
192.168.10.0/24 dev eth0  proto kernel  scope link  src 192.168.10.76  metric 1 

答え1

リモートVPNサーバー(tun0's)へのパスを追加する必要があります。

ip add route $ip_of_the_vpn_server via 192.168.10.1 dev eth0

またはより一般的に:

ip add route $(ip route get $ip_of_the_vpn_server | head -n1)

VPNを始める前に。

これにより、このVPNサーバーに送信されるすべてのパケットは、VPNではなくデフォルトのルートを介して送信されます。

関連情報