问下docker容器为啥ping不通与宿主机同网段的其他电脑?

情况是这样的,我宿主机是linux系统,ip地址是176.12.10.43,然后我安装了一个centos容器,容器ip是172.17.0.2,再创建了一个mysql容器,然后我又创建了一个网络net1,将两个容器都加入net1网络,所以那个centos容器有两个ip,一个是容器ip是172.17.0.2,还有一个是172.18.0.2 net1给的ip,然后我宿主机ping 176.12.10.45是可以的
然后我centos容器ping 宿主机 ping 176.12.10.43 也是通的,但是ping 176.12.10.45 就不通了,不知为啥ping同网段其他电脑就不通了,有没有方法排查下哪里出了问题?
有没有软件发现那个地方断了?

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

176.12.10.43 和 176.12.10.45 查出来都是保加利亚的公网 IP 啊,你确定你内网 IP 用的是这个网段么?

  1. 查看 176.12.10.43 上 和 176.12.10.45 两个 IP 所在子网掩码是多少
  2. 在宿主机和容器内都使用 traceroute 176.12.10.45 查看路由追踪信息

建议贴出 traceroute 信息、容器网络信息:docker network inspect <NETWORK>route -n 路由表信息

5个月前 评论
donggan (楼主) 5个月前
讨论数量: 12

整不明白就别自定义网络

5个月前 评论
donggan (楼主) 5个月前

176.12.10.45 这个是另一台服务器ip吗

5个月前 评论
donggan (楼主) 5个月前

建议检查一下防火墙,容器网络模型

5个月前 评论
donggan (楼主) 5个月前
lijizheng (作者) 5个月前

176.12.10.43 能 ping 通 176.12.10.45 吗?

5个月前 评论
徵羽宫 (作者) 5个月前

176.12.10.43 和 176.12.10.45 查出来都是保加利亚的公网 IP 啊,你确定你内网 IP 用的是这个网段么?

  1. 查看 176.12.10.43 上 和 176.12.10.45 两个 IP 所在子网掩码是多少
  2. 在宿主机和容器内都使用 traceroute 176.12.10.45 查看路由追踪信息

建议贴出 traceroute 信息、容器网络信息:docker network inspect <NETWORK>route -n 路由表信息

5个月前 评论
donggan (楼主) 5个月前

在启动容器时使用 --ip --gateway 设置同ip段的ip和网关试试

5个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!