配置ufw防火墙需按“设默认策略→放行必要入口→再启用”顺序操作,避免ssh断连;先查状态、装软件(如未预装),再设默认拒绝入站/允许出站,放行ssh等关键端口,最后启用;云服务器须配合安全组使用。

配置 UFW 防火墙不难,关键在于顺序合理、规则明确。新手最常出错的地方不是命令记不住,而是跳过前置准备就直接启用,结果 SSH 断连、服务不可达。只要按“设默认策略 → 放行必要入口 → 再启用防火墙”这个逻辑走,就能稳住远程连接,同时建立最小化防护面。
先确认状态和基础环境
执行 sudo ufw status 查看当前状态。若显示 Status: inactive,说明防火墙未运行,所有规则都不生效;若提示 command not found,则需先安装:sudo apt install ufw -y(Ubuntu 24.04 默认已预装,但精简镜像可能删掉)。不要依赖 ufw version 判断是否可用——它只输出版本号,不反映运行状态。
启用前必须完成的三步设置
远程服务器上,切勿先执行 sudo ufw enable。否则防火墙一激活,所有入站连接立刻被拦,SSH 就断了。正确顺序是:
PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。
- 设置默认策略:sudo ufw default deny incoming(拒绝所有未经允许的入站)和 sudo ufw default allow outgoing(允许所有出站,不影响系统更新或调用外部 API)
- 放行你的管理通道:比如 SSH 默认端口 22,运行 sudo ufw allow 22/tcp;如果改过端口(如 2222),就写 sudo ufw allow 2222/tcp。不建议用 sudo ufw allow ssh,因为该别名依赖配置文件,在某些系统中可能失效
- 最后才启用:sudo ufw enable。成功后终端会输出 Firewall is active and enabled on system startup
按需添加常用访问规则
规则本质就是定义“谁、用什么协议、访问哪个端口”。常见场景写法如下:
- 开放网站服务:sudo ufw allow 80/tcp 和 sudo ufw allow 443/tcp(不用 http/https 别名,更直接可靠)
- 限制数据库仅内网访问:sudo ufw allow from 192.168.1.0/24 to any port 3306 proto tcp
- 只允某个运维 IP 连 SSH:sudo ufw allow from 203.0.113.45 to any port 22
- 开放端口段(如开发调试):sudo ufw allow 8080:8090/tcp;UDP 需单独加一条:sudo ufw allow 53/udp
查规则、删规则、开日志
规则加多了容易混乱,日常维护靠这几个命令:
- 查看带编号的规则列表:sudo ufw status numbered(比单纯 status 更适合后续删除)
- 按编号删规则(最安全):sudo ufw delete 3(删第 3 条);避免用 sudo ufw delete allow 80,它可能误删 TCP/UDP 两条规则
- 开启日志记录便于排查:sudo ufw logging on,日志存于 /var/log/ufw.log
云服务器用户注意:阿里云、腾讯云等平台的安全组是第一道过滤,UFW 是第二道。应先在安全组里收紧(例如只放行你办公室 IP 访问 2222),再用 UFW 做细粒度控制(比如禁止某内网 IP 访问 Redis 6379)。两者别叠加放开,也别同时启用 iptables —— 它们底层冲突,会导致规则失效或异常拦截。










