当我修改ifcfg-....
newtork 接口的配置文件并添加 DNS1 和 DNS2 条目时,/etc/resolv.conf
网络管理器服务启动时会附加这些 DNS 值
这些 DNS 服务器按从上到下的顺序用于系统范围的 DNS 查询。
然后,当我手动删除 resolv.conf 中的条目并保存文件时,系统无法再解析域名,并且这会立即生效。
即使我们在接口配置文件中仍然有DNS1=...
,DNS2=...
条目,它们也不起作用。
因此,Linux 应用程序似乎需要resolv.conf
考虑。没有别的。
我的问题是;
配置文件中的ifDNS1
和DNS2
行ifcfg-....
需要进入才能/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 服务器...DNS3
ifcfg
resolv.conf
DNS*
如今,大多数设置并不那么重要。网络管理员可以做得更好。它们主要是非常旧的 RedHat 配置的遗留物,并且只有在使用静态 IP 地址时才有意义。