Resolv.conf (简体中文)

From ArchWiki
Jump to: navigation, search
翻译状态: 本文是英文页面 Resolv.conf翻译,最后翻译时间:2012-09-11,点击这里可以查看翻译后英文页面的改动。

本文来自手册页面: 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进程即可.