内网穿透

内网穿透

frp内网穿透项目

frp服务端一键配置脚本

wireguard内网穿透项目

wireguard客户端

ZeroTier内网穿透x项目

ZeroTier-moon服务器

ZeroTier客户端

EasyTier内网穿透项目

EasyTier客户端

lanproxy内网穿透项目

内网穿透服务器推荐

  • 个人开发者/家庭极轻度使用 (访问 NAS, 调试 Web):
    • 云服务器:入门档 (如 1 vCPU, 1GB RAM, 系统盘 40GB)
    • 带宽:10Mbps - 20Mbps (峰值)
    • 流量:100GB - 500GB/月
    • 系统:Ubuntu 22.04 LTS
    • 软件:FRP (启用 token 认证,非 Web 服务尽量用 stcp/xtcp)
    • 重点:安全配置!便宜带宽套餐。
  • 小团队协作/远程办公 (多用户 RDP, 文件共享):
    • 云服务器:轻量应用级 (如 2 vCPU, 2GB RAM, 系统盘 50-80GB)
    • 带宽:30Mbps - 50Mbps (峰值)
    • 流量:500GB - 2TB/月
    • 系统:Ubuntu/Debian/CentOS Stream
    • 软件:FRP / nps (启用所有认证)
    • 重点:足够带宽、BGP线路、流量监控、强安全策略。
  • 提供对外服务/高流量应用 (视频流、API 中转等):
    • 云服务器:计算优化型 (如 4 vCPU, 4-8GB RAM 或更高)
    • 带宽:100Mbps 或更高 (按需选择,甚至需要弹性带宽/负载均衡)
    • 流量:5TB+/月 (按量付费或超大流量包)
    • 系统:稳定 Linux 发行版
    • 软件:FRP (精细配置)
    • 重点:高性能带宽、可能需多节点负载均衡、严格的 DDoS 防护、全面的安全审计与监控。

内网穿透方案对比

特性 FRP WireGuard ZeroTier EasyTier
工作原理 反向代理,依赖公网服务器中转流量 基于UDP的现代VPN协议,内核级加密隧道 P2P组网,中心服务器协调节点连接 去中心化P2P网络,支持智能路由与NAT穿透
配置复杂度 ★★☆ 中等(需配置服务端/客户端) ★☆☆ 简单(仅需交换公钥) ★★☆ 简单(网页控制台管理) ★★★ 复杂(需手动配置节点/路由)
性能 ▼▼ 受中转服务器带宽限制 ▲▲▲ 高(内核集成,低延迟) ▲▲ 中等(依赖P2P成功率) ▲▲▲ 高(多路径智能选路)
安全性 ▼ 依赖传输层加密 ▲▲▲ 强(ChaCha20/Curve25519加密) ▲▲ 中(AES-256,中心化风险) ▲▲ 中(可选WireGuard或AES-GCM)
跨平台支持 Windows/Linux/树莓派等 全平台(Linux/Windows/iOS/Android) 全平台(含NAS设备) 全平台(需手动编译)
中心化依赖 ▼▼ 强(必须公网服务器) ▼ 弱(仅初始连接需端点) ▼▼ 中(依赖根服务器协调) ▲ 无(完全去中心化)
关键优势 1. 支持TCP/HTTP协议穿透
2. 配置灵活
1. 低资源占用🚀
2. 抗网络波动(漫游支持)
3. 代码精简(仅4000行)🔍
1. 部署简易
2. 免费版支持100设备
1. 无单点故障🔒
2. 子网代理(点对网)
3. IPv6支持
主要缺点 1. 中转流量成本高💸
2. 延迟显著
1. NAT穿透能力弱(需中继)
2. 无内置用户管理🔑
1. 国内延迟高(根服务器在国外)🌏
2. 安卓端限制(需第三方修复)
1. 文档不完善📖
2. 社区资源少
3. 配置复杂
典型场景 临时外网访问Web服务 服务器间加密通信/远程办公 小型物联网设备组网🌐 企业级跨地域网络(高可用需求)🏢
补充说明 适合简单场景,但长期使用需承担服务器成本;延迟和安全性是其瓶颈。 性能与安全兼顾,适合技术团队部署,但需额外工具解决NAT穿透问题(如中继服务器)。 用户体验友好,但国内稳定性依赖自建Moon节点;免费版设备数限制可能影响扩展。 去中心化架构适合复杂网络,但学习曲线陡峭,且开源生态不成熟可能增加维护成本。

💎 选择建议

  • 追求易用性 → ZeroTier
  • 需要高性能加密 → WireGuard
  • 无公网服务器且需去中心化 → EasyTier
  • 临时HTTP服务暴露 → FRP

