栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

服务器IP更改之后,docker容器无法从服务器外部访问

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

服务器IP更改之后,docker容器无法从服务器外部访问

原因:服务器IP更改之后,linux数据包转发配置net.ipv4.ip_forward会变为0,即关闭状态。查看命令:
sysctl net.ipv4.ip_forward
解决一:重启docker,docker会默认将net.ipv4.ip_forward值临时改为1

解决二:手动方式更改

1、临时生效的配置方式

临时生效的配置方式,在系统重启,或对系统的网络服务进行重启后都会失效。这种方式可用于临时测试、或做实验时使用。

(1)使用 sysctl 指令配置

sysctl 命令的 -w 参数可以实时修改Linux的内核参数,并生效。所以使用如下命令可以打开Linux的路由转发功能。

sysctl -w net.ipv4.ip_forward=1

有关 sysctl 指令的更详细介绍,请参见Linux的系统man手册(man sysctl),或其他有关sysctl指令详细介绍的文章。

(2)修改内核参数的映射文件:/proc/sys/net/ipv4/ip_forward

内核参数在Linux文件系统中的映射出的文件:/proc/sys/net/ipv4/ip_forward中记录了Linux系统当前对路由转发功能的支持情况。文件中的值为0,说明禁止进行IP转发;如果是1,则说明IP转发功能已经打开。可使用vi编辑器修改文件的内容,也可以使用如下指令修改文件内容:

echo 1 > /proc/sys/net/ipv4/ip_forward
2、永久生效的配置方式

永久生效的配置方式,在系统重启、或对系统的网络服务进行重启后还会一直保持生效状态。这种方式可用于生产环境的部署搭建。

(1)修改 /etc/sysctl.conf 配置文件

vi  /etc/sysctl.conf

如文件中已有net.ipv4.ip_forward参数,则将参数改为1;如不存在,则在文件末尾添加net.ipv4.ip_forward=1

(2)使新的系统配置生效

sysctl -p

(3)修改/etc/sysconfig/network配置文件

vi /etc/sysconfig/network

在文件最后添加一行:FORWARD_IPV4=YES

(4)使新的网络配置生效,需重启网络服务

service netwrok restart

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/757950.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号