这里是普通文章模块栏目内容页
Centos系统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)放行连续的端口(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