虚拟机使用docker 外部机器无法访问端口问题

使用虚拟机启动docker镜像之后,外部宿主机无法访问指定端口服务

宿主机是a ,虚拟机是b 。虚拟机没有可视化界面,在b上启动docker服务后发现A不能访问

1,排查防火墙firewall-cmd --state

如果输出的是“not running”则FirewallD没有在运行,且所有的防护策略都没有启动,那么可以排除防火墙阻断连接的情况了。

如果输出的是“running”,表示当前FirewallD正在运行,则关闭防火墙

二、ip转发没有打开

执行 sysctl net.ipv4.ip_forward

显示net.ipv4.ip_forward=0则表示未打开。

cat /proc/sys/net/ipv4/ip_forward0

如果上述文件中的值为0,说明禁止进行IP转发;如果是1,则说明IP转发功能已经打开,

要想打开IP转发功能,可以直接修改上述文件:echo 1 > /proc/sys/net/ipv4/ip_forward

把文件的内容由0修改为1。禁用IP转发则把1改为0。

上面的命令并没有保存对IP转发配置的更改,下次系统启动时仍会使用原来的值,要想永久修改IP转发,需要修改

/etc/sysctl.conf文件,修改下面一行的值:

net.ipv4.ip_forward = 1

修改后可以重启系统来使修改生效,也可以执行下面的命令来使修改生效:

sysctl -p /etc/sysctl.conf

进行了上面的配置后,IP转发功能就永久开启了。

发布了10 篇原创文章 · 获赞 3 · 访问量 4542

猜你喜欢

转载自blog.csdn.net/xiaosannimei/article/details/104570016