本文共 1132 字,大约阅读时间需要 3 分钟。
网络环境
1、一台服务器中有两个网络出口,出口1为电信;出口2为联通;出口3位移动,三个网络出口通过p55p1出网只是vlan不同。默认网关在移动2、内网出口为p55p2出网网络需求内网的所有80流量和443流量全部走联通口,其中内网源地址中的1.1.1.1用户80流量走电信网络top需要指定一个策略路由表 web 和 nw 其中web走80和443流量,nw走1.1.1.1的80流量操作命令(linux系统)ip route re 0/0 via 移动网关 ---->指定默认路由在移动在策略路由表文件中添加路由表echo "230 web " >> /etc/iproute2/rt_table echo "240 nw " >> /etc/iproute2/rt_table 指定策略路由表的默认路由ip route re 0/0 via 联通网关 table webip route re 0/0 via 电信网关 table nw针对所有80和443流量做标签1
iptables -t mangle -A PREROUTING -i p55p2 -p tcp -m tcp --dport 80 -j MARK --set-xmark 0x1针对源地址1.1.1.1的流量做标签2iptables -t mangle -A PREROUTING -i p55p2 -s 1.1.1.1 -p tcp -m tcp --dport 80 -j MARK --set-xmark 0x2+++++重点,需要将第二个规则放在第一个规则上面 并且第二个规则需要设定除了1.1.1.1源地址意外的所有地址,所以应如下:iptables -t mangle -A PREROUTING -i p55p2 -s 1.1.1.1 -p tcp -m tcp --dport 80 -j MARK --set-xmark 0x2iptables -t mangle -A PREROUTING !-s 1.1.1.1 -i p55p2 -p tcp -m tcp --dport 80 -j MARK --set-xmark 0x1理论可以按照第一个方法写 本人实验没成功。不知道哪里问题设置策略路由
ip rule add from all fwmark 0x1 table web ip rule add from all fwmark 0x2 table nw总结
本文章主要解决问题是mangle表规则如果写入不清晰会出现的情况。转载于:https://blog.51cto.com/11742478/2349097