Linux DNS 客户端更新工具

Linux DNS 客户端更新工具

因此,我在网络托管环境中工作,并且在我们主要基于 Windows 的网络上有一些 Linux 机器。网络上的所有机器(Windows 和 Linux)都至少有两个网络接口,每个接口都有自己的 DNS 后缀,因此我们可以将备份和管理流量与生产网络流量分开。

问题是每台机器上的备份/管理 NIC 都使用 DHCP 获取地址并在 DNS 中注册自身,而生产 NIC 是静态的,DHCP 不是一种选项。

Windows 配置相对简单,我们将一个 DHCP 网卡设置为不向 DNS 注册,而将 DNS 注册留给 DHCP 服务器。然后我们将静态 IP 网卡设置为向 DNS 注册,一切正常。我希望我的 Linux 机器也能做同样的事情,我已经搞清楚了 DHCP 网卡,但我没有找到很多让 Linux 自动在 DNS 中注册静态地址的方法。

以前有人做过类似的事情吗?

答案1

确保已安装 nsupdate,然后使用它来注册您的名称。nsupdate 的一个问题是您需要允许非安全动态更新。除非您的平台支持 nsupdate-gss,并且您的 linux 机器已设置 kerberos 以成为域的一部分。

我有一个脚本,它看起来有点像这个,我在一些情况下使用它,比如动态注册 OpenVPN 客户端。在实际脚本中,IP 和实际主机名来自 VPN 服务器。如果您使用的是基于 Debian 的发行版,那么调整此脚本并将其放入 中将非常容易/etc/network/if-up.d/

#/bin/bash

dnssrv="192.168.47.12"   # the dns server that will accept the ddns request.
zone="dyn.example.org"   # the name of the zone
ttl="7200"               # 
hostname=`hostname`      # the name of your local host
ip='192.168.47.193'      # IP of the host

(
 echo "server ${dnssrv}"
 echo "zone ${zone}"
 echo "update delete ${farm}"
 echo "update add ${hostname}.${zone} ${ttl} A ${ip}"
 echo "send"
) | /usr/bin/nsupdate

另一种选择可能是仅对两个接口使用 DHCP 来设置预留。

答案2

我知道您说 DHCP 不是静态生产 NIC 的选项,但您是否研究过提供固定地址的 DHCP 服务器?从各方面来看,它们都与静态 IP 地址一样好,但还具有集中管理的额外优势。

在 Linux 下(我相信在 Windows 下)这相对简单。

也许您可以解释一下为什么通过 DHCP 固定地址不是一种选择,然后我们可以看看可以做些什么。

相关内容