You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将iptables规则迁移至firewalld:配置ICMP白名单访问规则

解决firewalld下仅允许指定IP/子网ping的配置问题

我来帮你搞定这个规则迁移的事儿——其实你之前的问题大概率是没摸透firewalld富规则的匹配逻辑,咱们直接上可行的配置步骤:

核心思路

firewalld的规则是按顺序匹配的,咱们只需要先添加「允许指定来源发起ping请求」的规则,最后再添加「拒绝所有其他ICMP流量」的规则,就能实现你要的效果:阻止所有ICMP,仅放开指定IP/子网的ping。

具体配置步骤

注意:所有命令加上--permanent是让规则永久生效,避免重启firewalld后丢失;配置完记得重载规则。

  1. 允许IT子网发起ping请求
    ping对应的是ICMP的echo-request类型,执行这条命令添加规则:

    firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.10.0/24" icmp-type name="echo-request" accept' --permanent
    
  2. 允许监控服务器发起ping请求
    同样针对echo-request,添加单独的富规则:

    firewall-cmd --add-rich-rule='rule family="ipv4" source address="10.10.10.10" icmp-type name="echo-request" accept' --permanent
    
  3. 拒绝所有其他ICMP流量
    这条规则要放在最后,确保前面的允许规则先匹配到:

    firewall-cmd --add-rich-rule='rule family="ipv4" protocol value="icmp" reject' --permanent
    
  4. 重载firewalld使规则生效

    firewall-cmd --reload
    

后续新增指定IP的方法

如果之后要加新的允许IP,只需要重复步骤2的命令,替换成新的IP即可,比如:

firewall-cmd --add-rich-rule='rule family="ipv4" source address="172.16.1.5" icmp-type name="echo-request" accept' --permanent
firewall-cmd --reload

验证配置是否生效

  • 从IT子网内的机器ping服务器,应该能正常通
  • 用监控服务器10.10.10.10ping服务器,也能正常通
  • 用其他未授权的IP ping,会收到「请求超时」或「拒绝连接」的反馈

内容的提问来源于stack exchange,提问作者RunThor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:21:47