首页>教程>FreeBSD 教程> 网络配置 >FreeBSD 主机名和 DNS 配置

FreeBSD 主机名和 DNS 配置

在网络中使用 FreeBSD 系统,除了要使用有线网络连接或无线网络连接外,还可能会使用到主机名和 DNS。在本文中将要介绍如何为 FreeBSD 系统配置主机名和配置 DNS。

主机名配置

主机名是该主机在网络中唯一标识,可以是一个名称,也可以是完全限定域名 (fully qualified domain name FQDN)。如果未设置,会自动设置为 Amnesiac

查看当前主机名

使用如下命令查看主机名称:

hostname

设置主机名

主机名称配置在 /etc/rc.conf 文件中,使用如下命令把主机名设置为一个完全限定域名:

sudo sysrc hostname="freebsd-server.example.com"

重启系统后生效。

DNS 配置

域名系统(DNS)可以理解为一个电话簿,其中的 IP 地址与主机名一一对应,可以把 IP 地址解析为域名,或者可以把域名解析为 IP 地址。

在 FreeBSD 系统中使用 /etc/hosts/etc/resolv.conf/etc/nsswitch.conf 三个文件管理 DNS 解析。

控制解析优先级

在 FreeBSD 系统中使用/etc/nsswitch.conf 文件控制解析域名时的查询顺序。

使用 hosts: 定义查询顺序,前面的优先级大于后面的优先级,默认定义的查询顺序为:

hosts: files dns

内容解释:

  • files:查询 /etc/hosts 文件内的内容
  • dns:查询 resolv.conf 中配置的 DNS 服务器

如果在 FreeBSD 系统中启用了 nscd 缓存服务,可以设置查询缓存信息,可以设置为类似如下内容:

hosts: files cache dns

本地静态解析

如果只是在局域网中使用域名信息,那么就不需要配置 DNS 解析服务器,只需在 /etc/hosts 文件中添加对应的配置信息。内容为一行一条信息,格式为 IP地址 主机名 别名

编辑 /etc/hosts 文件:

sudo vi /etc/hosts

添加类似如下的内容:

192.168.1.150 git.example.com git

当在局域网中访问 git.example.com 时,会解析到访问局域网中的 192.168.1.150 地址。

配置 DNS 服务器

如果想要访问互联网中域名,那么就需要配置 DNS 域名服务器,DNS 域名服务器的内容存放在 /etc/resolv.conf 文件中。

可以在文件中添加如下的三种内容信息:

  • nameserver:域名服务器信息,访问该 IP,解析域名为对应的 IP 地址。

  • search:搜索域名后缀,当在浏览器中输入一个字符串中,按顺序与该内容拼接后,作为完整域名。

  • domain:域名,设置本地域名。

注意:searchdomain 信息不能同时设置。

添加 DNS 服务器

编辑 /etc/resolv.conf 文件:

sudo vi /etc/resolv.conf

添加类似如下的 DNS 域名服务器内容:

nameserver 211.137.191.26  # 首选 DNS 服务器,中国移动的 DNS 服务器
nameserver 114.114.114.114  # 备用 DNS 服务器

添加搜索域名后缀

还可以在该文件中配置搜索的域名后缀,即:在浏览器中只输入一个字符串时,如 zhidao,会把该字符串与拼接起来,作为完整域名发送到 DNS 域名服务器去解析。

添加类似如下的搜索域名后缀内容:

search example.com
search mydomain.com

当配置了如上的内容后,当在浏览器的地址栏中只输入 "server" 时,会按顺序与域名后缀拼接后访问:

  • 先访问 server.example.com,如果能够正常访问,则终止往下搜索
  • 如果不能访问,则访问 server.mydomain.com

注意:你设置的搜索域名后缀,要在互联网中能够访问,否则可能会遇到问题。

当使用 DHCP 获取 IP 时,dhclient 会自动覆盖该文件,如果想要不修改 DNS,需要配置 dhclient 忽略更新 DNS。

启用本地 DNS 缓存

在 FreeBSD 中也提供了 DNS 缓存服务,local-unbound 是一款轻量级的 DNS 缓存服务,可以用来提升 DNS 的解析速度。

1)设置开机自启动 local-unbound 服务:

sudo sysrc local_unbound_enable="YES"

2)启动 local-unbound 服务:

sudo service local_unbound start