我有一台机器(Debian jessie)用于“跳转”到另一台具有不同域的机器......实际上有很多域。
正如man resolv.conf
我们所知,主机名查找的搜索列表最多可包含 6 个域或 256 个字符。
如何增加域名查找的数量?
提前致谢。
答案1
自 20 世纪 90 年代以来,这个问题就断断续续地被问到。还是一样的答案。
正如 RedHat 的 Jakub Jelinek 10 年前所说,此限制已硬连接到 GNU libc 中包含的 BIND DNS 客户端库中。它在运行时不可配置,并且不太可能被操作系统发行商更改,因为这会破坏与使用 GNU libc 的这一部分的某些第三方程序的二进制兼容性。
当然,如果有能力,可以随时更改参数,并从源代码重新编译 GNU libc 和所有使用它的程序。然而,这需要大量工作才能完成
ssh 佩斯卡多在 DNS 命名空间树中的 6 个以上位置中查找以查找名为 的计算机
pescado
。 ☺
进一步阅读
- 雅库布·耶利内克 (2005-09-14)。DNS 解析器的“MAXDNSRCH 6”值太小。 168253。RedHat bugzilla。
- 雅库布·耶利内克 (2006-12-15) 。 RFE:/etc/resolv.conf 中的更多搜索域。 219778。RedHat bugzilla。
- 让·马克·普胡隆 (Jean-Marc Pouchoulon) (2002-04-25)。resolv.conf 管理超过 6 个域。绑定用户。
答案2
答案3
您无法增加搜索域的数量。
但是,您可以:
添加包含
/etc/hosts
IP 地址、完整主机名和短别名的条目。注意:如果主机的 IP 地址发生变化,您将必须更新条目/etc/hosts
,因此这 a) 违背了 DNS 的目的,并且 b) 从中长期来看可能是一个烦人的“解决方案”。如果“跳转到其他机器”,您的意思
ssh
是它们,您可以在文件中添加主机的定义~/.ssh/config
。然后,您可以使用完全限定域名或您在配置中指定的短名称通过 ssh 连接到这些主机。
例如
Host foo
Hostname foo.example.com
User cas
ssh foo
将尝试使用远程用户名 cas ssh 到 foo.example.com。
答案4
根据 resolv.conf 的手册,域条目的最大限制确实是 6。
如果您想使用超过 6 个域名,那么您可以使用本地缓存名称服务器,例如 dnsmasq。
以下是如何执行此操作的分步指南:
https://wiki.archlinux.org/index.php/Dnsmasq