我正在管理一台特定的主机,我想在本地添加一个新的名称服务器供它查询(即不通过 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(除非它是工作站),而这是一个不可扩展的假设……