在 Ubuntu 上开放端口通常涉及 防火墙(UFW/iptables) 和 服务配置

1. 检查端口是否已开放

首先,确认端口是否已经在监听:

sudo ss -tulnp | grep <端口号>
# 或
sudo netstat -tulnp | grep <端口号>

如果没有任何输出,说明端口未开放或服务未运行。


2. 配置服务监听端口

确保你的服务(如 Nginx、Apache、SSH、自定义应用等)已正确配置监听目标端口。
例如,修改 Nginx 的配置文件:

sudo nano /etc/nginx/sites-available/default

找到 listen 指令,确保类似:

server {
    listen 80;  # 开放 80 端口
    ...
}

然后重启服务:

sudo systemctl restart nginx

3. 使用 UFW(推荐)开放端口

Ubuntu 默认使用 UFW(Uncomplicated Firewall) 管理防火墙。

(1) 检查 UFW 状态

sudo ufw status

如果显示 Status: inactive,需先启用:

sudo ufw enable

(2) 开放端口

sudo ufw allow <端口号>           # 开放 TCP 端口(默认)
sudo ufw allow <端口号>/udp       # 开放 UDP 端口
sudo ufw allow from <IP> to any port <端口号>  # 仅允许特定 IP

示例:

sudo ufw allow 80/tcp        # 开放 HTTP(80)
sudo ufw allow 22            # 开放 SSH(22)
sudo ufw allow 3000          # 开放自定义端口 3000

(3) 验证

sudo ufw status numbered

输出示例:

Status: active

     To                         Action      From
     --                         ------      ----
[1] 80/tcp                     ALLOW       Anywhere
[2] 22                         ALLOW       Anywhere

(4) 删除规则(可选)

sudo ufw delete <规则编号>  # 如 sudo ufw delete 1


4. 使用 iptables(高级用户)

如果未使用 UFW,可以直接用 iptables

sudo iptables -A INPUT -p tcp --dport <端口号> -j ACCEPT

保存规则(否则重启后失效):

sudo apt install iptables-persistent
sudo netfilter-persistent save


5. 检查外部访问

在本地测试:

telnet <服务器IP> <端口号>

或使用 curl

curl http://<服务器IP>:<端口号>

如果无法连接,可能是:

  • 防火墙未正确配置(检查 UFW/iptables)

  • 服务未监听该端口(检查 ss -tulnp

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值