近来,安装了一些服务器,但是启动apache或者Nginx后,主机不能访问虚拟机,查阅各种资料总结如下;
防火墙默认开启,对外端口默认关闭
可先用curl -I 去测试时候启动成功,如出现200,说明网路开启;
查看centos7对外开启端口
查看所有打开的端口:
# firewall-cmd --zone=public --list-ports
加入一个端口到区域:
# firewall-cmd --zone=dmz --add-port=8080/tcp
如果没有,开启80或者你需要的端口 firewall-cmd --zone=public --add-port=80/tcp --permanent
出现success表明添加成功
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
重启防火墙,搞定!systemctl restart firewalld.service
附加防火墙一些常用命令。
查看版本:$ firewall-cmd --version
查看帮助:$ firewall-cmd --help
查看设置:
显示状态:$ firewall-cmd --state
查看区域信息: $ firewall-cmd --get-active-zones
查看指定接口所属区域:$ firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:# firewall-cmd --panic-on
取消拒绝状态:# firewall-cmd --panic-off
查看是否拒绝:$ firewall-cmd --query-panic
更新防火墙规则:# firewall-cmd --reload
# firewall-cmd --complete-reload
两者的区别就是第一个无需断开连接,就是firewalld特性之一动态添加规则,第二个需要断开连接,类似重启服务