防火墙设置
说明
Centos升级到7之后,内置的防火墙已经从iptables变成了firewalld。
防火墙的管理
##启动防火墙
systemctl start firewalld
##关闭防火墙
systemctl stop firewalld
##重启防火墙
systemctl restart firewalld
##显示防火墙状态
systemctl status firewalld
##在开机时启用防火墙
systemctl enable firewalld
##在开机时禁用防火墙
systemctl disable firewalld
##查看防火墙是否开机启动
systemctl is-enabled firewalld
##查看已启动的服务列表
systemctl list-unit-files|grep enabled
##查看启动失败的服务列表
systemctl --failed
防火墙的使用
基本语法
firewall-cmd [--zone=<zone>] [--permanent] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>]
参数说明
1. zone:作用域,默认是public。
2. permanent:永久生效,没有此参数重启后失效。
3. add-port:添加端口,格式为:端口/通讯协议。 端口(port)可以是一个单独的端口 <port> 或者是一个端口范围 <port>-<port> 。协议(protocol)可以是 tcp 或 udp。
永久开放/删除8080端口
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload
firewall-cmd --permanent --remove-port=8080/tcp
firewall-cmd --reload
永久开放/删除ftp服务
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
firewall-cmd --permanent --remove-service=ftp
firewall-cmd --reload
其他常用命令
## 重新载入配置,添加或删除规则后要执行此命令
firewall-cmd --reload
##查看防火墙状态
firewall-cmd --state
## 查询端口80是否开放,返回yes或者no
firewall-cmd --query-port=80/tcp
##查询服务ftp是否开放,返回yes或者no
firewall-cmd --query-service ftp
##列出支持的zone
firewall-cmd --get-zones
##查看所有打开的端口
firewall-cmd --zone=public --list-ports
##查看开放的服务
firewall-cmd --list-services