UFW 限制指定 IP 访问 MySQL 3306 端口

只允许指定 IP 访问 3306 端口,拒绝所有其他 IP,这是最安全的 MySQL 防火墙配置。

一、核心命令(直接用)

1. 允许 单个指定 IP 访问 3306

运行

css 复制代码
ufw allow from 192.168.1.100 to any port 3306 proto tcp

192.168.1.100 换成你允许访问的 IP即可。

2. 拒绝 所有其他 IP 访问 3306

运行

bash 复制代码
ufw deny 3306/tcp

3. 重载 UFW 使规则生效

运行

复制代码
ufw reload

二、如果你需要 允许多个 IP

依次执行多条命令:

运行

css 复制代码
ufw allow from 192.168.1.100 to any port 3306 proto tcp
ufw allow from 112.34.56.78 to any port 3306 proto tcp
ufw deny 3306/tcp
ufw reload

三、检查规则是否生效

运行

lua 复制代码
ufw status

你会看到类似这样的结果(表示配置成功):

bash 复制代码
3306/tcp        DENY        Anywhere
3306/tcp        ALLOW       192.168.1.100

四、常用辅助命令

开启 UFW(如果没开)

运行

bash 复制代码
ufw enable

删除一条错误规则

运行

sql 复制代码
ufw delete allow from 192.168.1.100 to any port 3306 proto tcp

清空所有 UFW 规则

运行

perl 复制代码
ufw reset

总结

  1. 先允许指定 IPufw allow from IP to any port 3306
  2. 再拒绝所有其他 IPufw deny 3306
  3. 重载生效ufw reload
  4. 查看状态ufw status

UFW 删除指定 IP 访问 3306 端口

我给你最准确、直接可用的删除命令,一步到位。

1. 直接删除指定 IP 规则(最常用)

192.168.1.100 换成你要删除的 IP 即可:

运行

sql 复制代码
ufw delete allow from 192.168.1.100 to any port 3306 proto tcp

2. 先查看规则编号,再按编号删除(更稳妥)

第一步:查看规则列表

运行

lua 复制代码
ufw status numbered

你会看到类似:

bash 复制代码
[ 1] 3306/tcp DENY IN Anywhere
[ 2] 3306/tcp ALLOW IN 192.168.1.100

第二步:按编号删除

比如要删除第 2 条:

运行

arduino 复制代码
ufw delete 2

3. 删除后重载生效

运行

复制代码
ufw reload

4. 确认是否删除成功

运行

lua 复制代码
ufw status

总结

  • 直接删 IPufw delete allow from IP to any port 3306 proto tcp
  • 按编号删ufw status numberedufw delete 编号
  • 生效ufw reload

切记:UFW 是从上到下匹配,只要前面允许了全网,后面 deny 就没用了。

相关推荐
zyplayer-doc4 小时前
VuePress类静态文档站和动态知识库怎么选:两种技术路线的适用场景
javascript·人工智能·后端·安全·智能手机
用户938515635076 小时前
从前后端分离到前端接口工程:React + MockJS + Vite 解析
前端·后端·全栈
码事漫谈7 小时前
世界由什么构成——这个问题比你想的更缠人
后端
摇滚侠7 小时前
《SpringBoot 3:入门与应用实战》第 2 章 IOC 思想与实现 阅读笔记 1
spring boot·笔记·后端
山荷枝7 小时前
03-框架--Spring
java·后端·spring
ChaHae-In8 小时前
SpringBoot统一功能处理
java·spring boot·后端
65岁退休Coder10 小时前
LangChain v1.3.4 笔记 - 07 补充:链式调用 LCEL
后端·python·langchain
卷无止境10 小时前
FastAPI 部署在 Nginx 后面到底该怎么配
后端·python