查看防火墙状态
systemctl status firewalld
关闭防火墙,重启后失效
systemctl stop firewalld
暂时关闭后,开启防火墙
systemctl start firewalld
关闭防火墙,重启后仍保持关闭
systemctl disable firewalld
开启防火墙
systemctl enable firewalld
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
1、firewalld的基本使用
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
2.systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
3.配置firewalld-cmd
查看版本: firewall-cmd --version
查看帮助: firewall-cmd --help
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
更新防火墙规则: firewall-cmd --reload
查看区域信息: firewall-cmd --get-active-zones
查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
拒绝所有包:firewall-cmd --panic-on
取消拒绝状态: firewall-cmd --panic-off
查看是否拒绝: firewall-cmd --query-panic
那怎么开启一个端口呢
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone= public --query-port=80/tcp
删除
firewall-cmd --zone= public --remove-port=80/tcp --permanent
firewall-cmd --zone=public --remove-port=3306/tcp --permanent
链接:https://blog.csdn.net/ywd1992/article/details/80401630
一、查看防火墙状态
1、首先查看防火墙是否开启,如未开启,需要先开启防火墙并作开机自启
systemctl status firewalld
开启防火墙并设置开机自启
systemctl start firewalld
systemctl enable firewalld
一般需要重启一下机器,不然后面做的设置可能不会生效
二、开放或限制端口
1、开放端口
(1)如我们需要开启XShell连接时需要使用的22端口
firewall-cmd --zone=public --add-port=22/tcp --permanent
其中--permanent的作用是使设置永久生效,不加的话机器重启之后失效
(2)重新载入一下防火墙设置,使设置生效
firewall-cmd --reload
(3)可通过如下命令查看是否生效
firewall-cmd --zone=public --query-port=22/tcp
(4)如下命令可查看当前系统打开的所有端口
firewall-cmd --zone=public --list-ports
2、限制端口
(1)比如我们现在需要关掉刚刚打开的22端口
firewall-cmd --zone=public --remove-port=22/tcp --permanent
(2)重新载入一下防火墙设置,使设置生效
firewall-cmd --reload
(3)再去查看系统所有开放的端口,已经看到没有22端口了
firewall-cmd --zone=public --list-ports
3、批量开放或限制端口
(1)批量开放端口,如从100到500这之间的端口我们全部要打开
firewall-cmd --zone=public --add-port=100-500/tcp --permanent
(2)重新载入一下防火墙设置,使设置生效
firewall-cmd --reload
(3)查看系统所有开放的端口,可以看到从100到500的端口已被全部开放
firewall-cmd --zone=public --list-ports
(4)同理,批量限制端口为
firewall-cmd --zone=public --remove-port=100-500/tcp --permanent
firewall-cmd --reload
三、开放或限制IP
1、限制IP地址访问
(1)比如限制IP为192.168.0.200的地址禁止访问80端口即禁止访问机器
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" reject"
(2)重新载入一下防火墙设置,使设置生效
firewall-cmd --reload
(3)查看已经设置的规则
firewall-cmd --zone=public --list-rich-rules
2、解除IP地址限制
(1)解除刚才被限制的192.168.0.200
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.200" port protocol="tcp" port="80" accept"
(2)重新载入一下防火墙设置,使设置生效
firewall-cmd --reload
(3)再查看规则设置发现已经没有192.168.0.200的限制了
firewall-cmd --zone=public --list-rich-rules
如设置未生效,可尝试直接编辑规则文件,删掉原来的设置规则,重新载入一下防火墙即可
vi /etc/firewalld/zones/public.xml
3、限制IP地址段
(1)如我们需要限制10.0.0.0-10.0.0.255这一整个段的IP,禁止他们访问
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="10.0.0.0/24" port protocol="tcp" port="80" reject"
其中10.0.0.0/24表示为从10.0.0.0这个IP开始,24代表子网掩码为255.255.255.0,共包含256个地址,即从0-255共256个IP,即正好限制了这一整段的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="10.0.0.0/24" port protocol="tcp" port="80" accept"
firewall-cmd --reload