在 Red Hat 或 CentOS 中向主机添加新名称服务器的首选方法

在 Red Hat 或 CentOS 中向主机添加新名称服务器的首选方法

我正在管理一台特定的主机,我想在本地添加一个新的名称服务器供它查询(即不通过 dhcp 服务器更改其名称服务器设置)。似乎有多种方法可以添加新的名称服务器。

  • 直接将“nameserver”指令添加到解析配置文件文件
  • 将“DNS{1,2}=address”指令添加到ethX 的 ifcfg文件
  • 将“附加域名服务器”指令添加到dhclient.conf文件。(我们假设主机正在使用 dhcp)。

或许还有更多方法……

哪种方式更可取?如果我希望名称服务器地址在重新启动后保持不变,并且还可以在主机下次查找时立即使用,哪种选择最好?

谢谢

答案1

我会

  • 将其添加到 DHCP 服务器的域名服务器选项列表中
  • 将其添加到 /etc/resolv.conf

客户端将立即开始使用它,并且下次刷新其 DHCP 租约/选项时它也将从服务器获取它。

您还可以将新服务器添加到 DHCP 服务器的域名服务器列表中,并在客户端上重新启动网络,以便它立即从服务器进行更新

service network restart

如果您不想更改 DHCP 服务器配置,则可以使用 /etc/dhcp/dhclient.conf 文件将地址附加或添加到域名服务器列表

append domain-name-servers 8.8.4.4;

会将 8.8.4.4 处的名称服务器添加到 /etc/resolv.conf 中的名称服务器列表的末尾。使用 prepend 会将其放在开头。

请注意,/etc/resolv.conf 中的名称服务器列表中的最大条目数为 3。

答案2

我一直以来的做法是修改 /etc/network/interfaces。

我的所有主机的条目如下所示:

dns-nameservers 8.8.8.8 8.8.4.4

这会将 8.8.8.8 和 8.8.4.4 设置为您的 DNS 服务器,当然,您可以用您决定使用的任何 DNS 替换它们。修改该文件后,请确保发出 /etc/init.d/networking restart 以使更改生效。

答案3

通过添加适当的条目来更改此设置/etc/resolv.conf是跨 Linux 发行版/版本最一致的方法。此外,它会立即生效,并在重启后保持不变。一致性是关键。

我不会依赖这些ifcfg-ethX文件或类似 dhclient 配置文件的东西。系统可能不应该使用 DHCP(除非它是工作站),而这是一个不可扩展的假设……

相关内容