虚拟机使用docker 外部机器无法访问端口问题
使用虚拟机启动docker镜像之后,外部宿主机无法访问指定端口服务宿主机是a ,虚拟机是b 。虚拟机没有可视化界面,在b上启动docker服务后发现A不能访问1,排查防火墙firewall-cmd --state如果输出的是“not running”则FirewallD没有在运行,且所有的防护策略都没有启动,那么可以排除防火墙阻断连接的情况了。如果输出的是“running”,表示当...
使用虚拟机启动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转发功能就永久开启了。
更多推荐
所有评论(0)