信息
操作系统: Neokylin 7.0 mips64el
故障服务器 10.128.29.206
正常服务器 10.128.29.207
Q:开发同事说在安装完docker并重启docker后操作系统无法连接
A:排查步骤
1. 在办公环境使用笔记本测试联通性
ping 10.128.29.206 畅通
ssh 10.128.29.206 卡住
ssh 10.128.29.207 正常
2. 在办公室连接同网段机器测试联通性
ping 10.128.29.206 畅通
ssh 10.128.29.206 卡住
3. 进机房使用显示器连接故障服务器,测试与同网段服务器联通性
3.1 ping 10.128.29.207 畅通
ssh 10.128.29.207 卡住
3.2 删除所有iptables规则,无改变
3.3 更换网线、服务器网口、交换机网口、重启网络服务
均无改变
3.4 删除docker后,重试3.2
无改变
3.5 使用tcpdump抓包后发现有 chksum 错误的包,手动将包检查关闭后无改变
tcpdump -i enp7s0f0 host 10.128.29.207
ethtook -K enp7s0f0 tx off
3.6 连接10.128.29.207,多次连接故障服务器的一个java服务,无法访问
3.7 再次从故障服务器ping正常服务器,发现ping包有问题,报错
ping sendmsg operation not permitted
且每隔一定的数量故障包后有一个正常的ping包
3.8 检查nf_netfilter模块,发现
net.netfilter.nf_conntrack_count = 46
net.netfilter.nf_conntrack_max = 262144
使用并未超过最大值
3.9 手动将nf_netfilter所有模块删除后网络正常
rmmod iptable_nat
rmmod nf_nat_ipv4
rmmod nf_nat
rmmod nf_conntrack_ipv4
4. 总结
4.1 若要完成删除docker时,应同时删除其启用的模块(重启操作系统不在考虑范围)
4.2 nf_netfilter模块的配置应没有问题,具体原因需要再研究