インターネットにアクセスするためのゲートウェイが2つあります。これまでのところ、負荷分散を行いたいのですが、一部の接続またはサービスでは永続的なゲートウェイIPを使用する必要があるため、クライアントが宛先に接続した後はゲートウェイを変更しないでください。私の現在の実装は、ラウンドロビンまたはそれが何であれのようです。
これは私のiprouteです
...
...
default
nexthop via 192.168.1.1 dev eth0 weight 1
nexthop via 192.168.1.2 dev eth0 weight 1
クライアントが使用するゲートウェイは、たとえば送信元ポートを使用して事前に決定されています。送信元ポートが偶数の場合はgw.1を使用し、奇数はgw.1を経由します。ipを使用して修正できますか?ルート?
*ここではeth0という1つのアウトバウンドインターフェイスしかないことに注意してください。
マーキングパケットでポリシールーティングを使用します。構成の形式がわかりませんが、ディストリビューションで確認する必要があります。
コマンドラインでは、次のようになります(テストされていませんが、機能するはずです)
iptables -A PREROUTING -t mangle -p tcp --dport 22 --set-mark 0x1 -j CONNMARK
echo "200 ssh" >> /etc/iproute2/rt_tables
ip rule add fwmark 1 table ssh
ip route add default dev eth0 via 192.168.1.2 table ssh
編集:行
echo "200 ssh" >> /etc/iproute2/rt_tables
ルーティングテーブル200に「ssh」という名前を付けます。ブーツ間で保存されます。