关于firewalld富规则是否不受区域允许服务限制生效的技术咨询
firewalld富规则是否不受区域允许服务限制生效的技术咨询
嗨,我来帮你明确这个问题的答案:是的,你添加的这条富规则会正常生效,完全不受当前public区域服务列表里只有ssh和dhcpv6-client的影响。
原因很简单,firewalld里的「富规则」和「服务列表」是两套独立的规则配置逻辑,而且富规则的优先级更高:
- 服务列表里的条目(比如
ssh、dhcpv6-client)本质是调用firewalld预定义的服务模板,这些模板封装了对应服务的端口、协议等基础规则,方便批量配置。 - 而你手动添加的富规则是更精细化的自定义规则,你直接指定了源CIDR、目标端口、协议和允许动作,它会直接被firewalld纳入规则集,不需要依赖任何预定义服务。
具体到你的场景:
你执行的这条命令:
firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="[CENSORED]" port port=443 protocol=tcp accept'
只要你执行firewall-cmd --reload让永久规则生效后,来自指定CIDR段的443/TCP流量就会被public区域允许通过——哪怕你从来没有在这个区域添加过https服务,也完全不影响。
额外提一句:如果之后你给public区域添加了https服务(firewall-cmd --permanent --zone=public --add-service=https),那会允许所有来源的443/TCP流量,而你的富规则依然会优先匹配特定CIDR的流量,两者可以共存,不会冲突。
备注:内容来源于stack exchange,提问作者Prithvi Boinpally
相关产品推荐
相关产品推荐

