VPN経由でのみSSHトラフィックルーティング

VPN経由でのみSSHトラフィックルーティング

VPN接続を介してコンピュータのSSHサービスをルーティングしながら、他のすべてのデータがWANアドレスを通過することを許可できますか?これを達成するには、どのようなiptables魔法が必要ですか?

SSHデータ→VPN経由その他
すべてのデータ→デフォルトパス経由

ベストアンサー1

私の答えは次のとおりです。関連していますが、より複雑な質問への回答テストされていません。

このパッケージをインストールする必要がありますiproute2

/etc/iproute2/rt_tables行に追加

200 vpn-route

次に、VPNが初期化された後に呼び出されるスクリプトを作成します。

# set default gateway of vpn-route
ip route add default via $VPNGATEWAY dev $VPNINTERFACE table vpn-route
# use this for marked packages
ip rule add fwmark 0x1 table vpn-route
# mark outgoing ssh packages
iptables -t mangle -A OUTPUT -o $WANINTERFACE -p tcp --dport 22 -j MARK --set-mark 1
# rewrite source address
iptables -t nat -A POSTROUTING -o $VPNINTERFACE -j MASQUERADE

もちろん、$...変数を実際の値に置き換える必要があります。

PS:WANインターフェイスのIPが固定されている場合は、最後の行を次のように置き換えることができます。 iptables -A POSTROUTING -t nat -o $WANINTERFACE -p tcp --dport 22 -j SNAT --to $WANIP

おすすめ記事