销售:050-1791-1110

内网穿透教程

什么是内网穿透?

内网穿透(NAT Traversal)是将内网设备(如家里的电脑、NAS、树莓派)暴露到公网的技术。即使没有公网 IP,也能从外部访问内网服务。

常用工具对比

工具 特点 价格
frp 开源、功能全面、需自备服务器 免费
Cloudflare Tunnel 无需服务器、CDN 加速 免费
ngrok 一键启动、临时使用方便 免费/付费
Tailscale 组网方案、点对点 免费/付费
ZeroTier 虚拟局域网 免费/付费

方案一:frp(推荐自建)

服务端配置(公网服务器)

# 下载 frp
wget https://github.com/fatedier/frp/releases/download/v0.58.0/frp_0.58.0_linux_amd64.tar.gz
tar -xzf frp_0.58.0_linux_amd64.tar.gz
cd frp_0.58.0_linux_amd64
# frps.toml
bindPort = 7000
vhostHTTPPort = 8080
auth.token = "your_secret_token"
./frps -c frps.toml

客户端配置(内网设备)

# frpc.toml
serverAddr = "YOUR_SERVER_IP"
serverPort = 7000
auth.token = "your_secret_token"

[[proxies]]
name = "web"
type = "http"
localPort = 80
customDomains = ["home.example.com"]

[[proxies]]
name = "ssh"
type = "tcp"
localPort = 22
remotePort = 6000
./frpc -c frpc.toml

方案二:Cloudflare Tunnel(免费推荐)

# 安装 cloudflared
curl -L https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64 -o /usr/local/bin/cloudflared
chmod +x /usr/local/bin/cloudflared

# 登录 Cloudflare
cloudflared tunnel login

# 创建隧道
cloudflared tunnel create my-tunnel

# 配置路由
cloudflared tunnel route dns my-tunnel home.example.com

# 运行
cloudflared tunnel --url http://localhost:8080 run my-tunnel

方案三:ngrok(临时使用)

# 安装
curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | sudo tee /etc/apt/trusted.gpg.d/ngrok.asc
echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | sudo tee /etc/apt/sources.list.d/ngrok.list
sudo apt update && sudo apt install ngrok

# 认证
ngrok config add-authtoken YOUR_TOKEN

# 启动
ngrok http 8080

安全提醒

  • 内网穿透等于将内网服务暴露在公网,务必做好安全防护
  • 使用强密码和 Token 认证
  • 限制访问来源 IP
  • 对 Web 服务开启 HTTPS
  • 不要暴露管理面板等敏感服务
滚动至顶部