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 部分如下所示:

hosts: files dns

例如,在使用 nscd(8) 服务的情况下,偏好顺序可以通过将该行保留为以下内容来更改:

hosts: files cache dns

7.6.1. 本地地址

/etc/hosts 文件是一个简单的文本数据库,提供主机名到 IP 地址的映射。可以将通过 LAN 连接的本地计算机的条目添加到此文件,以便简化命名,而不是设置 DNS 服务器。此外, /etc/hosts 可用于提供 Internet 名称的本地记录,减少查询常用名称的外部 DNS 服务器的需求。

例如,在本地环境中有一个本地实例的 www/gitlab-ce 的情况下,可以将其添加到 /etc/hosts 文件中,如下所示:

192.168.1.150 git.example.com git

7.6.2. 配置域名服务器

FreeBSD 系统如何访问互联网域名系统(DNS)由 resolv.conf(5) 控制。

/etc/resolv.conf 的最常见条目有:

nameserver

解析器应查询的名称服务器的 IP 地址。服务器按列出的顺序查询,最多为三个。

search

主机名查找的搜索列表。这通常由本地主机名的域确定。

domain

本地域名。

典型的 /etc/resolv.conf 如下所示:

search example.com
nameserver 147.11.1.11
nameserver 147.11.100.30

注意

只应使用 searchdomain 选项中的一个。

在使用 DHCP 时,dhclient(8) 通常使用从 DHCP 服务器接收到的信息重写 /etc/resolv.conf

技巧

如果进行配置的机器不是 DNS 服务器,可以使用 local-unbound(8) 来提高 DNS 查询性能。要在启动时启用它,请执行以下命令:

# sysrc local_unbound_enable="YES"

要启动 local-unbound(8) 服务,请执行以下命令:

# service local_unbound start

最后更新于

FreeBSD 中文社区