我们的测试环境

  • 域名服务器 IP 地址:192.168.135.130
  • 示例域/主机:onitroad.com
  • onitroad.com 区域的权威域名服务器:ns1.onitroad.com (192.168.0.10) 和 ns2.onitroad.com (192.168.0.11)
  • onitroad.com 将指向的 www 和邮件服务:192.168.0.10

测试绑定服务器配置

来自 dnsutils 包的 dig命令将派上用场,帮助我们测试 BIND 名称服务器的新配置。

  • dig命令可以在任何可以通过网络访问 DNS 服务器的 PC 上使用,但最好从本地主机开始测试。在我们的例子中,我们名称服务器的 IP 地址是“192.168.135.130”。

首先,使用 dig 命令测试主机到 IP 的解析:

$dig @192.168.135.130 www.onitroad.com
  • 接下来,我们测试 IP 到主机的解析:
$dig @192.168.135.130 -x 192.168.0.10

配置地址到名称映射

现在,BIND DNS 服务器可以解析映射到 onitroad.com 主机的 IP 地址。

我们现在应该做的是反过来教我们的名称服务器,即从 IP 地址解析主机。

  • 为此,我们将需要另一个名为“db.192.168.0”的文件。
$sudo nano /etc/bind/zones/master/db.192.168.0
  • 在此文件中,粘贴以下内容:
;
; BIND reverse data file for 0.168.192.in-addr.arpa
;
$TTL    604800
0.168.192.in-addr.arpa.      IN      SOA     ns1.onitroad.com. admin.onitroad.com. (
                          1         ; Serial
                          3h       ; Refresh after 3 hours
                          1h       ; Retry after 1 hour
                          1w       ; Expire after 1 week
                          1h )     ; Negative caching TTL of 1 day
;
0.168.192.in-addr.arpa.       IN      NS      ns1.onitroad.com.
0.168.192.in-addr.arpa.       IN      NS      ns2.onitroad.com.
10.0.168.192.in-addr.arpa.   IN      PTR     onitroad.com.

PTR:用于将 IP 地址映射到主机名的 NDS 记录。

Linux DNS 服务器 BIND 配置

BIND DNS 软件是在 Linux 系统上配置名称解析的最可靠和经过验证的方法之一。

自 1980 年代以来一直存在,它仍然是目前使用的最受欢迎的域名服务器 (DNS)。
本文用作使用 BIND 的 Linux DNS 服务器的快速配置手册。

检查 BIND 的区域文件和配置

在我们尝试使用新区域和配置启动 BIND 名称服务器之前,这里有一些工具可以检查以确保我们没有做一些拼写错误或者配置错误。

  • 要检查配置文件,请运行以下 Linux 命令:
$sudo named-checkconf

如果没有产生任何输出,则配置文件没有问题。

  • 要检查 DNS 区域文件,我们可以使用 named-checkzone命令:
$sudo named-checkzone onitroad.com /etc/bind/zones/master/db.onitroad.com
zone onitroad.com/IN: loaded serial 1
OK
  • 或者,检查反向区域文件:
$sudo named-checkzone 0.168.192.in-addr.arpa /etc/bind/zones/master/db.192.168.0
zone 0.168.192.in-addr.arpa/IN: loaded serial 1
OK

更新 BIND 配置文件

此时我们应该准备好两个文件:

  • /etc/bind/zones/master/db.onitroad.com
  • /etc/bind/zones/master/db.192.168.0
  • 我们现在需要做的就是将两个区域文件名插入到 BIND 配置文件 named.conf.local中。
$sudo nano /etc/bind/named.conf.local
  • 然后,将以下行添加到此文件中:

告诉 BIND 我们的区域文件所在的位置

zone "onitroad.com" {
       type master;
       file "/etc/bind/zones/master/db.onitroad.com";
};
zone "0.168.192.in-addr.arpa" {
       type master;
       file "/etc/bind/zones/master/db.192.168.0";
};
  • 在我们继续检查配置之前的最后一件事是将稳定 DNS 服务器的 IP 地址添加到 named.conf.options文件中。如果本地 DNS 服务器不知道名称解析查询的答案,将使用此 IP 地址。在许多情况下,DNS 服务器的 IP 地址由 Internet 提供商提供。或者,我们可以使用 IP 地址为“8.8.8.8”或者“8.8.4.4”的 Google 公共 DNS 服务器。
$sudo nano /etc/bind/named.conf.options
  • 将转发器地址(默认为 0.0.0.0)替换为 8.8.8.8 IP 地址。
forwarders {
              8.8.8.8; 使用Google(或者网络服务提供商)的DNS 服务器的转发地址
         };

在Linux上安装 BIND

在 Debian 或者 Ubuntu Linux 服务器上,我们可以使用以下 linux 命令安装 BIND 名称服务器:

$sudo apt install bind9 dnsutils

或者在 CentOS、Fedora、AlmaLinux 和其他基于 RHEL 的发行版上使用此命令:

$sudo dnf install bind dnsutils

dnsutils 软件不是运行 BIND 名称服务器的必备软件包,但我们将使用该软件包中的 dig命令作为 BIND 配置的测试工具。

创建 DNS 区域文件

为域 onitroad.com 创建一个新的区域文件。

  • 导航到/etc/bind/目录,然后执行以下命令序列导航到zones/master/
$cd /etc/bind
$sudo mkdir -p zones/master
$cd zones/master/
  • /etc/bind/zones/master目录将包含 onitroad.com域名的区域文件。如果我们更喜欢使用另一个目录来保存此文件,我们可以随意这样做。以下名为“db.onitroad.com”的区域文件将保存 DNS 记录,以帮助名称服务器将完全限定的域名解析为 IP 地址。使用 nano 或者我们喜欢的文本编辑器创建 db.onitroad.com
$sudo nano /etc/bind/zones/master/db.onitroad.com
  • 然后,将以下模板粘贴到文件中:
;
; BIND data file for onitroad.com
;
$TTL    3h
@       IN      SOA     ns1.onitroad.com. admin.onitroad.com. (
                          1        ; Serial
                          3h       ; Refresh after 3 hours
                          1h       ; Retry after 1 hour
                          1w       ; Expire after 1 week
                          1h )     ; Negative caching TTL of 1 day
;
@       IN      NS      ns1.onitroad.com.
@       IN      NS      ns2.onitroad.com.

onitroad.com.    IN      MX      10      mail.onitroad.com.
onitroad.com.    IN      A       192.168.0.10
ns1                     IN      A       192.168.0.10
ns2                     IN      A       192.168.0.11
www                     IN      CNAME   onitroad.com.
mail                    IN      A       192.168.0.10
ftp                     IN      CNAME   onitroad.com.

保存更改并在完成后退出此配置文件。

SOA 记录:区域 onitroad.com 的权威名称服务器是 ns1.onitroad.com,admin.onitroad.com 是负责该 DNS 区域的人员的电子邮件地址。
NS 记录:onitroad.com 区域的两个名称服务器是 ns [1,2] .onitroad.com
MX(邮件交换):onitroad.com 邮件交换记录。数字 10 表示倾向于丢弃记录 A - A 仅表示地址,或者换句话说,在 onitroad.com 的区域中,ns1 将具有 A(地址)192.168.0.10.
CNAME Record(规范名称记录):使用规范名称而不是原始名称重新启动查询

启动或者重新启动 BIND 名称服务器

启动BIND服务,让所有这些修改生效。

$sudo systemctl start bind9

或者,如果 BIND 服务器已在运行,请使用以下 Linux 命令来重新启动:

$sudo systemctl restart bind9
日期:2020-07-07 20:56:45 来源:oir作者:oir