一、查看防火墙状态
systemctl status firewalld
开启防火墙并设置开机自动启动
#启动防火墙
systemctl start firewalld
#设置为开机启动
systemctl enable firewalld
二、开放或限制端口
1、开放端口
(1)如我们需要开启tomcat使用的8080端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
其中--permanent的作用是使设置永久生效,不加的话机器重启之后失效
(2)重新载入一下防火墙设置,使设置生效
firewall-cmd --reload
(3)可通过如下命令查看是否生效
firewall-cmd --zone=public --query-port=8080/tcp
(4)如下命令可查看当前系统打开的所有端口
firewall-cmd --zone=public --list-ports
(5)如下命令可查看当前系统防火墙所有规则
firewall-cmd --list-all
2、限制端口
(1)比如我们现在需要关掉刚刚打开的8080端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
(2)重新载入一下防火墙设置,使设置生效
firewall-cmd --reload
(3)再去查看系统所有开放的端口,已经看到没有8080端口了
firewall-cmd --zone=public --list-ports
(4)查看当前系统防火墙的所有规则
firewall-cmd --list-all
3、批量开放或限制端口
(1)批量开放端口,如从10000到10100这之间的端口我们全部要打开(不限制ip访问)
firewall-cmd --zone=public --add-port=10000-10100/tcp --permanent
(2)重新载入一下防火墙设置,使设置生效
firewall-cmd --reload
(3)查看系统所有开放的端口,可以看到从10000到10100的端口已被全部开放
firewall-cmd --zone=public --list-ports
(4)同理,批量限制端口为
firewall-cmd --zone=public --remove-port=10000-10100/tcp --permanent
firewall-cmd --reload
三、开放或限制IP
1、限制IP地址访问
(1)比如限制单个IP为172.19.8.90的地址禁止访问3679端口,即针对端口禁止访问机器ip
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.19.8.90" port protocol="tcp" port="3679" reject"
(2)重新载入一下防火墙设置,使设置生效
firewall-cmd --reload
(3)查看已经设置的规则
firewall-cmd --zone=public --list-rich-rules
2、解除IP地址限制
(1)解除刚才被限制的172.19.8.90
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="172.19.8.90" port protocol="tcp" port="3679" accept"
(2)重新载入一下防火墙设置,使设置生效
firewall-cmd --reload
(3)再查看规则设置发现已经没有172.19.8.90的限制了
firewall-cmd --zone=public --list-rich-rules
或
firewall-cmd --list-all
如设置未生效,可尝试直接编辑规则文件,删掉原来的设置规则,重新载入一下防火墙即可
vi /etc/firewalld/zones/public.xml
(1)如我们需要限制192.168.172.0-192.168.172.255这一整个段的IP,禁止他们访问443端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.172.0/24" port protocol="tcp" port="443" reject"
可以按位记,例:
针对IP:192.168.172.18,从左侧开始,每一个点位代表8位,规律为
192.0.0.0/8,代表192开头的所有ip;
192.168.0.0/16,代表192.168开头的所有ip;
192.168.172.0/24,代表192.168.172开头的所有ip。
(2)重新载入一下防火墙设置,使设置生效
firewall-cmd --reload
(3)查看规则,确认是否生效
firewall-cmd --zone=public --list-rich-rules
4)同理,打开限制为
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.172.0/24" port protocol="tcp" port="443" accept"
firewall-cmd --reload