インターネットにアクセスするための2つのゲートウェイがあり、何とかロードバランシングをしたいと思います。これまでは機能しますが、一部の接続またはサービスでは永続ゲートウェイIPを使用する必要があるため、クライアントが接続された後はそれを変更しないでください。ターゲットゲートウェイ。 、現在の実装はラウンドロビンのように見えます。
これは私のアイプロットです。
...
...
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 Routeを使用してこれを実行しますか?
*ここにはアウトバウンドインターフェイスが1つしかありません(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
「ssh」という名前のルーティングテーブル200の名前を指定する。ブーツの間に保管されます。