有时可能需要在家庭网络中构建一些基本网络服务,例如网络附加存储(NAS),家庭摄像头等。这些服务可以在家庭网络中方便的访问。
但是在很多家庭网络都没有外网地址,想要在外部访问这些服务就很麻烦了。因此需要借助内网穿透来实现外网的访问。
可以使用花生壳,nat123 等工具来实现内网穿透服务,但是这些商业服务一般都需要付费,免费版本存在诸多不便的限制,甚至一些还需要备案才能使用。并且数据会流经这些公司的商业服务器,因此我个人并不是很喜欢这些商业工具。
- 花生壳
- Nat123
例如 ngrok,frp,lanproxy 等,但这类服务一般需要一个自己的公网服务器才可以,将 server 端放到公网服务器上,在家庭网络中运行 client 链接到公网服务器,借助公网服务器跳转实现在外部访问内网服务,具体体验的好坏则取决于家庭网络的上行带宽以及公网服务器的位置和带宽。
例如我之前做过的一个简单服务:用旧Android手机做远程摄像头
+----------+ +-----------+
| 内网服务 | == 反向代理 or DDNS ==> | 公网服务器 |
+----------+ +-----------+
当然,如果你想要通过域名来访问这些服务的话,只需要在域名服务提供商处添加一条映射指向公网服务器,然后在公网服务器上运行 nginx 并且将其映射到对应的服务端口即可。