FRP内网穿透

Server

  • 安装frp

    1
    2
    3
    wget https://raw.githubusercontent.com/mvscode/frps-onekey/master/install-frps.sh -O ./install-frps.sh
    chmod 700 ./install-frps.sh
    ./install-frps.sh install
  • 设置后台运行

    1
    nohup ./frps -c frps.ini >/dev/null 2>&1 &
  • 防火墙相关

    1
    2
    3
    4
    5
    # Debian或Ubuntu系统放行端口:
    ufw allow 端口号
    iptables -A INPUT -p tcp --dport 端口号 -j ACCEPT
    # CentOS系统放行端口:
    firewall-cmd --zone=public --add-port=端口号/tcp --permanent
  • FRP常用命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 开启FRP
    frps start
    # 停止FRP
    frps stop
    # 重启FRP
    frps restart
    # 打开配置文件
    frps config
    # 查看FRP版本
    frps version
    # 检查FRP运行状态
    frps status

Client

WireGuard内网穿透

Server

wireguard在centos中无法使用,推荐使用ubuntu/debian

  • 更新apt及下载软件源

    1
    2
    3
    4
    5
    6
    apt-get update
    apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
  • 安装docker

    • 添加docker官方的GPG密钥

      1
      2
      mkdir -p /etc/apt/keyrings
      curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
    • 设置存储库

      1
      2
      3
      echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
      $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    • 安装docker引擎

      1
      2
      apt-get update
      apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
  • 安装wireguard

    执行结束之后记录wireguard服务端配置(包含了wireguard管理地址和端口、登录用户和密码等配置)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    docker run -d \
    --name=wg-easy \
    -e WG_HOST=123.123.123.123 (?这里输入服务器的公网IP或解析好的域名) \
    -e PASSWORD=passwd123 (?这里输入你的密码) \
    -e WG_DEFAULT_ADDRESS=10.0.8.x (?默认IP地址)\
    -e WG_DEFAULT_DNS=114.114.114.114,233.5.5.5 (?默认DNS)\
    -e WG_ALLOWED_IPS=10.0.8.0/24 (?允许连接的IP段)\
    -e WG_PERSISTENT_KEEPALIVE=25 (?重连间隔)\
    -v ~/.wg-easy:/etc/wireguard \
    -p 51820:51820/udp \
    -p 51821:51821/tcp \
    --cap-add=NET_ADMIN \
    --cap-add=SYS_MODULE \
    --sysctl="net.ipv4.conf.all.src_valid_mark=1" \
    --sysctl="net.ipv4.ip_forward=1" \
    --restart unless-stopped \
    weejewel/wg-easy
  • docker管理命令

    1
    2
    3
    4
    systemctl start docker  #启动容器
    systemctl enable docker #开机自启
    systemctl status docker #查看状态
    docker --version #查看docker版本
  • 更新wirefguard新版本

    1
    2
    3
    4
    docker stop wg-easy
    docker rm wg-easy
    docker pull weejewel/wg-easy
    # 再次重新执行`安装wireguard`

Client

  • 下载对应的wireguard客户端
  • 访问wireguard管理地址,添加客户端,获取对应的配置文件
  • 将配置文件导入对应的客户端中

Zerotier内网穿透

Server

  • 安装ZeroTier

    1
    docker run --restart=on-failure:3 -d --name ztncui -e HTTP_PORT=4000 -e HTTP_ALL_INTERFACES=yes -e ZTNCUI_PASSWD=mrdoc.fun -p 4000:4000 keynetworks/ztncui

    放行TCP端口4000/9993/3180和UDP端口9993

  • 面板http://ip:4000配置:设置完密码后——点击Networks(网络)——点击Add network(添加网络)——自定义一个名称——点击Easy setup(设置简单)——点击Generate network address(生成网络地址),这里也可以自定义——点击Submit(提交)

  • 在服务器上创建moon服务器

    1
    docker run --name zerotier-moon -d -p 9993:9993 -p 9993:9993/udp -v /etc/ztconf/:/var/lib/zerotier-one jonnyan404/zerotier-moon -4 服务器IP
    • 查看moonID

      1
      docker logs zerotier-moon

Client

  • 下载对应的Zerotier客户端

  • 加入添加的面板创建生成的网络地址

  • 以管理员的身份,在C:\ProgramData\ZeroTier\One运行cmd

  • 加入moon服务器

    1
    zerotier-cli orbit moonID
  • 检查是否加入moon服务器

    1
    zerotier-cli listpeers

EasyTier内网穿透

Server

Client