RHEL Linux 发行版中如何处理 DNS 查询?

RHEL Linux 发行版中如何处理 DNS 查询?

当我修改ifcfg-....newtork 接口的配置文件并添加 DNS1 和 DNS2 条目时,/etc/resolv.conf网络管理器服务启动时会附加这些 DNS 值

这些 DNS 服务器按从上到下的顺序用于系统范围的 DNS 查询。

然后,当我手动删除 resolv.conf 中的条目并保存文件时,系统无法再解析域名,并且这会立即生效。

即使我们在接口配置文件中仍然有DNS1=...,DNS2=...条目,它们也不起作用。

因此,Linux 应用程序似乎需要resolv.conf考虑。没有别的。

我的问题是;

配置文件中的ifDNS1DNS2ifcfg-....需要进入才能/etc/resolv.conf工作,而且我们已经知道resolv.conf它不绑定到特定的网络接口,所以这是一个系统范围的设置,为什么我们要在网络配置文件中定义 DNS 服务器,而不仅仅是在解决.conf?

在网络接口配置文件中设置 DNS 服务器是否旨在使 DNS 查询特定于适配器一次,但尚未实现,因此这些 DNS 服务器 IP 地址只是简单地附加到旧的/etc/resolv.conf来完成这项工作?

答案1

/etc/resolv.conf通常是应用程序使用的运行时配置文件。它由大多数程序使用的标准 libc 库进行解析。

然而,内容/etc/resolv.conf不必是静态的,并且可以“按需”构建。例如,使用 DHCP 的机器可以添加从 dhcp 服务器接收到的条目。事实上,这是最常见的resolv.conf构建方式。

文件中的 和 设置在DNS1 DNS2运行时不使用;它们在界面“启动”时使用来修改。例如,如果您在 LAN(有线以太网)、拨号 (ppp) 或 WiFi 上,则可以使用它来指向不同的 DNS 服务器...DNS3ifcfgresolv.conf

DNS*如今,大多数设置并不那么重要。网络管理员可以做得更好。它们主要是非常旧的 RedHat 配置的遗留物,并且只有在使用静态 IP 地址时才有意义。

相关内容