私は特定のソースからSRCNAT(具体的にMASQUERADE)パケットを転送するためにiptablesを使用しています。発信パケット(このコンピュータで開始)を転送されたパケット(別のデフォルトパス)とは異なる方法でルーティングしたいと思います。どうすればいいですか?
ベストアンサー1
1つの方法は、iptablesにトラフィックを表示し、ポリシールーティングを使用してアウトバウンドパスを一致させることです。
あなたが持っていると仮定ゲートウェイ1そしてゲートウェイ2同じLAN上...
ip route flush table 3
ip route add table 3 <lan net>
ip route add default via <gateway1>
ip route flush table 4
ip route add table 4 <lan net>
ip route add default via <gateway2>
iptables にトラフィックを表示します。
iptables -t mangle -A PREROUTING -s 10.0.0.0/24 -j MARK --set-mark 3
iptables -t mangle -A PREROUTING -s 10.1.0.0/24 -j MARK --set-mark 4
送信元アドレス、宛先アドレス、ポートなど、必要なものを一致させることができます。
ダイナミック ゲートウェイ IP に依存せずに iptables からソース IP を明示的に書き換えるので、MASQUERADE の代わりに SNAT を使用できます。バラよりSNATとMASQUERADEの違い