赞
踩
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本身是Linux系统中配置防火墙规则的一个工具,擅长于批量管理需要进行访问控制的IP地址,且相对于常规配置方法,ipset不会明显降低过滤效率。
使用ipset方法配置规则时需要安装ipset工具包。
yum -y install ipset
firewall-cmd --get-ipsets
firewall-cmd --info-ipset=[ipset_name]
firewall-cmd --permanent --new-ipset=[ipset_name] --type=[type] --option
例如:
firewall-cmd --permanent --new-ipset=ssh_22 --type=hash:net
firewall-cmd --reload
firewall-cmd --permanent --zone=public --add-rich-rule 'rule family="ipv4" source ipset="ssh_22" port port=22 protocol=tcp accept'
firewall-cmd --reload
增加:
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
firewall-cmd --permanent --ipset=ssh_22 --get-entries
删除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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。