公司动态

Ubuntu 防火墙入门:用 UFW 开放 SSH 和 Web 端口

📅 2026/8/23 7:08:05
Ubuntu 防火墙入门:用 UFW 开放 SSH 和 Web 端口
前言服务器上线后不应该把所有端口都暴露在公网。通常只需要开放 SSH、HTTP、HTTPS 等必要端口其余端口默认拒绝。UFW 的全称是 Uncomplicated Firewall是 Ubuntu 上常用的防火墙管理工具。它对 iptables 做了封装命令更简单适合日常服务器安全加固。查看 UFW 状态sudoufw status如果还没有启用通常会看到Status: inactive启用防火墙前一定要先放行 SSH否则可能把自己挡在服务器外面。放行 SSH如果 SSH 使用默认 22 端口sudoufw allow22/tcp也可以使用服务名sudoufw allow OpenSSH如果你的 SSH 端口是 2222sudoufw allow2222/tcp设置默认规则通常建议默认拒绝入站允许出站sudoufw default deny incomingsudoufw default allow outgoing这表示外部不能随便访问服务器端口但服务器可以正常访问外网。开放 Web 端口开放 HTTPsudoufw allow80/tcp开放 HTTPSsudoufw allow443/tcp也可以一次性开放 Nginx Fullsudoufw allowNginx Full查看可用应用配置sudoufw app list启用 UFW确认 SSH 已放行后再启用sudoufwenable再次查看sudoufw status verbose带编号查看规则sudoufw status numbered删除规则如果想删除某条规则先查看编号sudoufw status numbered然后删除sudoufw delete3也可以按规则删除sudoufw delete allow80/tcp只允许指定 IP 访问 SSH如果公司有固定出口 IP可以只允许该 IP 访问 SSHsudoufw allow from203.0.113.10 to any port22proto tcp这比直接开放 22 端口更安全。常见问题启用后连不上服务器。很可能是忘了放行 SSH。云服务器可以通过控制台救援模式处理。开放端口后仍访问不了。检查云厂商安全组、服务是否监听端口、本机防火墙是否放行。UFW 和 Docker 冲突。Docker 会操作 iptables复杂场景下要单独评估 Docker 网络规则。总结UFW 的常用流程是先放行 SSH再设置默认拒绝入站开放必要端口最后启用防火墙。对于普通 Web 服务器最基础的规则通常是 22、80、443。其他端口能不开放就不开放。参考链接Ubuntu UFW 社区文档DigitalOcean UFW Essentials