作用
-
查看板子(通常指的是嵌入式设备或路由器)的 DNS 服务器配置:cat /etc/resolv.conf
/etc/resolv.conf
:主要作用是告诉系统在解析域名时应该使用哪些 DNS 服务器。当系统需要将域名(如www.example.com
)转换为 IP 地址时,它会查询这些 DNS 服务器。nameserver
: 指定 DNS 服务器的 IP 地址。系统会按照文件中nameserver
条目的顺序依次查询这些 DNS 服务器,例如:- nameserver 8.8.8.8
- nameserver 8.8.4.4
-
domain
: 指定本地域名。当系统解析不完整的域名时,会自动加上这个域名。domain example.com
-
search
: 指定搜索域列表。当系统解析不完整的域名时,会依次尝试这些搜索域。search example.com sub.example.com
-
options
: 指定一些选项,如超时时间、重试次数等。options timeout:1 attempts:2
工作原理
当系统需要解析一个域名时,它会按照以下步骤工作:
-
读取
/etc/resolv.conf
文件: 系统首先读取/etc/resolv.conf
文件,获取 DNS 服务器的 IP 地址。 -
查询 DNS 服务器: 系统按照文件中
nameserver
条目的顺序,依次向这些 DNS 服务器发送查询请求。 -
解析域名: DNS 服务器收到查询请求后,会返回对应的 IP 地址。系统使用这个 IP 地址来建立网络连接。
-
使用搜索域: 如果查询的域名不完整(例如只输入了
example
),系统会自动加上search
条目中指定的域名(如example.com
),并尝试解析。 -
示例
假设
/etc/resolv.conf
文件内容如下:nameserver 8.8.8.8 nameserver 8.8.4.4 search example.com sub.example.com options timeout:1 attempts:2
-
nameserver 8.8.8.8
: 系统首先会查询8.8.8.8
(Google 的公共 DNS 服务器)。 -
nameserver 8.8.4.4
: 如果8.8.8.8
不可用,系统会查询8.8.4.4
(Google 的另一个公共 DNS 服务器)。 -
search example.com sub.example.com
: 如果用户输入的域名不完整(如example
),系统会尝试解析example.example.com
和example.sub.example.com
。 -
options timeout:1 attempts:2
: 系统会在 1 秒内等待 DNS 服务器的响应,如果超时,会重试 2 次。