CentOS宿主机无法访问虚拟机中的web服务解决方案

宿主机无法访问虚拟机中的web服务

在Windows7宿主机中的VMware虚拟机中安装了CentOS6.5操作系统,并且基于Nginx搭建了Web服务器,网页刚刚搭建好的时候,通过宿主机的浏览器可以访问虚拟机中的网页。但是过了一会儿,就无法访问了,这个问题困扰了自己好几天,每次只好通过虚拟机快照返回到刚刚建立好web服务的那一步,这样就能访问了,但过了一会儿又不能访问了。

后来通过网上查找资料,终于明白了,是一位CentOS6.5的防火墙没有开通web服务的80端口,屏蔽了外部的访问。有两种方法可以使宿主机能够访问虚拟机的网页:(1)关闭虚拟机中的防火墙;(2)打开web服务的80端口。

1.关闭防火墙

使用

service iptables stop

命令可以临时关闭防火墙,这样就可以通过宿主机访问虚拟机中的网页了。

iptables 防火墙一般是开机启动的,使用上面的命令临时关闭了防火墙后,下次开机还是会启动防火墙软件,可以使用如下命令禁止开机启动防火墙:

chkconfig iptables off

但是,防火墙的目的就是为了防止外部的恶意访问的,所以最好还是保持防火墙的运行。

2.开启相应的端口

2.1命令行方式开启80端口

使用如下命令可以临时开启80端口:

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT

重启防火墙即可生效:

service iptables restart

如果要保持80端口在下次开机时仍然是开启状态,那么使用如下命令保存当前的设置:

service iptables save

2.2修改iptables的配置文件来开启端口

使用

vim /etc/sysconfig/iptables

命令修改 iptables 防火墙配置文件,添加一行内容如下:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT

如图所示:

然后重启防火墙:

service iptables restart

这样就可以通过宿主机访问虚拟机的网络服务了。

 

posted @ 2018-08-01 19:51  黑色幽默2018  阅读(6827)  评论(0编辑  收藏  举报