pod 地址 10.151.163.151 外网网段 172.31.0.0/20
修改的方式为:
iptables -I PREROUTING -t mangle -s 10.151.163.151 -d 172.31.0.0/20 -j MARK --set-mark 100
ip r add table 3 172.31.0.0/20 dev eth4 proto kernel scope link src 172.31.0.72
ip rule add fwmark 100 table 3
这么修改之后,发现在 pod 里面 ping 不通
pod 网卡抓包是
listening on cali2b6e696b9f2, link-type EN10MB (Ethernet), capture size 262144 bytes
10:58:08.593372 IP 10.151.163.151 > 172.31.0.86: ICMP echo request, id 45, seq 0, length 64
10:58:09.594439 IP 10.151.163.151 > 172.31.0.86: ICMP echo request, id 45, seq 1, length 64
eth4 网卡抓包是
listening on eth4, link-type EN10MB (Ethernet), capture size 262144 bytes
10:57:48.484657 IP 172.31.0.72 > 172.31.0.86: ICMP echo request, id 0, seq 10, length 64
10:57:48.486355 IP 172.31.0.86 > 172.31.0.72: ICMP echo reply, id 0, seq 10, length 64
10:57:50.487039 IP 172.31.0.72 > 172.31.0.86: ICMP echo request, id 0, seq 12, length 64
10:57:50.487943 IP 172.31.0.86 > 172.31.0.72: ICMP echo reply, id 0, seq 12, length 64
看起来 eth4 上的网卡是正常的,有发出去的和接受的包,但是 pod 网卡上只有发出去的包,没有接收的,感觉缺了一步,不知道是哪个地方少了?请大家帮忙看下