记录一个docker IPv6启动导致宿主机IPv6无法通信的问题
前几天因为项目需要,需要让docker容器开启IPv6服务。于是就按照网上所说的配置daemon.json文件,开启了IPv6功能,然后重新启动docker。结果,一启动通过IPv6就导致宿主机无法用IPv6与外部通信了。
当时推测:可能是网段冲突了。
于是进行尝试,首先修改daemon.json中ipv6网段,修改后启动,照常无用…网上查了许多资料进行很大尝试都没有用…但是重启电脑后宿主机又IPv6又可以通信了(docker没有设置开机自启动)但是docker一旦启动IPv6又不能通信了。经查询可能是docker启动ipv6时候把宿主机ipv6路由关了。
于是进行第二步:开启ipv6路由。
首先重启网络服务…service network restart…结果报错…**Job for network.service failed. See ‘systemctl status network.service’ and ‘journalctl -xn’ for details.**经过网上查询,大概有这么几种方法:
1、.和 NetworkManager 服务有冲突,直接关闭 NetworkManger 服务就好了, service NetworkManager stop,并且禁止开机启动 chkconfig NetworkManager off 。之后重启就好了。
2、和配置文件的MAC地址不匹配,这个也好解决,使用ip addr(或ifconfig)查看mac地址 将/etc/sysconfig/network-scripts/ifcfg-xxx中