DNS(resolv.conf)的冲突

DNS(resolv.conf)的冲突

1)配置了dhcpd/udhcpd后,会有相应的配置文件来指定dns,比如option dns 1.2.3.4
2)ppp拨号时指定了usepeerdns,这时候会在/etc/ppp目录下产生resolv.conf文件,这里就指定了dns的信息
3)默认情况下,在/etc目录下有配置文件resolv.conf,这里也指定了dns的信息

问题:
1)这几个文件中的dns都有效吗,如果都有效的话,它们之间是一个什么样的关系,它们之间谁优先呢?
2)如何配置好这几个文件,是否把所有的配置归纳为一个文件呢?我又如何处理好它们之间的关系?      
/etc/resolv.conf 是系统范围内的 dns 服务器.

/etc/ppp 目录下的 resolv.conf 是程序需要用的 dns 服务器记录, 用户建立连接后, 系统会分配对应的 IP 作为用户的默认 dns 服务器.
dhcpd 的 option dns 也是程序范围内的 dns 服务器, 默认情况, 这些程序优先使用自己的 dns 服务器.

类似的 还有 squid 的 dns_nameserver 选项, 默认时 优先使用这里指定的 dns 解析用户请求的 server name.