K8s网络问题:容器发出的网络包无法通过宿主机物理网卡原创
金蝶云社区-黄辉_2914
黄辉_2914
2人赞赏了该文章 353次浏览 未经作者许可,禁止转载编辑于2021年07月30日 18:13:11

背景:k8s集群中的机器A上的容器A1无法连接宿主机所在网段的机器C


在容器中发出ping机器C的怕ping包,通过抓包命令抓取宿主机的物理网卡的所有icmp网络包(tcpdump -i 网卡名 icmp)发现没有任何icmp包,推断包并未到达物理网卡。于是抓取容器对应的虚拟网卡。

容器对应网卡的查询方法:、

查看容器IP,以红框为例子:

image.png

查看对应的路由,就可以看到对应的虚拟网卡:

image.png


通过抓包命令看数据包是否到达虚拟网卡。发现没有到达,由此推断是系统环境的网络参数没有正确设置,具体的设置方法

(XXX为自定义名字)

cat <<EOF >  /etc/sysctl.d/XXX.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sysctl --system

赞 2