没有公网 IPv4 也能玩转 Homelab 远程访问

没有公网 IPv4 也能玩转 Homelab 远程访问

💡 原文中文,约6600字,阅读约需16分钟。
📝

内容提要

本文介绍了作者在家庭实验室中远程访问的方案,包括使用Cloudflare Tunnel共享内部服务到外网访问,使用Clash Meta入站+NATMap实现外部设备连接家庭内网,以及使用NATMap实现PT上传场景。作者提供了详细的配置步骤和效果展示。

🔎

延伸解读

方案适用条件与限制

该方案要求宽带NAT类型为NAT1(Full Cone),且路由器最好运行Openwrt系统,同时需要一台内网设备运行Clash。如果这些条件不满足,可能无法直接套用。此外,方案涉及多个组件配置,有一定折腾难度,适合有一定网络基础的用户尝试。

与常见远程访问方案的对比

文章指出FRP、IPv6和Zerotier等常见方案各有缺点:FRP依赖代理服务器带宽,IPv6要求外部网络支持,Zerotier可能中转速度慢,且都无法解决PT上传问题。作者方案无需代理服务器,可跑满带宽,不依赖IPv6,并支持PT上传,稳定性接近公网IPv4。

PT上传场景的特殊配置

在PT上传场景中,使用NATMap打洞后,需通过脚本更新qBittorrent的监听端口,并添加防火墙NAT规则。特别注意要禁用地址重写,否则qBittorrent会将入站IP识别为路由器IP,影响统计准确性。脚本还支持多实例和Bark通知,方便管理。

部署与维护的注意事项

方案中使用了自建的Vercel服务来存储动态IP和端口信息,并生成Clash订阅。部署时需修改脚本中的API地址、端口和密码等参数。外部设备需配置Clash转发规则,将.home域名指向对应节点。整体流程步骤较多,建议按文章顺序逐步操作,遇到问题可参考作者提供的脚本和配置示例。

❓

Q&A

如何使用Cloudflare Tunnel共享内部服务到外网?

可以通过在Docker中运行Cloudflare Tunnel,配置相应的protocol和edge-ip-version来实现共享内部服务到外网访问。

外部设备如何连接家庭内网?

外部设备可以通过配置Clash Meta入站和NATMap,将动态IP和端口上传到自建的Vercel服务,从而实现连接。

PT上传场景的配置步骤是什么?

PT上传场景的配置步骤与外部设备连接家庭内网相似,但不需要上报IP和端口,主要包括配置静态IP和上传更新脚本。

使用NATMap的前置条件是什么?

使用NATMap的前置条件包括宽带NAT为NAT1(Full Cone)和路由器系统最好是Openwrt。

常用的远程访问方案有哪些缺点?

常用的远程访问方案如FRP、IPv6和Zerotier各有缺点,例如FRP依赖代理服务器带宽,IPv6要求外部网络支持,Zerotier有时不能直连。

作者的远程访问方案有什么优势?

作者的方案不需要代理服务器,可以跑满带宽,支持PT上传,且稳定性好,几乎可以媲美公网IPv4。

🏷️

标签

➡️

继续阅读