4G网络下可以DDNS么?

Posted by 周思进 on June 13, 2021

4G 网络下可以用 DDNS 服务么? 这跟4G 拨号分配的地址类型有关。在说明这个之前先简单讲解下 DDNS 服务。

访问一个网络服务,传输层一定是通过 IP+端口 来确定所要访问的服务,但对于人而言,如果访问一个服务还需要记住其 IP 地址,是有点困难的。这就产生了域名地址,如 weekthink.cn,访问该地址就能访问对应的服务。

而将域名地址转换成 IP 地址这一工作就需要通过 DNS 服务来完成了,这也是我们网络配置有设置 DNS 地址的原因。

但 DNS 服务都是基于静态 IP 地址,即域名对应的 IP 地址是固定不变的,而一般运营商给设备分配的公网地址都是动态随机分配的,如果想固定 IP,需要额外增加费用。

这个时候就可以用到 DDNS 服务了,用户在 DDNS 服务注册域名地址,设备端集成对应 DDNS 服务的客户端程序,客户端将设备的外网动态 IP 地址及注册的域名地址一起上报给 DDNS 服务器,这样 DDNS 服务器就知道该域名当前对应的 IP 地址了,访问域名时就能访问到对应的 IP 地址。

这里有另一个重要问题就是,一般设备是分配的路由器局域网 IP 地址,访问域名地址实际只能转换到路由器 WAN 口的公网 IP 地址,由外网到具体内网服务,就需要用到 upnp 端口映射服务了。

如果设备集成了 upnp 服务,则可以在设备端进行端口映射服务操作,这样访问设备服务,只需要以“域名+外网映射端口” 访问就可以了,如果设备不支持,就需要在路由器端进行 upnp 端口映射操作。

了解了上述这些后,再回过头来看 4G 网络下可以 DDNS 访问么?这需要看 4G 拨号后分配的 IP 地址是不是公网地址了。

一、设备分配的是基站下的局域网地址,共享基站公网地址联网
image

此种情况就不能使用 DDNS 域名访问了,因为 4G 基站无法进行端口映射服务。域名仅能对应到公网IP地址,但无法从端口区分对应到实际的设备。

二、设备分配的就是公网地址
image

如上两种情况因为设备分配的就是公网地址,就没必要再进行端口映射服务,访问其公网地址+服务端口,就是直接访问该设备对应的服务了。

对于分配的是公网静态 IP 地址这种情况,其实也没必要使用 DDNS 服务,普通的 DNS 服务做好域名及该固定 IP 的映射就可以了。