7.6.DNS
DNS(Domain Name System,域名系统)可以被理解为一个电话簿,其中将 IP 标识为主机名,反之亦然。
有三个文件负责处理 FreeBSD 系统与 DNS 的交互。这三个文件分别是hosts(5)、resolv.conf(5)和nsswitch.conf(5)
除非在 /etc/nsswitch.conf 文件中另有说明,FreeBSD 将查看 /etc/hosts 文件中的地址,然后查看 /etc/resolv.conf 文件中的 DNS 信息。
|nsswitch.conf(5)文件指定了 nsdispatch(名称服务切换调度程序)的操作方式。默认情况下, /etc/nsswitch.conf 文件的 hosts 部分如下所示:
例如,在使用 nscd(8) 服务的情况下,偏好顺序可以通过将该行保留为以下内容来更改:
7.6.1. 本地地址
/etc/hosts 文件是一个简单的文本数据库,提供主机名到 IP 地址的映射。可以将通过 LAN 连接的本地计算机的条目添加到此文件,以便简化命名,而不是设置 DNS 服务器。此外, /etc/hosts 可用于提供 Internet 名称的本地记录,减少查询常用名称的外部 DNS 服务器的需求。
例如,在本地环境中有一个本地实例的 www/gitlab-ce 的情况下,可以将其添加到 /etc/hosts 文件中,如下所示:
7.6.2. 配置域名服务器
FreeBSD 系统如何访问互联网域名系统(DNS)由 resolv.conf(5) 控制。
/etc/resolv.conf 的最常见条目有:
| 解析器应查询的名称服务器的 IP 地址。服务器按列出的顺序查询,最多为三个。 |
| 主机名查找的搜索列表。这通常由本地主机名的域确定。 |
| 本地域名。 |
典型的 /etc/resolv.conf 如下所示:
注意
只应使用
search
和domain
选项中的一个。
在使用 DHCP 时,dhclient(8) 通常使用从 DHCP 服务器接收到的信息重写 /etc/resolv.conf。
技巧
如果进行配置的机器不是 DNS 服务器,可以使用 local-unbound(8) 来提高 DNS 查询性能。要在启动时启用它,请执行以下命令:
要启动 local-unbound(8) 服务,请执行以下命令:
最后更新于