http://www.diegolima.org/wordpress/?p=36 ..で、負荷分散に関する非常に優れた記事を見つけました。要件が純粋な負荷分散とは少し異なるため、実装できませんでした。 。
2つのISP接続があります。これらのルーターの両方をそれぞれeth0(public ip 121.XXX.XX.XXX)とeth1(192.168.129.XXX)のLinuxサーバーに接続し、内部ネットワークはeth2(192.168.1.XXX)にあります。
FTPはeth1インターフェースを使用し、Squidはeth0を使用し、Sendmailはeth0を使用し、一部のユーザーはeth0を使用し、他のユーザーはeth1を使用することにしました。
誰かがそれが可能かどうかを知ることができます、どうすればiptablesとiproute2を使用してこれを達成できますか?ステップバイステップのヘルプは高く評価されています。前もって感謝します。
IPROUTE2を構成する
echo "4 sendmail" >> /etc/iproute2/rt_tables
ip route add 121.XXX.XX.XXX/MASK dev eth0 src 121.XXX.XX.XXX table sendmail
ip route add 192.168.1.XXX/24 dev eth2 table sendmail
ip route add default via GATEWAY1 table sendmail
ip ru add from 121.XXX.XX.XXX lookup sendmail
ip ru add fwmark 2 table sendmail
ip route flush cache
IPTABLESを構成する
iptables -t mangle -I OUTPUT -p tcp --dport 25 -j MARK --set-mark 0x2
iptables -t mangle -I PREROUTING -i eth2 -p tcp --dport 25 -j MARK --set-mark 0x2
iptables -t nat -I POSTROUTING -s 192.168.1.XXX/24 -o eth0 -j SNAT --to-source 121.XXX.XX.XXX
私はshorewallを使って同じようなことをしました。
すべては、パケットのマーキングとフィルタリング、およびそれらへのいくつかのルールの適用に基づいています。すべてはlarchowtで説明する必要があります: http://lartc.org/howto/index.html プロセスは次のようになります(私は何かを読み直さなければなりません、私は数ヶ月前にそれをしました)::
パケットは内部ネットから来ます
netfilterはトラフィックにいくつかのマークを適用します
マークに基づくルールは、適切なデバイスを介してパケットをルーティングします