_

centos 防火墙永久封禁IP段

航仔 3天前 ⋅ 11 阅读

在 CentOS 系统中使用 firewall-cmd 永久封禁 85.x.x.x 网段(需明确子网掩码,以下以最常用的 /8 网段为例,即封禁整个 85.0.0.0 - 85.255.255.255 段),操作步骤如下:

一、核心命令(封禁 85.x.x.x 网段)

1. 封禁单个网段(以 85.0.0.0/8 为例)

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="85.0.0.0/8" reject'
  • 若需精准封禁更小网段(如 85.10.0.0/16、85.10.20.0/24),只需修改 address 后的网段(例如 85.10.0.0/16)。
  • reject:拒绝该网段所有流量(主动返回拒绝包);若需 “静默丢弃”(不返回任何包),可替换为 drop

2. 重载防火墙使规则生效

永久规则需重载后才会生效:
firewall-cmd --reload

二、验证封禁规则是否生效

1. 查看已添加的永久规则

firewall-cmd --permanent --list-rich-rules
若输出中包含 rule family="ipv4" source address="85.0.0.0/8" reject,说明规则已成功添加。

2. 查看运行时规则(确认重载后生效)

firewall-cmd --list-rich-rules

三、补充说明

  1. 网段掩码说明
    • 85.0.0.0/8:封禁整个 85 开头的 IP 段(85.0.0.0 ~ 85.255.255.255)。
    • 85.a.0.0/16:封禁 85.a.x.x 段(a 为具体数字,如 85.10.0.0/16)。
    • 85.a.b.0/24:封禁 85.a.b.x 段(如 85.10.20.0/24)。
    • 若只需封禁单个 IP(如 85.1.2.3),地址写 85.1.2.3/32 即可。
  2. 解除封禁:若需取消该网段封禁,执行:
     
    firewall-cmd --permanent --remove-rich-rule='rule family="ipv4" source address="85.0.0.0/8" reject'
    firewall-cmd --reload  # 重载生效
    
  3. 注意事项
    操作前确保 firewalld 服务已启动:systemctl start firewalld && systemctl enable firewalld 避免误封自身网段或业务所需 IP,建议先测试规则(临时规则:去掉 --permanent,重启防火墙后失效)。

示例(精准封禁 85.123.45.0/24 段)

# 添加永久封禁规则
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="85.123.45.0/24" drop'
# 重载生效
firewall-cmd --reload
# 验证
firewall-cmd --list-rich-rules

全部评论: 0

    我有话说: