openEuler怎么配置访问白名单?

版本:openEuler-release 22.03 LTS
使用firewalld配置防火墙实现ip访问白名单没有效果

sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="100.100.1.100" accept' --permanent
sudo firewall-cmd --reload

配置了只有100.100.1.100这个ip才能访问服务器,reload了防火墙设置以后,查看防火墙list,能够看到策略已经在生效,防火墙状态也是active,但是使用没在白名单上的ip也还是能正常访问服务器。
openEuler配置白名单访问是需要怎么配置呢?

经过实测可以使用 firewalld 防火墙的 priority 参数来设置优先级( -3276732767),数字越小,优先级越高。因此按照以下方法添加 rich 规则:

# 放通单个 IP,设置高优先级:
firewall-cmd --zone=public --add-rich-rule='rule priority="-100" family="ipv4" source address="192.168.230.224" accept'

# 拒绝所有 IP,设置默认优先级:
firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="0.0.0.0/0" reject'

# 加载规则:
firewall-cmd --reload

# 查看规则:
firewall-cmd --zone=public --list-rich-rule
rule priority="-100" family="ipv4" source address="192.168.230.224" accept
rule family="ipv4" source address="0.0.0.0/0" reject

ping 测试结果如下,左侧机器 IP 为 192.168.230.224:

ssh 测试结果如下,左侧机器 IP 为 192.168.230.224:

1 个赞

解决了 感谢!