在 CentOS 系统上使用 firewalld 封禁某个 IP 地址的步骤如下:
- 确保 firewalld 已安装并运行:
```
systemctl status firewalld
```
如果没有运行,启动 firewalld:
```
systemctl start firewalld
systemctl enable firewalld
```
- 使用 firewall-cmd 命令临时封禁IP:
```
firewall-cmd --add-rich-rule='rule family="ipv4" source address="x.x.x.x" reject' --timeout=0
```
将 x.x.x.x 替换为要封禁的 IP 地址。--timeout=0 使规则持续生效。
- 如果需要永久封禁该 IP,请运行:
```
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="x.x.x.x" reject'
```
- 重新加载防火墙使永久规则生效:
```
firewall-cmd --reload
```
- 查看当前生效的规则:
```
firewall-cmd --list-rich-rules
```
- 如果需要解除 IP 封禁,可以运行:
```
firewall-cmd --remove-rich-rule='rule family="ipv4" source address="x.x.x.x" reject'
```
同样需要 --reload 使规则生效。
通过以上步骤,就可以使用 firewalld 在 CentOS 系统上临时或永久封禁某个来源 IP 地址的访问。firewalld 提供了直观的命令行界面,也允许配置更复杂的防火墙规则。