domain-name-system – 使用DNS条目确定位置

前端之家收集整理的这篇文章主要介绍了domain-name-system – 使用DNS条目确定位置前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图想出一种干净的方法来根据网络设置确定机器的位置(主要是它们所属的数据中心).

我希望它是动态的,我正在考虑使用特定于每个数据中心的DNS服务器的特殊DNS记录.

例如,您可以:

root@machine1# dig TXT mysite
...
mysite      3600    IN  TXT "DC1"
...
root@machine2# dig TXT mysite
...
mysite      3600    IN  TXT "DC2"
...

等等

我知道DNS有一个特殊的LOC位置记录,但它需要坐标,所以它对我的情况没有帮助.是否有解决此问题的标准方法,另一种特殊类型的记录,或TXT记录中的一些标准条目?

解决方法

(首先,请原谅我不同意你的问题.)恕我直言,显然这种主机配置信息的正确位置是DHCP. DHCP旨在为客户端提供使用子网上可用的各种服务所需的所有信息.

您可以使用一些标准的DHCP选项,我发现域名最接近您的目的.你可以在你的DHCP服务器上使用这样的东西:

option domain-name DC1;
   option domain-name dc1.example.org;

或者(甚至可能更好),DHCP允许site-specific options,你可以定义一个名为的DHCP选项,比如text类型的选项site-name(它也需要一些数字选项代码),如下所示:

option site-name code 222 = text;
   option site-name "DC1";

在DHCP客户端上,您可以定义此选项代码,请求选项并在实际使用它的地方烘焙一些/ etc / dhcp / dhclient-enter-hooks脚本.

编辑:在最近的发行版中,dhclient-enter-hooks不再调用,而是将您的脚本放到/etc/NetwokManager/dispatcher.d/文件夹中,如下所示:

#!/bin/sh
# save me as /etc/NetwokManager/dispatcher.d/02test

printenv >>/tmp/dhcp-env

一旦DHCP获得租约,您将看到所有DHCP变量都转储到/ tmp / dhcp-env中.

也许您最好在一个单独的DHCP选项中定义所有打印机名称,apt服务器等,而不是仅仅标识数据中心,而是将所有相关配置存储在客户端中.

如果您仍然选择使用DNS,我发现您的TXT是一个不错的选择,不知道为此目的定义的任何标准,除了可能为此:named.conf中的server-id选项:服务器在接收时应报告的ID …. 一个
使用类型TXT,类CHAOS查询名称ID.SERVER.

即在你定义的named.conf中

server-id DC1; //or DC2 etc.

Sorta旨在识别我正在与哪个DNS服务器通信,这与您需要的接近.

猜你在找的HTML相关文章