几天来我一直在寻找答案,但在线发布的答案却无效。这仅仅是为了更好地了解iptables和路由的工作方式
- 服务器1-192.168.10.100:80上的网络服务器
- 服务器2-2个NIC 192.168.10.101(ens33)和192.168.10.102(ens37)
已经设置了规则,因此没有ARP流量,并且两台服务器的ping b / w通过正确的NIC
我要在服务器2上-curl --interface ens37 192.168.10.100,但通过ens33发送。
我的脚本-
- iptables -t mangle -I输出-s 192.168.10.102 -p tcp --dport 80 -j
标记-设定标记99
- iptables -t mangle -I输出-m mark --mark 99 -j LOG --log-level
emerg --log-prefix“ mark = 99”(检查标记是否正常工作)
- iptables -t nat -I POSTROUTING -s 192.168.10.102 -p tcp --dport 80
-j SNAT-源192.168.10.101
- ip规则添加fwmark 99表3优先级77
- ip路由添加192.168.10.0/24 dev ens33表3
- 对于/ proc / sys / net / ipv4 / conf / * / rp_filter中的f;回显0> $ f;完成
ip规则显示
- 0:从所有本地查找
- 77:从所有fwmark 0x63查找3
- 100:从192.168.10.101查找1
- 200:从192.168.10.102查找2
- 32766:从所有主查询中查找
- 32767:默认所有查找方式
ip路由显示
- 默认为通过192.168.10.2 dev ens33 proto静态指标100
- 默认为通过192.168.10.2 dev ens37 proto静态指标101
- 192.168.10.0/24 dev ens33原型内核作用域链接src 192.168.10.101指标100
- 192.168.10.0/24 dev ens37 proto内核作用域链接src 192.168.10.102指标101
- 192.168.122.0/24 dev virbr0原型内核作用域链接src 192.168.122.1
ip路由显示标签1
- 192.168.10.0/24 dev ens33作用域链接
ip路由显示标签2
- 192.168.10.0/24 dev ens37作用域链接
ip路由显示标签3
- 192.168.10.0/24 dev ens33作用域链接
通过ens37进行的卷曲不会通过ens33进行路由。
任何帮助将不胜感激