特定のハードウェアインターフェイスを介してすべてのVPNトラフィックをルーティングする方法は?

特定のハードウェアインターフェイスを介してすべてのVPNトラフィックをルーティングする方法は?

2つのethインターフェイスと1つのwlanインターフェイスを持つコンピュータがあります。 VPN(openvpn)にも接続されており、tun0インターフェースも持っています。これで、すべてのVPNトラフィックがイーサネットではなくWLANインターフェイスを使用して送信されていることを確認したいと思います。デフォルトでは、実行が示すように、eth1を介して送信されますiftop。私のルーティングテーブルは次のとおりです。

$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         Teltonika.lan   0.0.0.0         UG    100    0        0 eth1
default         192.168.222.1   0.0.0.0         UG    600    0        0 wlan0
link-local      *               255.255.0.0     U     1000   0        0 eth0
172.89.0.0      *               255.255.255.0   U     0      0        0 tun0
192.0.2.1       192.168.222.1   255.255.255.255 UGH   600    0        0 wlan0
192.168.0.0     *               255.255.0.0     U     100    0        0 eth1
192.168.3.0     *               255.255.255.0   U     100    0        0 eth0
192.168.222.0   *               255.255.255.0   U     600    0        0 wlan0

答え1

ip ruleLinuxでは、コマンドを使用してルーティングルールを調整できますip route。後者のコマンドは、routeこのコマンドと同等の上位レベルのコマンドです。

あなたの場合は、wlan0インターフェイスのデフォルトゲートウェイが存在する唯一の(または優先)デフォルトゲートウェイである別のルーティングテーブルを使用してから、そのテーブルからのすべての着信トラフィックを指定するtun0ルーティングルールを設定することで、必要な動作を取得できます。インターフェイスこの別のルーティングテーブルが使用されます。

たとえば、次の2つのコマンドを使用して取得できます。

ip route add default via 192.168.222.1 table 100  # <-- 100 is an arbitrary number for the separate routing table
ip rule add iif tun0 table 100

これを消去するには、次のようにします。

ip rule del iif tun0 table 100
ip route flush table 100

VPNを設定したら、リアルタイムでコマンドをテストし、すべてが期待どおりに機能していることを確認できます。

openvpnその後、必要に応じてこれらのコマンド(または全体の設定に最適な同等のコマンド)を実行できます。これを行う最も簡単な方法は、これらのコマンドを(別々に)2つのスクリプトに配置し、OpenVPNとroute-upフックroute-pre-downを介して呼び出すことです。

openvpn--route-up script-that-adjusts-routing.sh実際には、OpenVPNの使用方法に応じて、コマンドラインで指定された--route-pre-down script-that-undoes-routing.sh(そして可能であれば)実行するか、これらの設定をトンネルの--script-security 2OpenVPNファイルに追加する必要があります。.conf

route-upすでにスクリプトがある場合は、route-pre-down既存のスクリプトに調整コマンドを追加する必要があり、そのスクリプトの機能によっては追加の注意が必要になる場合があります。

関連情報