管理 firewalld 服务
systemctl 是 CentOS7 的服务管理工具中主要的工具,融合了 service 和 chkconfig 的功能于一体。
systemctl 常用命令
启动:systemctl start firewalld / firewalld.service
停止:systemctl stop firewalld / firewalld.service
重启:systemctl restart firewalld / firewalld.service
显示服务状态:systemctl status firewalld / firewalld.service
开机自启:systemctl enable firewalld / firewalld.service
禁用开机自启:systemctl disable firewalld / firewalld.service
查看是否开机自启:systemctl is-enabled firewalld / firewalld.service
查看开机自启服务列表:systemctl list-unit-files | grep enabled
查看启动失败的服务列表:systemctl --failed
firewalld 基本命令
查看版本:firewall-cmd --version
查看帮助:firewall-cmd --help
查看状态:firewall-cmd --state
查看所有打开的端口:firewall-cmd --zone=public --list-ports
重载防火墙:firewall-cmd --reload
查看活动 Zone 信息: firewall-cmd --get-active-zones
查看指定网络接口所属 Zone:firewall-cmd --get-zone-of-interface=eth0
拒绝所有包-开:firewall-cmd --panic-on
拒绝所有包-关:firewall-cmd --panic-off
查看是否拒绝:firewall-cmd --query-panic
firewalld 常用操作
以下使用 80 端口和 HTTP 服务举例。
以端口方式添加策略
查看端口
firewall-cmd --zone=public --query-port=80/tcp
添加端口
--permanent 永久生效,若无此参数,策略立即生效,但是重启防火墙或系统,或 firewall-cmd --reload 后,该策略会失效;
若使用 --permanent 后,需要使用 firewall-cmd --reload 来重载策略,以使策略生效。
firewall-cmd --zone=public --add-port=80/tcp --permanent
删除端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
以服务方式添加策略
列出服务
firewall-cmd --zone=public --list-services
添加服务
firewall-cmd --zone=public --add-service=http --permanent
删除服务
firewall-cmd --zone=public --remove-service=http --permanent