再次遇到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。

看来要彻底理解该问题玩转容器网络,底层操作系统设置和网络知识是必不可少的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值