5G模块组网 公网和内网

总的来说,从外网访问内网的服务大致有三种方案:

  • 获取公网 IP + DDNS 解析
  • 隧道穿透
  • 构建虚拟局域网

如果你家的宽带能获得公网 IP,直接使用 DDNS 是一种灵活的解决方案。只需配置好 DDNS 解析及端口转发,便可通过域名加端口的方式在公网访问内网映射的服务。这种配置简单,速度只受家庭上行带宽限制。但这种方案的可行性正逐渐降低。主要是因为 IPv4 地址枯竭,国内宽带运营商不再为家庭用户分配公网 IP,导致许多家用宽带的 IP 地址是内网地址,无法实现动态地址解析,从而使得外部访问变得越发艰难。

隧道穿透方案,即通过一台具有公网 IP 的服务器作为跳板,暴露内网服务到公网中实现访问,这个方案的优点在于网络访问稳定,带宽速度取决于公网 IP 服务器的带宽。缺点则是配置较为复杂,需要在服务器上安装相关的服务,还需要在内网服务端写配置项。同时隧道穿透对一些网络协议支持较差,尤其是 HTTPS 协议配置极其复杂繁琐。

最后一种方案则是构建虚拟局域网,简单来说就是将分处不同网络下的设备跨网络组建在一个虚拟局域网中,从而实现基于内网 IP 的设备间互访,这种方案最大的好处在于不受限于网络协议,并且部署安装客户端较为简单并支持私有化部署,缺点则是提供该服务的厂商多来自国外,相对应的是服务在国内网络环境下稳定下较差。

基于构建虚拟局域网的服务目前主流的有 ZeroTier、Tailscale以及国产的蒲公英。而在我的横向对比以及测试中最终选择了更为灵活的 ZeroTier,首先就是家用的情况下,即便是官方的 ZeroTier 也几乎不产生任何费用,支持通过 ID 的方式就可以直接加入自建的虚拟局域网中(Tailscale 添加新设备需要单点登录授权),更重要的是目前 ZeroTier 提供了更为灵活的自部署方案,无论是操作上还是方法上都远比另两款服务更为简单。

Zerotier 官方服务的问题

虽然我选择了 Zerotier 来构建虚拟局域网实现外网访问内网,但却并不使用其官方服务,最重要的一点就是官方的根服务器(行星服务器)都部署在海外,由于国内互联网的特殊性导致会出现较高的延迟,从而就会影响到组网的稳定性。虽然可以通过在国内自建 Moon 服务器(卫星服务器)来来缓解解决访问问题,但由于虚拟局域网解析依旧取决于根服务器,所以最为直接的办法就是完全在国内互联网上自建行星服务器(根服务器)以及网络控制器,从而从本质上实现最为高效稳定的虚拟局域网构建。

而这样做的优点是:不受制于国外网络访问速度,整个流程完全自主可控,而实际上费用也是最低的——你仅仅只需要从国内各大云服务器厂商那里购买一台配置极低的云服务器,一年费用可能都不到百元。

自建 ZeroTier 行星服务器

和 Tailscale 类似,Zerotier 同样也可以实现网络控制器以及根服务器的自部署,只不过以前我们只能自建卫星服务器(Moon 服务器)以及网络控制器,而现在则可以实现自部署根服务器(行星服务器),这样你完全不需要注册官方的 Zerotier 的任何账号也可以实现整个虚拟局域网的自建。

在云服务器中安装 Zerotier 行星服务器

首先第一件事就是购买一台国内云服务提供的云服务器,整体规格上「1 核 2G」或者「2 核 2G」就可以,最重要的需要有一个公网 IP 方便进行设备管理,在开始之前我们需要打开云服务器的防火墙,额外放行 3443 端口(TCP)和 9993 端口(TCP和 UDP)。

接下来我们使用 SSH 客户端以 root 权限登录云服务器,然后根据服务器中发行版不同先更新系统组件并安装 Git、docker 并启动 docker:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值