系统相关
首页 > 系统相关> > centos 7 Docker容器启动报WARNING: IPv4 forwarding is disabled. Networking will not work

centos 7 Docker容器启动报WARNING: IPv4 forwarding is disabled. Networking will not work

作者:互联网

昨天在次遇到“WARNING: IPv4 forwarding is disabled. Networking will not work”,玩过容器的同学估计都会遇到这个问题,因为网上关于这个报错一搜一大把,都是一个解决办法修改操作系统的“net.ipv4.ip_forward”参数,但是没有看到有说明原因的。在这里我就再赘述一遍解决故障操作过程如下:

#我这里使用的是centos7
vi /etc/sysctl.conf
#新增一行
net.ipv4.ip_forward=1
#执行命令
systemctl restart network
#查看是否修改成功
sysctl net.ipv4.ip_forward

算起来已经第三次遇见这个问题,这次是故障的元凶很容易推断,因为在故障前我们对宿主机和容器进行DNS配置变更,变更后容器就无法访问了。后来我尝试新启动一个容器测试是否因修改原容器DNS问题,就在这时启动报错了“WARNING: IPv4 forwarding is disabled. Networking will not work”,如法炮制修改配置文件并重启网络服务,又恢复了正常。这是为什么呢?网上没有找到答案,但可以肯定的是修改了网络宿主机配置入DNS、IP、防火墙等网络相关参数导致,而修改Linux内核中的net.ipv4.ip_forward参数使Linux系统具有路由转发功能,从而解决该问题。

意外的发现,在问题修复同时我发现容器内WEB服务接受到的请求IP地址由原来容器内部地址172.17.0.1(应该是网关地址)变为了实际访问服务的客户端IP。

看来要彻底理解该问题玩转容器网络,底层操作系统设置和网络知识是必不可少的。
————————————————
版权声明:本文为CSDN博主「topswim」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/topswim/article/details/105540269

标签:容器,Networking,centos,ip,work,修改,ipv4,forward,net
来源: https://www.cnblogs.com/tafeng/p/16279808.html