虚拟机安装的是centos7,运行了一个web程序,对外端口是9093。通过ping可以ping通过虚拟机ip。通过浏览器访问9093,访问不到,通过测试程序使用socket connect 9093端口也连接不上。使用telnet 连接9093端口也连接不上。怀疑是虚拟机防火墙屏蔽的原因。
通过命令:systemctl stop firewalld.service 关闭防火墙。再使用telnet连接9093端口,发现可以连接上。在使用浏览器访问9093端口,服务可以访问。
但是不推荐关闭防火墙。可以设置防火墙对外暴露端口的方式。
编辑/etc/sysconfig/iptables,添加
-A INPUT -m state --state NEW -m tcp -p tcp -s 127.0.0.1 --dport 6379 -j ACCEPT //对本机开放
-A INPUT -m state --state NEW -m tcp -p tcp -s 126.212.173.185 --dport 6379 -j ACCEPT //对126.212.173.185主机开放
不限制ip对所有主机开放,可以 去掉 -s [
ip]
在新安装的Linux系统中,防火墙默认是被禁掉的,一般也没有配置过任何防火墙的策略,所有不存在/etc/sysconfig/iptables文件。
安装: yum install iptables-services
安装成功之后:就可以找到/etc/sysconfig/iptables,按照上面编写对外开放的端口。
修改完后重启iptables服务:systemctl start iptables
另外可能需要重启服务程序才能访问服务端口,如:9093
开启防火墙过滤规则:
systemctl enable iptables //设置开启启动