为什么需要内网穿透
家里有台NAS,想在外网随时访问照片和文件,但一出门就连不上;自己写的网站跑在本地电脑上,朋友想看看却只能靠发压缩包。这些问题的根源,就是没有公网IP。这时候,内网穿透就成了绕过限制的实用手段。
常见的内网穿透工具推荐
1. frp(Fast Reverse Proxy)
开源项目里最火的一个,配置灵活,支持TCP、UDP、HTTP、HTTPS等多种协议。你需要一台有公网IP的服务器来部署服务端,客户端再把本地服务“推”出去。
比如你在家里搭了个Web服务跑在8080端口,用frp可以把它映射到公网的某个域名下,别人通过域名就能访问。
[common]
server_addr = your_public_server_ip
server_port = 7000
[web]
type = http
local_port = 8080
custom_domains = example.yourdomain.com
缺点是得自己维护服务器,对新手有点门槛。
2. Ngrok
老牌工具,命令行一键启动,适合快速测试。官方提供免费子域名,比如xxx.ngrok.io,本地服务挂上去就能分享。
比如调试微信公众号回调,不用每次改代码切地址,直接ngrok http 3000,马上拿到外网链接。
不过免费版带宽小,连接数有限,而且国内访问有时不稳定。付费版价格偏高,适合临时用用。
3. ZeroTier
这玩意儿更像虚拟局域网,不是传统意义上的反向代理,但它能让你的设备像在同一内网一样互访。
装上客户端,加入一个网络ID,手机、公司电脑、家里的树莓派就都在一个“局域网”里了。你可以直接用内网IP访问NAS或摄像头,体验很自然。
适合不想折腾端口映射,又想实现远程访问的场景。但对纯Web服务发布不太友好,毕竟没有域名直连那么方便。
4. 花生壳
国内老牌商用产品,不需要公网IP也能用,自带域名解析和管理后台,界面简单,注册账号装客户端就能开搞。
免费版有流量限制,映射端口被屏蔽一些常见端口(比如80),升级要花钱。好处是中文支持好,客服能打通,适合完全不想碰命令行的用户。
横向对比看差异
从使用成本来看:frp免费但要自备服务器;Ngrok免费版能玩但体验打折;ZeroTier基础功能免费够用;花生壳免费但限制多。
从易用性来说:花生壳 > ZeroTier ≈ Ngrok > frp。如果你只是偶尔调试接口,Ngrok最快;如果想长期稳定用,frp搭配云服务器最靠谱。
从速度和稳定性讲:自建frp通常最快,线路自己掌控;花生壳走中转,高峰期可能卡;Ngrok国外节点在国内访问延迟高;ZeroTier取决于节点间路由质量。
实际场景怎么选
你是个开发者,在做小程序回调调试,追求快和省事,Ngrok最合适,几分钟搞定。
你是家庭用户,有NAS、监控摄像头,希望手机在外也能看,ZeroTier或者花生壳更省心。
你有云服务器,懂点运维,想搭建长期服务,比如远程桌面、自建博客,那frp是首选,自由度最高,性能也最好。