CentOS 7 为 firewalld 防火墙开放端口及相关操作
后知后觉 暂无评论

RadHat 7 / CentOS 7 新推出的管理 netfilter 的工具,firewalld 是配置和监控防火墙规则的系统守护进程。可以实现iptablesip6tablesebtables的功能

CentOS 7 引入了 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 # 查看所有打开的端口

附录

参考链接

本文撰写于一年前,如出现图片失效或有任何问题,请在下方留言。博主看到后将及时修正,谢谢!
禁用 / 当前已拒绝评论,仅可查看「历史评论」。