动态域名这个说法, 也就是大家常听到的英文缩写DDNS, 它主要是要去解决一个非常核心, 而且让人头疼的问题。什么问题呢, 问题就在于咱们家里用的宽带在每次进行拨号连接的操作时, 得到的那个IP地址是会发生变化的。可是你偏偏有需要想要用一个固定的域名来持续地访问到你内部局域网里的设备。

好在目前是有很多很多的平台都在提供这种免费的动态域名服务给你用。只要你去注册一下, 马上就能获得一个属于你的子域名字串。当你本地的IP地址发生变化的时候它会自动地去更新解析的结果。从开始使用一直到结束, 整个过程中根本不需要去支付任何的费用。

主流免费动态域名平台

No-IP这个东西能够提供类似于myftp.biz以及no-ip.me这样子的免费子域名服务, 在进行更新操作的时候是不存在次数上的限制情况的, 它既可以支持官方的客户端软件进行使用, 同时也支持标准版本的DDNS协议来进行运作, 在整体功能方面来说是相当成熟的。

DuckDNS: 它给用户分配 duckdns.org 这个主域下面的子域名, 用户只需要去发一个简单的得 get 请求, 就能把当前的情况告诉服务器, 从而触发更新操作, 不用再去安装什么常驻在后台的客户端程序了, 这种做法比较适合那些用脚本来做运维工作的场景。

Dynv6支持IPv4和IPv6,提供API接口, 它的免费子域名每个月最多可以更新50次。

这是一个名为花生壳(Oray)免费版的产品, 它使用全中文的操作界面, 还带有图形化的客户端程序。因此, 大家在使用时完全不需要费劲, 门槛是最低的。但是因为它的免费网络带宽是有限的。所以呢, 这款产品只适合那些对网络流量没有太高要求的轻度用户使用。

FreeDNS, 这是一个由 CrazyDomains 提供的服务, 它提供免费的子域名, 每月的更新次数受到一定的限制, 同时支持标准的 DDNS 功能。

大家在选择的时候, 如果你希望得到没有上限的更新服务, 还要能够使用脚本来进行调用, 那么你应该优先考虑 No-IP 或者 DuckDNS;而假如你更加偏好于具有中文界面的图形操作方式, 在这种情况下, 你就可以去选择花生壳提供的免费版。

注册与配置全流程

1. 首先, 你需要点击进入那个已经被选中的平台的官方网站, 然后使用你的邮箱去注册一个免费的账号。在完成注册后, 系统会分配给你一个子域名, 比如说像我的家庭网址那样的 myhome.duckdns.org 这样的形式, 同时你也会获取到一个用于验证身份的访问令牌。

2. 需要对IP地址更新方式来进行设置, 这个步骤里面有三个选择, 用户需要从这三个选项当中选定一个。

用户可以在官方平台安装适用于 Windows、macOS 或 Linux 系统的 DDNS 客户端。然后输入账号和令牌。该程序会在后台持续运行。当 IP 地址发生变化的时候, 它会触发自动更新操作。

免费动态域名注册与使用全攻略:平台选择、客户端配置与防断连指南(图1)

编写一个定时执行的脚本。这个脚本可以是 Linux 下的 cron 或者 Windows 下的任务计划程序里的内容。让它在一定周期里, 去调用平台的 API 接口, 向平台报告当前的广域网(WAN)IP 地址信息。这样做的时候, 不需要让这个后台程序一直不停地运行着。

可以使用路由器自身自带的那一种动态域名解析功能, 就像华硕还有OpenWrt这些设备里所具备的那种能力一样, 在路由器的管理界面也就是所谓的后台里面, 把相关平台的地址以及用户名和域名都填进去, 这样就让这个路由器自己去完成后续的操作了。

3. 在路由器中进行端口映射的设置工作, 也就是把那些特定的服务端口, 比如说 8080、22、3389 这些端口, 给对应到内部网络里具体那台设备的 IP 地址上去。

4. 在外部网络环境里面去访问一下那个地址 http://myhome.duckdns.org:8080, 然后做一个验证的操作, 当页面能够正常加载出来的时候, 就说明配置已经成功到位了。

典型使用场景

通过远程方式访问家里面的那个 NAS 设备或者是群晖系统, 自己搭建一个个人博客和下载站, 然后使用域名来进行直接访问, 可以实现对家里电脑的远程桌面连接操作, 这还能起到测试环境作用, 从而替代掉那些成本比较高的固定公网 IP地址。

注意事项与高频疑难

免费套餐这个选项通常情况下会对带宽进行限制或者限制每个月能够更新的次数, 所以在生产环境里面使用服务的时候, 建议大家升级成付费的方案。

有一些电信运营商他们会对除了80和443之外的端口做封锁, 所以我们可以改变一下, 去用80或者443又或者8080这些端口, 或者我们也可以结合WebSocket穿透这种方式来试试看。

解析这个事情的生效, 一般需要花掉一到五分钟左右的时间。在这种情况下, 客户端也好, 或者是脚本也好, 需要去保持那种定期的触发模式。如果长时间都没有进行更新的话, 那么就会导致域名去指向那个比较旧的 IP 地址。

实现多域名统一管理是可以的, 具体的做法就是去部署那个叫作 ddns-go 的开源客户端软件。等这个软件弄好了之后, 你需要到它的配置页面里去填入各个平台的 API 地址以及令牌。通过这样的操作, 你就可以在一次部署完成之后, 来管理多个域名的事情了。

把更多网络工具还有服务资源进行整理的信息, 大家可以前去 gz88.cn 这个网址, 去查阅一下那个常被使用的网络服务清单, 以便于能够一站式地去获取所需要的各种工具。