需求说明:
现有三台机器,系统都是centos7
192.168.100.100
192.168.100.101 开启防火墙firewalld,上面有web服务nginx,监听80端口
192.168.100.102
需要让192.168.100.102可以访问101机器的80端口,192.168.100.100不允许访问101的80端口
如何设置防火墙规则?
1.查看101上当前防火墙规则
firewall-cmd --list-all
#通过查看101机器的防火墙规则,发现已经开放了80端口,即执行了下面这句
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
此时任意能访问到101 ip的都可以访问nginx的web服务端口80
2.配置防火墙规则,限制指定ip-192.168.100.102访问指定端口80
关键点:移除现有的规则
# 移除现有规则 (此步骤相当重要,很多文章和博客都没提及到)
firewall-cmd --permanent --zone=public --remove-port=80/tcp
firewall-cmd --reload
# 在192.168.100.100 102上测试访问
curl 192.168.100.101
发现均无法再访问101的80端口
# 设置规则
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.100.102" port protocol="tcp" port="80" accept"
firewall-cmd --reload
# 测试访问
curl 192.168.100.101
# 100无法访问 102可以访问
至此实现了通过防火墙firewalld设置规则,指定ip访问指定端口
3.防火墙规则设置扩展内容
# 禁止指定ip 访问某个端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.100.200" port protocol="tcp" port="80" reject"
# 禁止某个段的ip 访问某个端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="80" reject"
# 允许指定ip 访问所有端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.100.100" port protocol="tcp" accept"
#
参考资料:文章来源:https://www.toymoban.com/news/detail-525509.html
第2篇:Linux防火墙-firewalld的rich规则配置_firewalld rich rule_jiecy的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-525509.html
到了这里,关于firewalld 设置规则只允许指定ip访问指定端口 —— 筑梦之路的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!