7.6.DNS¶
DNS 可以理解为电话簿,在这个电话簿中,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/nswitch.conf 文件的 hosts 部分如下:
hosts: files dns
例如,在使用 nscd(8) 服务时。可以通过保留以下行来更改优先顺序:
hosts: files cache dns
7.6.1.本地地址¶
/etc/hosts 文件是一个简单的文本数据库,提供主机名与 IP 地址的映射。可将通过局域网连接的本地计算机的条目添加到该文件中,以实现简单的命名目的,而无需设置 DNS 服务器。此外,/etc/hosts 还可用于提供互联网名称的本地记录,从而减少为常用名称查询外部 DNS 服务器的需要。
例如,如果要在本地环境中创建一个 www/gitlab-ce 实例,可以在 /etc/hosts 文件中添加如下内容:
192.168.1.150 git.example.com git
7.6.2.配置名称服务器¶
FreeBSD 系统访问 Internet 域名系统 (DNS) 的方式由 resolv.conf(5) 控制。
/etc/resolv.conf 中最常见的条目是
名称 |
解释 |
---|---|
|
解析器应查询的名称服务器的 IP 地址。服务器按所列顺序查询,最多查询三个。 |
|
主机名查询的搜索列表。这通常由本地主机名的域决定。 |
|
本地域名。 |
典型的 /etc/resolv.conf 文件如下:
search example.com
nameserver 147.11.1.11
nameserver 147.11.100.30
注意
只能使用其中一个搜索和域选项。
使用 DHCP 时,dhclient(8) 通常会根据从 DHCP 服务器接收到的信息重写 /etc/resolv.conf。
提示
如果进行配置的机器不是 DNS 服务器,则可以使用 local-unbound(8) 来提高 DNS 查找性能。
要在启动时启用它,请执行以下命令:
# sysrc local_unbound_enable="YES"要启动 local-unbound(8) 服务,请执行以下命令:
# service local_unbound start