端口放行限制
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)放行连续的端口(000-2000)
firewall-cmd --permanent --zone=public --add-port=000-2000/tcp firewall-cmd --reload
4)放行不连续的端口(9000,900)
firewall-cmd --permanent --zone=public --add-port=9000/tcp --add-port=900/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="92.68..0/32" port protocol="tcp" port="2345" accept" firewall-cmd --reload
2)禁用放行IP地址及端口
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="92.68..0/32" port port="2345" protocol="tcp" accept" firewall-cmd --reload
3)放行IP地址及连续的端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="92.68..0/32" port port="8080-808" protocol="tcp" accept" firewall-cmd --reload
4)禁用放行IP地址及连续的端口
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="92.68..0/32" port port="8080-808" 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="92.68..0" firewall-cmd --reload
删除:
firewall-cmd --permanent --ipset=ssh_22 --remove-entry="92.68..0" 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