当我为newtork接口修改ifcfg-....配置文件并添加DNS1 & DNS2条目时,这些DNS值将在此服务启动时由网络管理器服务附加到/etc/resolv.conf中。
这些DNS服务器用于系统范围内的DNS查询,按上下顺序排列.
然后,当我手动删除resolv.conf中的条目并保存文件时,系统无法再解析域名,这将立即生效。
即使在接口配置文件中仍然有DNS1=...、DNS2=...条目,它们也不能工作。
因此,看起来linux应用程序将resolv.conf纳入考虑范围。其他什么都没有。
我的问题是;
如果DNS1和DNS2在ifcfg-....配置文件中的行需要在/etc/resolv.conf中工作,而且我们已经知道resolv.conf并不绑定到特定的网络接口,那么这是一个系统范围的设置,为什么我们要在网络配置文件中定义DNS服务器,而不仅仅是在resolv.conf中?
在网络接口配置文件中设置DNS服务器是为了使DNS查询特定于适配器一次,但还没有实现,所以这些DNS服务器ip地址只是简单地附加到好的旧/etc/resolv.conf来完成这项工作吗?
发布于 2022-05-25 22:57:55
/etc/resolv.conf通常是应用程序使用的运行时配置文件。它被大多数程序使用的标准libc库解析。
然而,/etc/resolv.conf的内容不一定是静态的,可以按需构建。例如,使用DHCP的机器可以添加从dhcp服务器接收的条目。实际上,这是构建resolv.conf最常见的方式。
DNS1 DNS2和ifcfg文件中的DNS3设置不在运行时使用;它们用于接口"up“时间来修改resolv.conf。例如,这可以用于指向不同的DNS服务器,如果您在局域网(有线以太网)或拨号(ppp)或WiFi上.
现在,大多数情况下,DNS*设置并不那么重要。网络管理器可以做得更好。它们大多是对非常老的RedHat配置的保留,只有在使用静态IP地址时才有意义。
https://unix.stackexchange.com/questions/703851
复制相似问题