RHEL 9
查看防火墙状态:
systemctl status firewalld
如果防火墙被关闭,启动:
sudo systemctl start firewalld
sudo systemctl enable firewalld
添加规则:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.0.0/24" port port="3306" protocol="tcp" accept'
这里是开放整个网段访问 3306 端口。
重载防火墙让规则生效:
sudo firewall-cmd --reload
查看当前规则:
sudo firewall-cmd --list-rich-rules
从该网段机器上使用 TCP 工具进行连接测试:
telnet 192.168.0.88 3306
Trying 192.168.0.88...
Connected to 192.168.0.88.
Ubuntu
让防火墙放行 3306 端口:
sudo ufw allow from 192.168.0.0/24 to any port 3306 proto tcp
192.168.0.0/24
表示 192.168.0.1~192.168.0.255 的所有 IP 可以访问。如果不限制 IP 可以:sudo ufw allow 3306/tcp
查看当前的防火墙规则:
sudo ufw status numbered
状态: 激活
至 动作 来自
- -- --
[ 1] 22/tcp ALLOW IN Anywhere
[ 2] 3306/tcp ALLOW IN 192.168.0.0/24
[ 3] 22/tcp (v6) ALLOW IN Anywhere (v6)
如果要删除特定规则,可以:
sudo ufw delete 2
通过该网段其它电脑测试连接:
telnet 192.168.0.133 3306
Trying 192.168.0.133...
Connected to 192.168.0.133.
Escape character is '^]'.
Windows
需要修改 Windows Defender 防火墙设置。
新建一个入站规则:
选择端口:
选择特定本地端口:
选择允许连接:
应用规则全选:
为规则添加一个名称:
创建好后的端口可以被任意 IP 的机器访问,这是不安全的,所以需要添加 IP 限制:
修改规则属性,在作用域选项卡中添加规则限制:
如果需要让整个子网网段都可以访问,可以使用192.168.0.0/24
这样带子网掩码的方式。
使用 TCP 连接工具通过指定 IP 进行连接测试:
telnet 192.168.0.46 3306
Trying 192.168.0.46...
Connected to 192.168.0.46.
文章评论