住宅服务器防火墙端口管控:零基础安全配置完整教程
住宅服务器(比如用旧电脑搭建的NAS、Web服务器或游戏服)一旦联网,就暴露在公网扫描下。
如果防火墙端口管控不当,很容易被漏洞扫描或暴力破解。
本文面向零基础用户,手把手教你怎么用 UFW(Uncomplicated Firewall)来管控端口,安全地开放服务,同时避开最常见的坑。
第一步:检查系统并安装 UFW
UFW 是 Ubuntu 上的默认防火墙工具,操作简单。
- 通过 SSH 或本地终端登录你的住宅服务器。
- 检查是否已安装 UFW:
sudo ufw status
如果提示 command not found,执行安装命令:
sudo apt update && sudo apt install ufw -y
- 安装完成后同样检查状态,默认是
inactive(未启用)。
第二步:安全地开放必要端口
重点:操作顺序不能错。 务必先允许 SSH 端口,再启用防火墙,否则你会断开自己的远程连接。
- 允许 SSH(默认端口 22):
sudo ufw allow 22/tcp
- 如果你需要提供 Web 服务,开放 HTTP 和 HTTPS:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
- 如果你有其他服务(如 FTP、游戏服),按需开放:
sudo ufw allow 21/tcp # FTP
sudo ufw allow 27015/tcp # CS 为例
- 设置默认策略:拒绝所有入站,允许所有出站,提高安全性:
sudo ufw default deny incoming
sudo ufw default allow outgoing
现在启用防火墙:
sudo ufw enable
出现 Command may disrupt existing ssh connections. Proceed with operation (y|n)?,输入 y 确认。
第三步:避坑指南——别把自己锁在外面
住宅服务器最常出问题的就是远程管理员把自己踢下线。
- 必须确保 SSH 端口已经 allow,并且在你操作的环境里防火墙没有额外限制。如果不确定,先准备一个本地访问方式(直接接显示器键盘)。
- 如果开放了自定义 SSH 端口(比如 2222),要用
sudo ufw allow 2222/tcp,不要只开 22。 - 某些云平台(如阿里云、腾讯云)的云防火墙和服务器内部防火墙是两层,也要检查外层的安全组规则。
- 如果你想临时关闭防火墙排错:
sudo ufw disable,但记住稍后重新启用。
第四步:验证防火墙与端口是否生效
验证分两步:
- 查看 UFW 状态和规则:
sudo ufw status verbose
输出应显示 Status: active,以及你添加的规则。
- 从另一台设备测试端口是否可达(用内网或公网 IP):
nc -zv 你的服务器IP 22
如果显示 Connection to 你的服务器IP 22 port [tcp/ssh] succeeded! 说明 SSH 正常。
测试 HTTP:nc -zv 你的服务器IP 80。
如果连接超时或被拒绝,检查是否有其他防火墙拦截,或者规则是否写对。
你也可以用在线端口扫描网站从外网测试,但注意不要用于生产敏感环境。
第五步:高频问题与日常管理
- 如何查看已开放的端口列表?
sudo ufw status numbered,会显示每条规则的编号。
- 如何删除一条规则?
通过编号删除更简单:sudo ufw delete 编号,例如删除 HTTP 规则(假设编号 2):sudo ufw delete 2。
或者直接指定服务:sudo ufw delete allow 80/tcp。
- 修改已存在的端口规则怎么办?
先删除旧规则,再添加新规则。
- 日志看不懂?
打开日志:sudo ufw logging on,然后 tail -f /var/log/ufw.log 查看实时拦截记录。
如果你正在处理住宅服务器防火墙端口管控,建议先按本文步骤完整执行,再根据自己的服务列表微调端口。
遇到连接异常时,优先回看“避坑指南”和“验证”部分,往往能快速定位问题。