admin管理员组文章数量:1642342
Firewalld是Linux下的新一代系统防火墙管理工具,相比于旧有的iptables工具,提供了更多的管理功能,像基于zones管理访问授权,动态加载规则等。不过很多高级功能我们日常并不会有机会使用到。所以,在这里我们并不讨论firewalld原理上的东西。工作中经常遇到的情况是配置基于端口、服务的各种访问授权与放行规则。本文提供一些这些方面的常用配置方法,以供参考。
常规配置方法
端口放行限制
1)放开UDP 161/162端口
firewall-cmd --permanent --zone=public --add-port=161/udp
firewall-cmd --permanent --zone=public --add-port=162/udp
firewall-cmd --reload //更新防火墙规则
2)禁用UDP 161/162端口
firewall-cmd --permanent --zone=public --remove-port=161/udp
firewall-cmd --permanent --zone=public --remove-port=162/udp
firewall-cmd --reload
3)放行连续的端口(1000-2000)
firewall-cmd --permanent --zone=public --add-port=1000-2000/tcp
firewall-cmd --reload
4)放行不连续的端口(9000,9001)
firewall-cmd --permanent --zone=public --add-port=9000/tcp --add-port=9001/tcp
firewall-cmd --reload
服务放行限制
1)放行ssh服务
firewall-cmd --permanent --zone=public --add-service=ssh
firewall-cmd --reload
2)禁用ssh服务
firewall-cmd --permanent --zone=public --remove-service=ssh
firewall-cmd --reload
带源地址的端口放行限制
1)放行IP地址及端口
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.110/32" port protocol="tcp" port="12345" accept"
firewall-cmd --reload
2)禁用放行IP地址及端口
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.110/32" port port="12345" protocol="tcp" accept"
firewall-cmd --reload
3)放行IP地址及连续的端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.110/32" port port="8080-8081" protocol="tcp" accept"
firewall-cmd --reload
4)禁用放行IP地址及连续的端口
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.110/32" port port="8080-8081" protocol="tcp" accept"
firewall-cmd --reload
查看开启的端口和服务
1)查看当前放行的服务
firewall-cmd --permanent --zone=public --list-services
2)查看当前放行的端口
firewall-cmd --permanent --zone=public --list-ports
3)查看服务是否生效(例:添加的端口为8080)
firewall-cmd --zone=public --query-port=8080/tcp
4)查看所有富规则(rich rules)
firewall-cmd --list-rich-rules
5)查看默认域下的所有规则
firewall-cmd --list-all
6)从配置文件中加载配置
firewall-cmd --reload
ipset集合配置方法
ipset本身是Linux系统中配置防火墙规则的一个工具,擅长于批量管理需要进行访问控制的IP地址,且相对于常规配置方法,ipset不会明显降低过滤效率。
使用ipset方法配置规则时需要安装ipset工具包。
yum -y install ipset
获取指定ipset信息
firewall-cmd --get-ipsets
firewall-cmd --info-ipset=[ipset_name]
新增ipset
firewall-cmd --permanent --new-ipset=[ipset_name] --type=[type] --option
例如:
firewall-cmd --permanent --new-ipset=ssh_22 --type=hash:net
firewall-cmd --reload
将ipset应用到firewalld域策略中
firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source ipset="ssh_22" port port=22 protocol=tcp accept'
firewall-cmd --reload
向ipset集合中新增/删除需要放行的IP地址记录
增加:
firewall-cmd --permanent --ipset=ssh_22 --add-entry="192.168.1.110"
firewall-cmd --reload
删除:
firewall-cmd --permanent --ipset=ssh_22 --remove-entry="192.168.1.110"
firewall-cmd --reload
查看ipset集合中的地址
firewall-cmd --permanent --ipset=ssh_22 --get-entries
删除ipset
删除firewalld中的域放行策略
firewall-cmd --permanent --zone=public --remove-rich-rule="rule family="ipv4" source ipset="ssh_22" port protocol="tcp" port="22" accept"
firewall-cmd --reload
清除ipset集合
firewall-cmd --permanent --delete-ipset=ssh_22
firewall-cmd --reload
版权声明:本文标题:Centos 7系统firewalld防火墙常用配置方法参考 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1729336394a1197038.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论