主机通过浏览器不能访问到虚拟机的web服务器(粗暴版)
问题:::1.宿主机可以ping通虚拟机2.虚拟机可以ping通宿主机3.虚拟机可以通过http://localhost来访问web服务器4.宿主机通过浏览器不能访问到web服务器首先,我在宿主机的dos窗口下telnet虚拟机的80窗口,失败了,由此可以确定是虚拟机的80窗口有问题,应该是被防火墙堵住了。原因: 主要是虚拟机linux系统中的防火墙导致粗暴处理: systemctl stop f
问题:::
1.宿主机可以ping通虚拟机
2.虚拟机可以ping通宿主机
3.虚拟机可以通过http://localhost来访问web服务器
4.宿主机通过浏览器不能访问到web服务器
首先,我在宿主机的dos窗口下telnet虚拟机的80窗口,失败了,由此可以确定是虚拟机的80窗口有问题,应该是被防火墙堵住了。
原因: 主要是虚拟机linux系统中的防火墙导致
粗暴处理: systemctl stop firewalld ,停止防火墙,ok,问题解决.
一般处理,可以详见下文:
-----------------------------------------------------------------------------------
早期Linux版本处理:
1.修改防火墙设置:在Shell下输入命令 /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
2.保存上面的设置:/etc/rc.d/init.d/iptables saved
3.重启防火墙:/etc/init.d/iptables restart
最直接的 打开iptables
gedit /etc/sysconfig/iptables
在里面添加下面的(增加80,8080)
-A INPUT -p tcp -m tcp --dport 8080 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
然后重启service iptables restart
-----------------------------------------------------------------------------------
目前使用Centos7-1708,不再支持早期处理,若要类似处理,需要安装iptables-services
且安装iptables-services:
- yum install iptables-services
设置开机启动:
- systemctl enable iptables
- systemctl stop iptables
- systemctl start iptables
- systemctl restart iptables
- systemctl reload iptables
保存设置:
- service iptables save
后期补充,待验证:(仅供参考)
在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理,
如果要添加范围例外端口 如 1000-2000
语法命令如下:启用区域端口和协议组合
firewall-cmd [--zone=<zone>] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>]
此举将启用端口和协议的组合。端口可以是一个单独的端口 <port> 或者是一个端口范围 <port>-<port> 。协议可以是 tcp 或 udp。
实际命令如下:
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=80/tcp
删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
更多推荐
所有评论(0)