# Resolv.conf (简体中文)

翻译状态： 本文是英文页面 Resolv.conf 的翻译，最后翻译时间：2012-09-11，点击这里可以查看翻译后英文页面的改动。

本文来自手册页面: resolv.conf(5):

  "解析器(reslover)是C库中用于提供DNS接口的程序集,某个进程调用这些程序时将同时读入解析器的配置文件.这个文件具有可读性并且包含大量可用的解析参数."

  "在普通用途的系统里这个文件不是必须的.需要查询的只有本地主机名；主机名决定域名,域名将构成域搜索路径."

## 保存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进程即可.

Category:

- Networking (简体中文)