Linux 使用 ip route , ip rule , iptables 配置策略路由
公司内网要求192.168.0.100以内的使用 10.0.0.1 网关上网(电信),其他IP使用 20.0.0.1 (网通)上网。
首先要在网关服务器上添加一个默认路由,当然这个指向是绝大多数的IP的出口网关。
ip route add default gw 20.0.0.1
之后通过 ip route 添加一个路由表
ip route add table 3 via 10.0.0.1 dev ethX (ethx是10.0.0.1所在的网卡,3 是路由表的编号)
之后添加 ip rule 规则
ip rule add fwmark 3 table 3 (fwmark 3是标记,table 3 是路由表3 上边。 意思就是凡事标记了 3 的数据使用table3 路由表)
之后使用iptables给相应的数据打上标记
iptables -A PREROUTING -t mangle -i eth0 -s 192.168.0.1 -192.168.0.100 -j MARK --set-mark 3
因为mangle的处理是优先于 nat 和fiter表的,所以相依数据包到达之后先打上标记,之后在通过ip rule规则,对应的数据包使用相应的路由表进行路由,最后读取路由表信息,将数据包送出网关。
相关推荐
xue0zhiqiang 2013-11-04
Charliewolf 2020-06-18
AloneVivian 2020-06-01
ustbfym 2020-05-04
zhongcanw 2020-06-07
ChinaGuanq 2020-04-27
cuixingwudi 2020-02-01
chwzmx 2020-01-31
citic 2020-01-31
herogood 2019-12-25
putaochengshu 2011-02-12
farwang 2008-04-22
farwang 2010-04-29
Darklovy 2019-10-24
caifengguo 2019-02-17
playlinuxxx 2017-06-08
Limitless 2012-08-13
amethystqi 2012-01-13