2 つの OpenVPN クライアントを実行しているため、tun
2 つのインターフェイスが設定されます。
各tun
インターフェイスには異なるサブネットがあります。インターフェイスの1つにtun1
デフォルトルートがあり、ほとんどのトラフィックがそのルートを通過するとします。
ただし、私のtun0
インターフェイスにはデフォルトルートがないため、そのサブネットに送信されたパケットのみがこのインターフェイスを介してルーティングされます。
問題は、tun0
=>を通過する必要があるパケットが実際に=> =>をeth0
通過していることです。これは基本デバイスとして使用されるため意味があります。tun0
tun1
eth0
tun1
プライベートネットワークのパケットが両方の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ではなくデフォルトのルートを介して送信されます。