Localtunnel
- 适用场景:快速测试或需要快速上手的项目。
- 优点:
- 轻松部署,只需运行脚本即可。
- 支持多种协议,包括HTTP、HTTPS、TCP。
- 提供简单的隧道配置。
- 缺点:
- 性能可能较低,不适合高并发场景。
- 需要绑定到固定端口,可能影响本地服务。
灵活高性能:FRP
- 适用场景:需要高性能和灵活配置的中型或大型项目。
- 优点:
- 支持多种协议(HTTP、HTTPS、TCP、UDP)。
- 可部署在云服务器,提供高性能和稳定性。
- 灵活的配置,可根据需求调整。
- 缺点:
- 配置稍复杂,需要一定的技术知识。
- 免费版可能有使用限制,需付费才能获得更多功能。
简单且可靠:SS(Simple SSH Tunnel)
- 适用场景:只需要TCP隧道支持,简单易用。
- 优点:
- 基于SSH协议,连接简单且可靠。
- 支持动态加密,安全性高。
- 缺点:
- 只支持TCP,不支持UDP协议。
- 需要处理SSH代理,可能稍复杂。
自动化与全球访问:Ngrok
- 适用场景:需要自动化部署且需要全球访问的项目。
- 优点:
- 提供一个公开的端点,直接从网页获取隧道链接。
- 支持HTTP和HTTPS协议,自动处理证书。
- 账号免费版提供一定的使用量,适合测试。
- 缺点:
- 免费版使用限制,商业版费用较高。
- 需要注册账号,可能不适合某些隐私需求。
其他工具:Socks5、V2Ray
- 适用场景:需要多协议支持或特定应用支持。
- 优点:
- Socks5提供了多协议支持,灵活性高。
- V2Ray结合了反向代理和加密技术,适合需要高安全性的场景。
- 缺点:
- 配置复杂,可能需要特定应用支持。
- 部署和管理可能需要更多资源。
选择建议
- 快速测试:Localtunnel或Ngrok。
- 中型项目:FRP提供了更高的性能和灵活性。
- 简单TCP隧道:SS(Simple SSH Tunnel)是最佳选择。
- 高安全性与多协议支持:Socks5或V2Ray。
安装与配置步骤(以FRP为例)
-
安装FRP:
curl -o frp https://github.com/freeweb123/frp/releases/download/v.15./frp-.15.-linux-amd64.gz gunzip frp-.15.-linux-amd64.gz chmod +x frp-.15.-linux-amd64
-
配置FRP服务器:
- 创建
frps目录并生成配置文件:mkdir frps echo '{ "port": 8448, "listen": ":8448", "tunnel": "...:8448", "user": "frpuser", "group": "frpgroup", "dynamic": true, "loglevel": "debug", "maxconn": 100, "ping": 60, "keepalive": 60, "allow_client": true, "allow_client_ip": ".../", "description": "FRP Entry Point" }' > frps/frp.ini - 启动FRP服务器:
./frp-.15.-linux-amd64 -c frps/frp.ini
- 创建
-
配置FRP客户端:
- 生成客户端配置文件:
./frp-.15.-linux-amd64 --generate frps/frp.json
- 修改客户端连接信息,确保服务器地址和端口正确。
- 生成客户端配置文件:
-
测试连接:
- 使用HTTP客户端(如curl)测试外部访问:
curl -v http://your-public-domain.com:8448/your-internal-resource
- 使用HTTP客户端(如curl)测试外部访问:
注意事项
- 安全性:确保FRP服务器只允许特定IP或域名访问,防止未授权访问。
- 防火墙设置:开放相应的端口,确保FRP服务器能够接收连接。
- 持续监控:定期检查服务器状态,及时处理潜在问题。
通过以上步骤和工具,你可以轻松实现FRP内网穿透,确保外部设备能够访问内网资源,选择最适合你项目需求的工具,并根据实际情况进行配置和优化。




