🚀 Linux 开放端口完全指南

内容纲要

🧠 一、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)都能照此操作。

Leave a Comment

您的电子邮箱地址不会被公开。 必填项已用*标注

close
arrow_upward