RadHat 7 / CentOS 7 新推出的管理 netfilter
的工具,firewalld
是配置和监控防火墙规则的系统守护进程。可以实现iptables
、ip6tables
、ebtables
的功能
CentOS 7 引入了 SystemD 来统一管理系统,因此防火墙服务有两种配置方式。
- SystemD 方式
- 程序内置命令行方式
SystemD 方式
使用 systemd
命令配置防火墙
systemctl start firewalld # 启动
systemctl stop firewalld # 停止
systemctl disable firewalld # 禁用
systemctl status firewalld # 查看状态
程序内置命令行方式
使用 firewalld-cmd
命令配置防火墙
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 # 查看是否拒绝
开放端口及重载防火墙配置
firewall-cmd --zone=public --add-port=80/tcp --permanent # 开放TCP80端口 `--permanent` 永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=80/udp --permanent # 开放UDP80端口
firewall-cmd --reload # 重新载入防火墙配置
firewall-cmd --zone=public --query-port=80/tcp # 查看端口状态
firewall-cmd --zone=public --remove-port=80/tcp --permanent # 删除
防火墙状态
每个服务对应一个端口,每个服务对应/usr/lib/firewalld/services
下面一个xml
规则文件。
firewall-cmd --list-services # 查看当前已开放端口的服务
firewall-cmd --get-services # 查看其他可开放服务
firewall-cmd --zone=public --list-ports # 查看所有打开的端口
附录
参考链接
本文由 柒 创作,采用 知识共享署名4.0
国际许可协议进行许可。
转载本站文章前请注明出处,文章作者保留所有权限。
最后编辑时间: 2017-10-03 22:35 PM