Linux 上的 DNS 使用是通过C 库中的一组例程完成的,这些例程提供对 Internet 域名系统 (DNS) 的访问。解析器配置文件 ( resolv.conf) 包含解析器例程第一次被进程调用时读取的信息。简而言之,每个请求 DNS/etc/resolv.conf的进程都会读取库。NSS在此之上分层,并由/etc/nsswitch.conf.
Linux DNS 配置位于文件中,/etc/resolv.conf但有许多程序/服务想要自动管理和处理位于/etc/resolv.conf. 在某些情况下,您可能希望自己管理此文件。每个管理 DNS 的程序/服务都有自己的配置文件,例如/etc/dnsmasq.conf(用于 dnsmasq 服务),并在连接更改和/或其他事件时附加 DNS 配置......一个快速的解决方案是锁定 DNS 配置文件,chattr +i /etc/resolv.conf但不推荐这样做在某些情况下,更好的解决方案是使用 DNS 正确设置所有程序/服务,例如 (dnsmasq/network-manager/resolvconf/etc.)
Linux下的DNS配置
Linux 上的 DNS 使用是通过C 库中的一组例程完成的,这些例程提供对 Internet 域名系统 (DNS) 的访问。解析器配置文件 (
resolv.conf
) 包含解析器例程第一次被进程调用时读取的信息。简而言之,每个请求 DNS/etc/resolv.conf
的进程都会读取库。NSS在此之上分层,并由/etc/nsswitch.conf
.Linux DNS 配置位于文件中,
/etc/resolv.conf
但有许多程序/服务想要自动管理和处理位于/etc/resolv.conf
. 在某些情况下,您可能希望自己管理此文件。每个管理 DNS 的程序/服务都有自己的配置文件,例如/etc/dnsmasq.conf
(用于 dnsmasq 服务),并在连接更改和/或其他事件时附加 DNS 配置......一个快速的解决方案是锁定 DNS 配置文件,chattr +i /etc/resolv.conf
但不推荐这样做在某些情况下,更好的解决方案是使用 DNS 正确设置所有程序/服务,例如 (dnsmasq/network-manager/resolvconf/etc.)夺回对 DNS 的控制权
这是一个详尽的设置列表,用于恢复对 resolv.conf 的控制并避免将其覆盖(如何从 resolv.conf 以外的其他位置禁用/设置 DNS)请注意,resolvconf 是一个独立于 resolv.conf 的程序,也根据您的系统/配置,您可能没有此处列出的一个或多个程序。
1.解析配置:
配置文件
更新配置
禁用解析配置
2.DNSmasq服务:
配置文件
更新配置
3.网络管理员:
配置文件
禁用 DNS
启用 DNS
使用已解析的服务
使用 resolvconf
更新配置
4. 网络接口:
配置文件
更新配置
5. DHCP客户端:
配置文件
更新配置
6. Rdnssd服务:
禁用 rdnssd
7. 解决服务:
禁用已解决
8.网络配置:
配置文件
禁用网络配置
更新配置
设置 DNS 服务器
/etc/resolv.conf
配置示例