RHEL 7下如何通过firewall-cmd限制80端口仅允许特定IP段访问
RHEL 7下如何通过firewall-cmd限制80端口仅允许特定IP段访问
嗨,这个需求用firewall-cmd完全能搞定,不用换其他方法,按下面的步骤操作就行:
第一步:先移除原有开放80端口的全局规则
你之前设置的规则是允许所有IP访问80端口,必须先删掉它,否则新的限制规则会失效。执行这条命令:firewall-cmd --permanent --zone=public --remove-port=80/tcp --remove-port=80/udp第二步:添加仅允许指定IP段访问的富规则
firewall-cmd的富规则能精准控制源IP和端口的访问权限,正好适合你的场景。以7.7.7.0/24为例,分别添加TCP和UDP协议的允许规则:# 允许7.7.7.0/24网段访问80端口(TCP) firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="7.7.7.0/24" port protocol="tcp" port="80" accept' # 允许7.7.7.0/24网段访问80端口(UDP) firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="7.7.7.0/24" port protocol="udp" port="80" accept'如果还有其他需要放行的IP段,只要把命令里的
7.7.7.0/24换成对应的网段,重复执行即可。第三步:重新加载防火墙使规则生效
所有规则配置完成后,执行这条命令让新规则立即生效:firewall-cmd --reload
验证配置是否正确
你可以用以下命令检查规则状态:
- 查看已添加的富规则:
firewall-cmd --zone=public --list-rich-rules - 确认80端口已不在全局开放列表中:
firewall-cmd --zone=public --list-ports
这样配置后,就只有你指定的IP段能访问80端口了,其他外部IP都会被防火墙拦截。
备注:内容来源于stack exchange,提问作者BrilliantContract
相关产品推荐
相关产品推荐

