1. 简述
CentOS7中对防火墙服务进行了改进,使得对系统防火墙的管理操作与之前的版本相比发生了变化。
防火墙服务的服务名为 firewalld。相关操作适用于 RED HAT 系各发行版系统。
systemctl 是CentOS7的服务管理工具中主要的工具,它融合之前的service和chkconfig的功能于一体。
2. firewalld 基本使用
在终端中输入以下命令:
systemctl start firewalld # 启动防火墙
systemctl stop firewalld # 关闭防火墙
systemctl status firewalld # 查看状态
systemctl disable firewalld # 开机禁用
systemctl enable firewalld # 开机启用
3. 配置防火墙
对防火墙的配置使用命令 firewall-cmd
3.1 基本配置
firewall-cmd --version # 查看版本
firewall-cmd --help # 查看帮助
firewall-cmd --state # 显示状态
firewall-cmd --zone=public --list-ports # 查看开放的端口
firewall-cmd --reload # 重新加载防火墙(更新规则)
firewall-cmd --get-active-zones # 查看活动区
firewall-cmd --get-zone-of-interface=eth0 # 查看指定接口所属区域
firewall-cmd --panic-on # 拒绝所有包
firewall-cmd --panic-off # 取消拒绝状态
firewall-cmd --query-panic # 查看是否拒绝
3.2 开放/封闭端口和服务
# 开放 80端口,'/'前后分别为 端口号/协议。
# --permanent 永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 开放 http服务
firewall-cmd --zone=public --add-service=http --permanent
# 封闭 80端口
firewall-cmd --zone=public --remove-port=80/tcp --permanent
# 重新载入
firewall-cmd --reload
# 查看开放的端口和服务
firewall-cmd --zone=public --list-all
# 查看开放的端口列表
firewall-cmd --zone=public --list-ports
# 查看开放的服务列表
firewall-cmd --zone=public --list-services