Centos7/8 Linux 防火墙
安装firewall
yum install firewalld firewalld-config
配置
安全组配置完3306后,端口依旧被禁用,Navicat连不上mysql
执行下面前3条语句解决:
-
查看防火墙某个端口是否开放
firewall-cmd --query-port=3306/tcp
-
开放防火墙端口3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
注:开放端口后要重启防火墙生效 -
重启防火墙
systemctl restart firewalld 或 firewall-cmd --reload
-
关闭防火墙端口
firewall-cmd --remove-port=3306/tcp --permanent
-
查看防火墙状态
systemctl status firewalld
-
关闭防火墙
systemctl stop firewalld
-
打开防火墙
systemctl start firewalld
-
开放指定区间端口
firewall-cmd --zone=public --add-port=3000-5000/tcp --permanent
参数说明:
–zone 作用域
–add-port=8080/tcp 添加端口,格式为:端口/通讯协议
–permanent 永久生效,没有此参数重启后失效 -
查看开放的端口列表
firewall-cmd --zone=public --list-ports
-
查看被监听(Listen)的端口
netstat -lntp
-
检查端口被哪个进程占用
netstat -lnp|grep 3306
修改
- 配置文件目录
/etc/firewalld/
- 直接编辑防火墙文件进行修改
vim /etc/firewalld/zones/public.xml
<?xml version="1.0" encoding="utf-8"?>
<zone>
<short>Public</short>
<description>For use in public areas.</description>
<!--1. 放通指定ip,指定端口、指定协议 -->
<!--开放通源ip为192.168.204.1,端口3306,协议udp-->
<rule family="ipv4">
<source address="192.168.204.1"/>
<port protocol="tcp" port="3306"/>
<accept/>
</rule>
<!--开放通源ip为192.168.204.2,端口3000-5000,协议tcp-->
<rule family="ipv4">
<source address="192.168.204.2"/>
<port protocol="tcp" port="3000-5000"/>
<accept/>
</rule>
<!--开放通源ip为192.168.204.3,端口80,协议tcp-->
<rule family="ipv4">
<source address="192.168.204.3"/>
<port protocol="tcp" port="80"/>
<accept/>
</rule>
<!--放通任意ip访问服务器的8080端口-->
<!--开放通源ip为任意,端口8080,协议tcp-->
<rule family="ipv4">
<port protocol="tcp" port="8080"/>
<accept/>
</rule>
<!--也可写成下面这样-->
<port port="8080" protocol="tcp"/>
</zone>
PS图示
PS其他
查看版本:
firewall-cmd --version
查看帮助:
firewall-cmd --help
查看区域信息:
firewall-cmd --get-active-zones
查看指定接口所属区域信息:
firewall-cmd --get-zone-of-interface=ens33
拒绝所有包:
firewall-cmd --panic-on
取消拒绝状态:
firewall-cmd --panic-off
查看是否拒绝:
firewall-cmd --query-panic
查看防火墙状态:
systemctl status firewalld 或 firewall-cmd --state
两个有区别
开启防火墙:
systemctl start firewalld
关闭防火墙:
systemctl stop firewalld
设置开机启动:
systemctl enable firewalld
停止并禁用开机启动:
systemctl disable firewalld
重启防火墙:
systemctl restart firewalld 或 firewall-cmd --reload
说明
1.以上非官方教程,仅为自己的一点经验总结,仅供参考!
2.本文全为博主原创,若进行转载,需注明出处、来源,侵权必究