如果在host和hostnetwork容器中都设置iptables规则,这些iptables规则的匹配顺序是什么

问题描述

法兰绒豆荚: [root@BJWLC001F05S01 ~]# kubectl exec kube-flannel-ds-amd64-bc4t6 -n kube-system -it -- sh / # iptables -t nat -S -P 预路由接受 -P 输入接受 -P 输出接受 -P 后路由接受 -A POSTROUTING -s 10.200.0.0/16 -d 10.200.0.0/16 -j 返回 -A POSTROUTING -s 10.200.0.0/16 ! -d 224.0.0.0/4 -j 伪装 --random-fully -一个POSTROUTING! -s 10.200.0.0/16 -d 10.200.2.0/24 -j 返回 -一个POSTROUTING! -s 10.200.0.0/16 -d 10.200.0.0/16 -j 伪装 --random-fully /#

主机: [root@BJWLC001F05S01 ~]# iptables -t nat -S -v | grep POSTROUTING -P POSTROUTING 接受 -c 0 0 -N KUBE-POSTROUTING -A POSTROUTING -s 192.168.160.0/20 ! -o br-788118d80b38 -c 22999 1379952 -j 伪装 -A POSTROUTING -s 172.16.0.0/16 ! -o docker0 -c 13874 833897 -j 伪装 -A POSTROUTING -m comment --comment "CNI portfwd 需要伪装" -c 2187793063 394428335249 -j CNI-HOSTPORT-MASQ -A POSTROUTING -m comment --comment "kubernetes postrouting 规则" -c 2187803992 394429000928 -j KUBE-POSTROUTING -A POSTROUTING -s 172.16.0.2/32 -d 172.16.0.2/32 -p tcp -m tcp --dport 2181 -c 0 0 -j 伪装 -A POSTROUTING -s 172.16.0.3/32 -d 172.16.0.3/32 -p tcp -m tcp --dport 27017 -c 0 0 -j 伪装 -A POSTROUTING -s 172.16.0.4/32 -d 172.16.0.4/32 -p tcp -m tcp --dport 8002 -c 0 0 -j 伪装 -A POSTROUTING -s 172.16.0.4/32 -d 172.16.0.4/32 -p tcp -m tcp --dport 8001 -c 0 0 -j 伪装 -A POSTROUTING -s 172.16.0.5/32 -d 172.16.0.5/32 -p tcp -m tcp --dport 3306 -c 0 0 -j 伪装 -A POSTROUTING -s 172.16.0.6/32 -d 172.16.0.6/32 -p tcp -m tcp --dport 6379 -c 0 0 -j 伪装 -A POSTROUTING -s 172.16.0.7/32 -d 172.16.0.7/32 -p tcp -m tcp --dport 8080 -c 0 0 -j 伪装 -A POSTROUTING -s 172.16.0.7/32 -d 172.16.0.7/32 -p tcp -m tcp --dport 5236 -c 0 0 -j 伪装 -A POSTROUTING -s 172.16.0.8/32 -d 172.16.0.8/32 -p tcp -m tcp --dport 3306 -c 0 0 -j 伪装 -A POSTROUTING -s 172.16.0.9/32 -d 172.16.0.9/32 -p tcp -m tcp --dport 3306 -c 0 0 -j 伪装 -A POSTROUTING -s 192.168.160.2/32 -d 192.168.160.2/32 -p tcp -m tcp --dport 10514 -c 0 0 -j 伪装 -A POSTROUTING -s 192.168.160.4/32 -d 192.168.160.4/32 -p tcp -m tcp --dport 5432 -c 0 0 -j 伪装 -A POSTROUTING -s 192.168.160.10/32 -d 192.168.160.10/32 -p tcp -m tcp --dport 8443 -c 0 0 -j 伪装 -A POSTROUTING -s 192.168.160.10/32 -d 192.168.160.10/32 -p tcp -m tcp --dport 8080 -c 0 0 -j 伪装 -A POSTROUTING -s 172.16.0.10/32 -d 172.16.0.10/32 -p tcp -m tcp --dport 80 -c 0 0 -j 伪装 -A KUBE-POSTROUTING -m comment --comment "Kubernetes 端点 dst ip:port,用于解决发夹目的的源 ip" -m set --match-set KUBE-LOOP-BACK dst,dst,src -c 0 0 -j化妆舞会 -A KUBE-POSTROUTING -m 标记! --mark 0x4000/0x4000 -c 65921 12387097 -j 返回 -A KUBE-POSTROUTING -c 152 13854 -j MARK --set-xmark 0x4000/0x0 -A KUBE-POSTROUTING -m comment --comment "kubernetes 服务流量需要 SNAT" -c 152 13854 -j MASQUERADE --random-fully

警告:存在 iptables-legacy 表,使用 iptables-legacy 查看它们

这些规则在后路由链中的顺序是什么?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)