内容纲要
🧠 一、UFW 是什么
UFW(Uncomplicated Firewall)是 Ubuntu 系统默认的防火墙管理工具,它简化了 iptables
的复杂配置,让你用几条命令就能控制端口访问。
⚙️ 二、查看防火墙状态
sudo ufw status
输出结果:
Status: inactive
→ 防火墙未启用Status: active
→ 防火墙已启用
若未启用,请执行:
sudo ufw enable
🔓 三、开放指定端口(以 9090 为例)
✅ 1. 开放 9090 端口
sudo ufw allow 9090/tcp
说明:
/tcp
是大多数 Web、API、服务端口的协议类型。若你需要 UDP(如游戏或流媒体服务),改成/udp
。
✅ 2. 指定来源 IP
若只允许内网或特定 IP 访问:
sudo ufw allow from 192.168.1.100 to any port 9090 proto tcp
✅ 3. 开放多个端口范围
sudo ufw allow 8000:8100/tcp
🧩 四、验证防火墙规则
查看当前所有规则:
sudo ufw status numbered
输出示例:
[ 1] 22/tcp ALLOW Anywhere
[ 2] 9090/tcp ALLOW Anywhere
[ 3] 9090/tcp (v6) ALLOW Anywhere (v6)
🔒 五、删除端口规则
如果需要撤销 9090 端口的开放:
sudo ufw delete allow 9090/tcp
或者根据编号删除(假设是第 2 条):
sudo ufw delete 2
🧰 六、进阶操作
1. 默认拒绝所有访问(推荐安全环境)
sudo ufw default deny incoming
sudo ufw default allow outgoing
2. 临时禁用防火墙
sudo ufw disable
3. 重置所有规则
sudo ufw reset
🧾 七、实用脚本:自动开放端口
如果你经常部署服务,可以创建一个脚本 /usr/local/bin/open_port.sh
:
#!/bin/bash
PORT=$1
if [ -z "$PORT" ]; then
echo "Usage: sudo open_port <port>"
exit 1
fi
sudo ufw allow ${PORT}/tcp
sudo ufw status | grep ${PORT}
echo "✅ Port ${PORT} opened successfully!"
赋予执行权限:
sudo chmod +x /usr/local/bin/open_port.sh
使用方式:
sudo open_port 9090
🧩 八、常见问题
问题 | 解决办法 | |
---|---|---|
执行 ufw 提示命令未找到 |
安装:sudo apt install ufw |
|
添加规则后仍无法访问 | 检查服务是否监听 0.0.0.0:sudo ss -tulpen | grep 9090 |
|
规则生效但外网仍无法访问 | 云服务器需同时在安全组中开放该端口 | |
想查看日志 | 查看 /var/log/ufw.log |
✅ 九、总结
操作 | 命令 |
---|---|
开启防火墙 | sudo ufw enable |
关闭防火墙 | sudo ufw disable |
开放端口 | sudo ufw allow 9090/tcp |
查看规则 | sudo ufw status numbered |
删除规则 | sudo ufw delete allow 9090/tcp |
重置防火墙 | sudo ufw reset |
📘 结语:
只要记住一句话:
“开放端口三步走:
allow → enable → status
。”
这篇文章保存好,以后所有端口(如 80、443、3306、8080、9090、5000)都能照此操作。