防火墙firewall-cmd用法

一、防火墙启动与关闭

  • 防火墙状态
    可通过systemctl status firewalld,也可通过service firewalld status
  • 启动
    可通过systemctl start firewalld,也可通过service firewalld start
  • 关闭
    可通过systemctl stop firewalld,也可通过service firewalld stop
  • 重启
    可通过systemctl restart firewalld,也可通过service firewalld restart
  • 开机(不)自启动
    可通过systemctl disable/enable firewalld,也可通过service firewalld disable/enable
  • 防火墙规则firewall-cmd --list-all

二、

1、查看防火墙开放的所有端口firewall-cmd --zone=public --list-ports
2、开放80端口firewall-cmd --zone=public --add-port=80/tcp --permanent
3、查看端口是否开启firewall-cmd --permanent --query-port=80/tcp
4、重新载入防火规则firewall-cmd --reload
5、移除80端口firewall-cmd --zone= public --remove-port=80/tcp --permanent
6、查看防火墙的域firewall-cmd --get-zones
7、查看防火墙默认的域firewall-cmd --get-default-zone

注:**-permanent参数表示永久生效设置,如果没有指定-zone参数,则加入默认区域

### 解决 `firewall-cmd` 添加端口时遇到的错误 当执行命令 `firewall-cmd --add-port=9987/tcp --permanent` 遇到错误时,可以按照以下方法排查并解决问题。 #### 1. 确认语法正确性 确保使用的命令参数无误。永久添加端口应使用 `--permanent` 参数而非 `-permanent`[^2]: ```bash firewall-cmd --zone=public --add-port=9987/tcp --permanent ``` #### 2. 加载配置变更 修改完成后需重新加载防火墙设置使更改生效: ```bash firewall-cmd --reload ``` 如果未及时重载,则新加入的规则不会立即应用,在查询当前活动端口列表时也不会显示新增加的内容[^1]。 #### 3. 检查权限 确认操作具有足够的管理员权限。通常这类指令需要 root 用户或通过 sudo 提升权限来运行。尝试加上 `sudo` 前缀再次执行上述命令。 #### 4. 查询现有规则冲突 有时可能因为重复定义或其他原因造成冲突而报错。可以通过如下方式查看已存在的公共区(Public Zone)内的服务与端口情况,从而判断是否存在相似项影响正常添加新的监听端口: ```bash firewall-cmd --zone=public --list-all ``` #### 5. 审核日志文件 对于更复杂的场景下发生的未知问题,查阅系统日志有助于定位具体成因。CentOS 中的日志路径一般位于 `/var/log/messages` 或者借助 journalctl 工具读取最新记录: ```bash journalctl -xe | grep firewalld ``` 以上措施能够有效处理大部分情况下由于不当输入或是环境因素引起的 `firewall-cmd` 执行失败状况。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学无止境gwx

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值