最近公司服务器网络出现了问题,现象就是有台主机不能访问某个网段的机器,无法ping通。原因是在启动docker容器的时候突然断开连接,然后就连接不上了。服务器网段是100.10.x.x,被访问机器是172.17.x.x。
后来琢磨可能是docker网桥导致主机路由表异常,定位了一下,果然如此,那么解决方法就很简单了。大概解释一下,docker安装以后会在主机上创建一个虚拟网卡-docker0,而我们启动的容器host网络以外,其他的都是通过docker0这个虚拟网卡经过物理网卡与外部通信的。这个虚拟网卡本身会有一个网段,一般是172.17.x.x,所以问题就明确了,因为docker0占用了这个网段,导致主机无法访问真是的网段机器。只要把docker0绑定的网段修改一下,就可以了。解决步骤如下:
route -n
可以看到docker0占用的网段
也可以直接查看docker0占用的网段
ifconfig docker0
systemctl stop docker
ip link del docker0 down
vim /etc/docker/daemon.json{ "bip":"192.168.100.1/24"}
systemctl restart docker
ifconfig docker0
https://cloud.tencent.com/developer/article/1852577
https://blog.csdn.net/penetrate/article/details/82458166
https://blog.csdn.net/q95548854/article/details/121097186
留言与评论(共有 0 条评论) “” |