You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从外部网络轻松访问无公网IP的Ubuntu 22.04服务器?

无公网IP/IPv6环境下远程访问Ubuntu 22.04的解决方案

由于你没有公网IP且ISP不支持IPv6,无法直接获取公网IP,内网穿透是唯一可行的途径。以下是两种适合新手的分步实现方案:

方案一:FRP(开源可控,需自备公网VPS)

FRP是一款开源的内网穿透工具,需要一台带公网IP的廉价VPS作为中转服务器,适合长期稳定使用。

服务端(VPS,以Ubuntu系统为例)操作

  1. 下载并解压FRP包:
    wget https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_amd64.tar.gz
    tar -zxvf frp_0.51.3_linux_amd64.tar.gz
    cd frp_0.51.3_linux_amd64
    
  2. 编辑服务端配置文件frps.ini:
    [common]
    bind_port = 7000  # FRP监听端口,需在VPS防火墙开放
    token = your_strong_token_here  # 设置自定义令牌,客户端需和此一致
    
  3. 配置开机自启:
    创建systemd服务文件:
    sudo nano /etc/systemd/system/frps.service
    
    粘贴以下内容(替换/path/to/frp为实际FRP目录路径):
    [Unit]
    Description=FRP Server
    After=network.target
    
    [Service]
    Type=simple
    ExecStart=/path/to/frp/frps -c /path/to/frp/frps.ini
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    
    启动并启用服务:
    sudo systemctl daemon-reload
    sudo systemctl start frps
    sudo systemctl enable frps
    
  4. 开放VPS防火墙端口:
    sudo ufw allow 7000/tcp
    # 额外开放你要穿透的服务端口,比如SSH的6000(对应客户端配置的remote_port)
    sudo ufw allow 6000/tcp
    sudo ufw reload
    

客户端(你的Ubuntu笔记本)操作

  1. 同样下载并解压FRP包:
    wget https://github.com/fatedier/frp/releases/download/v0.51.3/frp_0.51.3_linux_amd64.tar.gz
    tar -zxvf frp_0.51.3_linux_amd64.tar.gz
    cd frp_0.51.3_linux_amd64
    
  2. 编辑客户端配置文件frpc.ini(以穿透SSH为例):
    [common]
    server_addr = 你的VPS公网IP
    server_port = 7000
    token = your_strong_token_here  # 和服务端令牌一致
    
    [ssh]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 22  # 本地SSH端口
    remote_port = 6000  # VPS上映射的端口
    
    如果要穿透网页服务(本地80端口),添加以下段:
    [web]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 80
    remote_port = 8080
    
  3. 配置开机自启:
    创建systemd服务文件:
    sudo nano /etc/systemd/system/frpc.service
    
    粘贴以下内容(替换路径):
    [Unit]
    Description=FRP Client
    After=network.target
    
    [Service]
    Type=simple
    ExecStart=/path/to/frp/frpc -c /path/to/frp/frpc.ini
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    
    启动并启用服务:
    sudo systemctl daemon-reload
    sudo systemctl start frpc
    sudo systemctl enable frpc
    
  4. 测试访问:
    • SSH远程:ssh 你的笔记本用户名@VPS公网IP -p 6000
    • 网页访问:http://VPS公网IP:8080

方案二:免费内网穿透服务(无需VPS,适合临时使用)

如果不想租VPS,可以用免费的Ngrok服务实现临时远程访问:

操作步骤

  1. 安装Ngrok:
    wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-v3-stable-linux-amd64.tgz
    tar -zxvf ngrok-v3-stable-linux-amd64.tgz
    sudo mv ngrok /usr/local/bin/
    
  2. 配置认证令牌(需在Ngrok官网注册获取,仅需邮箱):
    ngrok config add-authtoken 你的认证令牌
    
  3. 启动穿透:
    • 穿透SSH:ngrok tcp 22
      启动后终端会显示类似tcp://0.tcp.ngrok.io:12345的地址,外部访问用ssh 你的用户名@0.tcp.ngrok.io -p 12345
    • 穿透网页:ngrok http 80
      生成HTTPS公网地址,直接在浏览器访问即可

注意:免费Ngrok的公网地址每次重启都会变化,若需固定地址需付费升级。

基础准备工作

确保你的Ubuntu笔记本防火墙开放了对应服务端口:

sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw reload

内容的提问来源于stack exchange,提问作者JBody

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 01:42:17