将递归条目添加到“/etc/hosts”中

将递归条目添加到“/etc/hosts”中

我想将各种 FQDN 的简写添加到/etc/hosts文件中,例如:

pyrrha.compsci.university.org. pyrrha

有没有办法强制本地 DNS 解析器递归处理条目/etc/hosts

为什么?将完整的 FQDN 插入每个配置文件感觉是多余的。在中心位置创建别名可以解决这个问题,并且还增加了一个抽象级别,允许在别名后面的 FQDN 发生变化时进行简单更新。

答案1

resolv.conf允许您指定searchdomains。类似如下的条目:

search cse.iitb.ac.in it.iitb.ac.in iitb.ac.in

允许我:

$ ping -c1 www 
PING www.cse.iitb.ac.in (10.105.1.3) 56(84) bytes of data.
64 bytes from cse.iitb.ac.in (10.105.1.3): icmp_seq=1 ttl=64 time=0.803 ms

--- www.cse.iitb.ac.in ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.803/0.803/0.803/0.000 ms
$ ping -c1 cygnus
PING cygnus.it.iitb.ac.in (10.129.1.1) 56(84) bytes of data.
64 bytes from cygnus.it.iitb.ac.in (10.129.1.1): icmp_seq=1 ttl=61 time=0.688 ms

--- cygnus.it.iitb.ac.in ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.688/0.688/0.688/0.000 ms

resolv.conf不适用于 中的条目/etc/hosts,但如果使用 DNS 服务器解析您的姓名,那么searchdomain可能就是您要查找的内容。

答案2

您问题的第一部分要求 中的递归定义/etc/hosts。这不是必需的,因为已经可以在那里指定多个主机名:

69.162.80.52  pyrrha.compsci.university.org pyrrha

请阅读手册页 ( man 5 hosts) 了解主机文件的语法。

你的问题的第二部分是重复的/etc/hosts 中的 IPv6 区域 ID所以请在那里寻找答案。

答案3

原始发帖者的问题似乎不是关于/etc/hosts,而是关于一个新的软件层:本地管理的网络主机别名列表。

是的,有一个可立即部署的解决方案。

  1. 安装名称服务器(例如 BIND)。
  2. 让它服务于一个新的(私有)区域.hostzone "host" {…),带有一个主区域文件。
  3. 制作search host(甚至可能domain host)第一行/etc/resolv.confnameserver 127.0.0.1第二行。如果有多台机器要使用该系统,则使用除该系统之外的机器上的名称服务器的 IP 地址。
  4. 将别名放置到 DNS 记录语义中的区域文件中(即,IN CNAME对于正确的别名, IN A( IN AAAA) 对于hosts-style 显式 IPv4(v6) 地址)。
  5. 重新加载区域。

所有以新版本启动的应用程序resolv.conf都可以访问您的别名而无需.host附加。请注意第 4 点:CNAME访问另一个区域中的域名需要.目标使用 - 终止的 FQDN 语法。例如:

irc     IN  CNAME   h.mixtery.name.

相关内容