Resolv.conf (简体中文)
From ArchWiki
本文来自手册页面: resolv.conf(5):
- "解析器(reslover)是C库中用于提供DNS接口的程序集,某个进程调用这些程序时将同时读入解析器的配置文件.这个文件具有可读性并且包含大量可用的解析参数."
- "在普通用途的系统里这个文件不是必须的.需要查询的只有本地主机名;主机名决定域名,域名将构成域搜索路径."
Contents |
保存DNS设置
dhcpcd, NetworkManager, 已经许多别的程序能够覆盖 /etc/resolv.conf里的内容. 这样的行为通常是可取的, 但是有些时候DNS设置需要手动配置(比如使用静态IP时). 有几种方法可以实现. 如果你使用NetworkManager, 参见 this thread .
修改dhcpcd配置
可以修改dhcpcd的配置文件以避免dhcpcd进程修改/etc/resolv.conf. 只需要在/etc/dhcpcd.conf最后添加:
nohook resolv.conf
使用resolv.conf.head
另外, 可以创建文件/etc/resolv.conf.head 并在其中包含DNS信息. dhcpcd将把这个文件插入到/etc/resolv.conf文件头. 使用OpenDNS的{ic|/etc/resolv.conf.head}}例子:
# OpenDNS servers nameserver 208.67.222.222 nameserver 208.67.220.220
也可以使用google的DNSGoogle's nameservers.
# Google nameservers nameserver 8.8.8.8 nameserver 8.8.4.4
给/etc/resolv.conf添加写保护
这样可以避免配置信息被任何程序修改:
chattr +i /etc/resolv.conf
使用 timeout 选项减少主机名查找时间
如果出现长时间域名查找问题,可以定义一个超时时间,超过之后会使用备用域名服务器。配置方法:
创建文件 /etc/resolv.conf.tail并加入
options timeout:1
重启network进程即可.