加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 基于策略的路由

发布时间:2020-12-14 03:04:00 所属栏目:Linux 来源:网络整理
导读:我在 http://www.diegolima.org/wordpress/?p=36发现了关于负载平衡的非常好的文章.. 我无法实现它,因为我的要求与纯负载平衡略有不同. 我们有两个ISP连接.我已将这两台路由器分别连接到eth0(公共IP 121.XXX.XX.XXX)和eth1(192.168.129.XXX)上的Linux服务器,
我在 http://www.diegolima.org/wordpress/?p=36发现了关于负载平衡的非常好的文章..
我无法实现它,因为我的要求与纯负载平衡略有不同.

我们有两个ISP连接.我已将这两台路由器分别连接到eth0(公共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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读