前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >安装Docker后内网ip不通?Docker修改Docker0网桥默认ip的方法

安装Docker后内网ip不通?Docker修改Docker0网桥默认ip的方法

原创
作者头像
Mr.JC
修改2020-04-01 14:43:35
14.8K1
修改2020-04-01 14:43:35
举报
文章被收录于专栏:Mr.JC聊聊云计算Mr.JC聊聊云计算

咱们在云服务器上部署Docker,很多情况下都会遇到一种情况:跨网段网络不通。比如有2个VPC网络,一个网段是172.16.x.x,另一个网段是172.17.x.x,两个VPC通过对等连接进行联通,如果服务器中安装了 Docker并且没有修改过默认Docker 0网桥默认ip的情况下,该服务器会出现内网地址无法ping通的情况。

一、排查篇

我们找了一台安装了Docker服务的云服务器172.16.8.3,从这台机器上ping跨网段机器 172.17.8.24

发现请求断在了跨网段的网关172.17.0.1上,这时候我们检查一下网络地址信息

Docker服务创建了一个docker0的网桥,咱们尝试把它卸载掉看看

代码语言:javascript
复制
ifconfig docker0 down

卸载掉后我们再去从172.17.8.24上ping 172.16.8.3试试,发现网络恢复了。

那么基本可以确定,是docker这个网桥搞的鬼。

二、修改篇

确认好问题后,咱们就尝试去修复下,有两种方法:

1、修改Docker0默认网桥地址

2、修改局域网网段地址

第二种修复方法很麻烦,一般情况下已规划好的网络也不允许我们这么做,咱们选择第1种方法:

(1)新建/etc/docker/daemon.json文件(默认是没有生成的),添加内容 "bip": "ip/netmask"。

注意不要修改为跟跨网段同一网段的ip地址,否则还是会不通,这里咱们修改为172.18.x.x网段的地址:

代码语言:javascript
复制
{"bip":"172.18.1.9/16"}     

如果您之前没有自定义过该文件,可以直接:

代码语言:javascript
复制
echo '{"bip":"172.18.1.9/16"}' >> /etc/docker/daemon.json

(2)重启Docker服务使配置生效

代码语言:javascript
复制
service docker restart

(3)查看网络配置:

代码语言:javascript
复制
ifconfig

这时候docker 0默认网桥的ip已被修改成功,从跳板机上也能成功ping通。

刚刚使用过ifconfig docker0 down命令的同学记得先把网桥重新起一下

代码语言:javascript
复制
 ifconfig docker0 up

三、原理建议

原因分析:服务器在安装docker服务后默认会在系统内生成一个地址为172.17.0.1的网桥抢占了172.17.x.x的网关,如果此时您刚好有使用172.17.x.x网段的机器,那么所有跨网段的数据包都会默认优先发到docker0的172.17.0.1地址上导致跨网段网络不通。

咱们在规划云网络的时候如果有需要使用docker服务的话,建议尽量避开172.17.x.x网段,虽然这是个很小的问题,但是在庞大的网络体系里面排查将会比较头疼。。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、排查篇
  • 二、修改篇
  • (1)新建/etc/docker/daemon.json文件(默认是没有生成的),添加内容 "bip": "ip/netmask"。
  • 注意不要修改为跟跨网段同一网段的ip地址,否则还是会不通,这里咱们修改为172.18.x.x网段的地址:
  • (2)重启Docker服务使配置生效
  • (3)查看网络配置:
  • 三、原理建议
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档