CentOS 7上防火墙 firewalld 的常用命令
封面图
•
2025-11-01
•
Linux
274
0
0
0
在 **CentOS 7** 中,默认使用的防火墙工具是 **firewalld**,它是一个动态管理的防火墙,支持网络区域(zone)的概念,可以更灵活地管理不同网络接口的安全策略。 以下是一些 **firewalld** 的常用命令: --- ### 🔹 1. 启动、停止、重启 firewalld ```bash # 启动 firewalld sudo systemctl start firewalld # 停止 firewalld sudo systemctl stop firewalld # 重启 firewalld sudo systemctl restart firewalld # 开机自启动 sudo systemctl enable firewalld # 禁用开机自启动 sudo systemctl disable firewalld ``` --- ### 🔹 2. 查看 firewalld 状态 ```bash sudo systemctl status firewalld ``` 或者使用 `firewall-cmd` 查看状态: ```bash sudo firewall-cmd --state ``` --- ### 🔹 3. 查看当前防火墙配置 ```bash sudo firewall-cmd --list-all ``` 这会显示当前的 **默认区域**、**允许的服务**、**端口**、**富规则** 等信息。 --- ### 🔹 4. 查看所有可用的区域 ```bash sudo firewall-cmd --get-zones ``` 常见区域有: - `public`:默认区域,用于公共网络 - `internal`:内部网络 - `trusted`:信任区域,所有流量都允许 - `drop`:丢弃所有流量 - `block`:阻止所有入站流量 --- ### 🔹 5. 查看当前使用的区域 ```bash sudo firewall-cmd --get-default-zone ``` --- ### 🔹 6. 设置默认区域 ```bash sudo firewall-cmd --set-default-zone=public ``` --- ### 🔹 7. 添加/删除端口 ```bash # 添加端口(如 80) sudo firewall-cmd --permanent --add-port=80/tcp # 删除端口 sudo firewall-cmd --permanent --remove-port=80/tcp # 重新加载配置(添加/删除后需要执行) sudo firewall-cmd --reload ``` --- ### 🔹 8. 允许/拒绝服务(如 HTTP) ```bash # 允许 HTTP 服务 sudo firewall-cmd --permanent --add-service=http # 删除 HTTP 服务 sudo firewall-cmd --permanent --remove-service=http ``` --- ### 🔹 9. 添加富规则(高级规则) ```bash # 允许来自特定 IP 的 SSH 访问 sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="22" protocol="tcp" accept' # 删除富规则 sudo firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="22" protocol="tcp" accept' ``` --- ### 🔹 10. 查看已添加的规则 ```bash sudo firewall-cmd --list-rich-rules ``` --- ### 🔹 11. 查看所有已开放的端口和服务 ```bash sudo firewall-cmd --list-all ``` --- ### 🔹 12. 检查某个端口是否开放 ```bash sudo firewall-cmd --query-port=80/tcp ``` --- ### ✅ 注意事项: - 所有修改都需要加上 `--permanent` 参数才能永久生效。 - 修改后一定要运行 `sudo firewall-cmd --reload` 来使配置生效。 - 如果你不想使用 firewalld,也可以改用 `iptables`,但 CentOS 7 默认推荐使用 firewalld。 --- 如果你有具体的需求(比如开放某个端口或服务),可以告诉我,我可以帮你写出对应的命令。
上一篇:
linux系统root帐户
下一篇:
linux系统中的计划任务crontab配置文件中的五个星星分别代表什么?
标题录入,一次不能超过6条
返回顶部
留言
留言
评论