Docker网段和内网网段ip冲突导致无法访问网络的两种解决方法

2023-12-07 0 726
目录
  • 方法一:简单粗暴智能修改当前的bridge默认网段
  • 方法二:不影响服务的情况下修改docker网段

docker启动时默认会创建一个docker0网桥,它在内核层连通了其他的物理或虚拟网卡,相当于将所有容器和其主机都放到同一个网络。但是部署在内网中的IP段存在有此网段的IP时,会导致冲突

1、使用宿主机的ip也会有是无效的。

2、只要docker启动,便会造成局域网内其它主机访问本机失效,

3、关闭docker后,本机便可访问.

以下我列出了两种解决方法,供大家参考

方法一:简单粗暴智能修改当前的bridge默认网段

docker默认的网段是172.17.0.0/16

Docker网段和内网网段ip冲突导致无法访问网络的两种解决方法

1、首先停止docker

systemctl stop docker

2、备份下文件

cp /etc/docker/daemon.json /etc/docker/daemon.json.bak

3、在文件里面加入一下网段信息

cat > /etc/docker/daemon.json << EOF
{
\”bip\”: \”100.10.10.1/24\”
}
EOF

Docker网段和内网网段ip冲突导致无法访问网络的两种解决方法

注意:这里按照所需的要求来修改

接下来检查一下我们修改是否生效

Docker网段和内网网段ip冲突导致无法访问网络的两种解决方法

这里可以看到网段发生了变化

方法二:不影响服务的情况下修改docker网段

1、安装bridge-utils工具

yum -y install bridge-utils.x86_64

2、停止docker服务

systemctl stop docker

3、停止docker 虚拟docker0虚拟网桥

ip link set dev docker0 down

4、删除 docker 虚拟docker0虚拟网桥

brctl delbr docker0

5、清理Linux防火墙规则

iptables -t nat -F POSTROUTING

6、添加docker虚拟网桥

brctl addbr docker0

7、为docker0配置网络地址,这个地址在后面可以作为虚拟机的网关地

ip addr add 100.10.1.0/24 dev docker0

#设置你要修改为哪个网断,我修改的是100.10.1.0/24

8、启用刚新创建的docker虚拟网桥

ip link set dev docker0 up 

9、docker配置文件中追加参数

vim /etc/docker/daemon.json

{ “bip”: “100.10.1.0/24” }

10、重新加载某个服务的配置文件

systemctl daemon-reload

11、重启docker

systemctl restart docker

12、检查是否生效

Docker网段和内网网段ip冲突导致无法访问网络的两种解决方法

这里我们看到docker0的网段又发生了变化

优点:上面这种情况,可以做到迁移docker的时候不改变虚拟网桥以及容器IP地址

到此这篇关于Docker网段和内网网段冲突导致无法访问网络的两种解决方法的文章就介绍到这了,更多相关Docker网段和内网网段冲突内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 Linux服务器 Docker网段和内网网段ip冲突导致无法访问网络的两种解决方法 https://www.u-9.cn/server/linux/115692.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务