Linux如何配置ufw简易防火墙_Linux ufw简易防火墙配置实战

浅晨同学_4300

浅晨同学_4300

2026-04-04

374人浏览

原创

远程连不上服务器大概率因ufw启用前未放行ssh端口;须先sudo ufw allow 22/tcp再sudo ufw enable,且default deny incoming前必须已配置ssh规则,否则将被锁。

linux如何配置ufw简易防火墙_linux ufw简易防火墙配置实战

远程连不上服务器?大概率是 ufw 启用前没放行 SSH 端口,直接把自己锁在外面了。这不是配置失败,而是顺序错了——先设规则,再启防火墙,这是唯一安全路径。

ufw status 显示 inactive 就别急着 enable

几乎所有刚接触 ufw 的人第一步就卡在这儿:sudo ufw status 输出 Status: inactive,以为要立刻 enable。其实此时防火墙根本没在工作,所有端口天然放行。贸然 enable 且无规则,等于瞬间切断所有入站连接。

  • 必须先确认当前是否已有其他防火墙(如 iptables 或 nftables)在运行,冲突会导致规则不生效:运行 sudo iptables -L 和 sudo nft list ruleset 查看
  • Ubuntu 24.04+ 默认已预装 ufw,无需安装;若提示命令不存在,才需 sudo apt install ufw -y
  • sudo ufw status verbose 比普通 status 多显示默认策略和协议细节,排查时优先用它

default deny incoming 必须配合 allow ssh 才能保命

设默认拒绝入站流量本身没错,但 sudo ufw default deny incoming 单独执行就是高危操作。它不关心你有没有 SSH 规则,一启用就生效。

  • 务必在执行该命令前,先加一条明确的 SSH 允许规则:sudo ufw allow 22/tcp(或 sudo ufw allow ssh)
  • 如果用了非标端口(比如 2222),规则必须写成 sudo ufw allow 2222/tcp,仅写 2222 会同时放行 UDP,不安全
  • 若已锁机,只能通过本地控制台或云平台 VNC 进入,然后 sudo ufw reset 清空规则再重来

allow 80 和 allow http 不等价,协议细节决定能否访问

看似等效的写法,在实际中可能一个通、一个不通。关键在协议隐含行为:

  • sudo ufw allow 80 —— 默认同时允许 TCP 和 UDP 的 80 端口,但 HTTP 只走 TCP,UDP 80 几乎无用,还多开攻击面
  • sudo ufw allow http —— 实际等价于 sudo ufw allow 80/tcp,更精准,推荐用这种服务名方式
  • HTTPS 同理:sudo ufw allow https 比 sudo ufw allow 443 更稳妥,避免误放 UDP 443
  • 若服务监听在 IPv6,确保 /etc/default/ufw 中 IPV6=yes 已启用,否则规则对 IPv6 流量无效

ufw delete 删除规则不能只靠端口号

删错规则是常见问题。比如你执行过 sudo ufw allow 80 和 sudo ufw allow 80/tcp,它们会被视为两条独立规则,sudo ufw delete allow 80 只删第一条。

  • 最可靠的方式是先用 sudo ufw status numbered 查看带编号的规则列表
  • 再按编号删除:sudo ufw delete 3(假设第 3 条是你想删的)
  • 或者用完整匹配删除:sudo ufw delete allow 80/tcp,注意协议必须完全一致
  • 别依赖 sudo ufw reset 频繁清空——它会抹掉所有自定义规则,包括你可能忘了的白名单 IP

真正容易被忽略的点是:ufw 本身不管理 Docker 容器的端口映射。如果你跑着容器并映射了 -p 8080:80,ufw 规则必须针对宿主机的 8080 端口设,而不是容器内的 80。这点不注意,规则写了也白写。

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

2023.11.13

2791

4

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.29

865

3

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.07

357

5

k8s和docker区别
k8s和docker区别

k8s和docker区别有抽象层次不同、管理范围不同、功能不同、应用程序生命周期管理不同、缩放能力不同、高可用性等等区别。本专题为大家提供k8s和docker区别相关的各种文章、以及下载和课程。

2023.07.24

705

4

docker进入容器的方法有哪些
docker进入容器的方法有哪些

docker进入容器的方法:1. Docker exec;2. Docker attach;3. Docker run --interactive --tty;4. Docker ps -a;5. 使用 Docker Compose。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

5159

6

docker容器无法访问外部网络怎么办
docker容器无法访问外部网络怎么办

docker 容器无法访问外部网络的原因和解决方法:配置 nat 端口映射以将容器端口映射到主机端口。根据主机兼容性选择正确的网络驱动(如 host 或 overlay)。允许容器端口通过主机的防火墙。配置容器的正确 dns 服务器。选择正确的容器网络模式。排除主机网络问题,如防火墙或连接问题。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

6137

6

docker镜像有什么用
docker镜像有什么用

docker 镜像是预构建的软件组件,用途广泛,包括:应用程序部署:简化部署,提高移植性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.08

2333

7

Docker容器化部署与DevOps实践
Docker容器化部署与DevOps实践

本专题面向后端与运维开发者,系统讲解 Docker 容器化技术在实际项目中的应用。内容涵盖 Docker 镜像构建、容器运行机制、Docker Compose 多服务编排,以及在 DevOps 流程中的持续集成与持续部署实践。通过真实场景演示,帮助开发者实现应用的快速部署、环境一致性与运维自动化。

2026.02.11

259

16

Docker 容器部署
Docker 容器部署

本专题整合了Docker容器部署相关内容,阅读专题下面的文章了解更多详细操作教程。

2026.03.31

451

14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习