如何创建自定义动态 DNS 解决方案?

如何创建自定义动态 DNS 解决方案?

你们可能都知道商业动态 DNS 提供商,例如 dyndns.org 或 no-ip.com。

但如何为少数机器创建类似的服务呢?

什么服务器软件最适合这种设置(在 Linux 下)?

优点:

  • 该服务将由您控制
  • 没有被一些不透明的公司跟踪

最低要求:

可能是这样的:您至少拥有一台具有静态 IP 的主机、一个域,并且您的域提供商允许您配置 DNS 记录。

客户:

一些通过电缆/DSL 连接的机器仅在每次拨号和/或每 x 小时获取动态 IP 地址。

答案1

这取决于该服务与 DynDNS.org 的相似程度。

对于你看似很小的用例,我可能会设置一个组合的 DHCP/绑定服务器(使用 Linux - 还有什么)。

DHCP 服务器能够更新您的 DNS 服务器,该服务器充当“您的”提供商域的子域的主服务器。确保使用短 TTL 注册该子域,或在提供商处将您的子域注册为“转发到”。

更复杂的部分是为您的 DSL 机器分配固定名称。您是否控制它们/拥有固定号码而不更改固定 MAC 地址?

DHCP 的租用时间应大于 1 天,以便同一客户端再次获得相同的 IP+名称。

更新:我找到了一个完全符合您的问题和解决方案的人这里。有一个开源项目名为GNU文凭这应该能满足你的要求。

答案2

看看GnuDIP项目。它很旧,但只需做一点工作就可以完成

答案3

named.conf您可以使用绑定到 MAC 地址的 DHCP conf 分配 IP 地址,并在主机文件中或在bind9(命名)/dhcpd 守护进程中使用 acl 在内部视图中设置它们的名称。或者,如果您有真正的拨入,您想考虑 pppd 解决方案。

答案4

我已经使用直接管理上的共享网络托管创建了自己的 DDNS 服务。 no-ip 和 dyndns 协议非常相似。使用直接管理命令跟随它们CMD_API_DNS_CONTROL

不幸的是路由器不支持“通用 ddns 协议”。仍在更新 ip,只需调用即可结束:

wget --user <user> --password <password> "https://ddns.XXX.XXX/nic/update/?hostname=rrr.ddns.XXX.XXX"

其中密码和用户可以在脚本中进行硬编码。

相关内容