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 就没用了。

相关推荐
苏三说技术9 小时前
LangChain4j 和 LangGraph4j,哪个更好?
后端
ServBay11 小时前
7 个AI开发中真正用得上的 MCP Server,配合Claude Code食用效果更佳
后端·claude·mcp
妙码生花11 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十五):优化细节、网络请求封装
前端·后端·ai编程
用户67570498850211 小时前
Go 语言里判断字符串为空,90% 的人都写错了!
后端·go
用户67570498850212 小时前
Go 进阶必修:90% 的人都没用对的“表驱动法”
后端·go
小兔崽子去哪了12 小时前
Java 生成二维码解决方案
java·后端
苍何12 小时前
懂事的 Agent 已经开始自己看屏幕干活了,效率起飞!
后端
掘金码甲哥12 小时前
1分钟买不了吃亏系列: nginx动态域名解析
后端
神奇小汤圆12 小时前
2026大厂Java岗面试记录:八股+场景+项目+AI,一文讲透快速上岸路径(含答案)
后端