作者回复: @我来也 把调试工具都放到一个基础容器中也挺好的。
作者回复: @陈斯佳 是这样的!
作者回复: > 1 对的你可以理解为docker0是一个L2交换机。 > 2 ip_forward就是打开Linux类似路由器的功能,允许数据包从一个接口进入,根据路由从另外一个接口出去。这个和你说的iptables里的postrouting/forward链没有关系
作者回复: 127.0.0.1 是 localhost IP, 每个namespace里都有一个。如果从宿主机的host network namespace里去访问127.0.0.1只是 host network namespace里的,不会访问到容器 network namespace的127.0.0.1
作者回复: 我们用bpf trace 主要的内核stack的收发函数,dump出network namespace id和device name, 就可以看出这条路径了。
作者回复: 需要自己加一条 “iptables -P FORWARD ACCEPT”, 其它的是默认的配置。
作者回复: @Geek_ba556d 不好意思,这个需要看到现场环境才能进一步分析。不过,你说arp出问题,那么可以先在主要接口dump一下arp request 或者 arp reply的包。
作者回复: @Demon.Lee 你描述了k8s 集群节点,不过没有描述pod网络配置方式。在分析这个问题前,你可以把集群的网络拓扑和pod在节点上的网络拓扑分析一遍,然后再分析具体的问题。
作者回复: @徐少文 可以找一些iptables相关的文档看一下。
作者回复: 用"ip link show type bridge"命令看一下 docker0 interface是不是存在。