之路 on it Road.com

在 CentOS 7 上配置主 DNS 服务器

默认情况下,named.service 在 localhost 上运行。
由于我们正在为我们的域配置一个权威的 DNS 服务器,因此,我们需要配置 named.service 以在与我们的网络连接的接口上运行。

[root@dns-01 ~]# vi /etc/named.conf

在 options 指令下设置以下参数以允许 named.service 在我们的网络接口上运行。

listen-on port 53 { 127.0.0.1; 192.168.1.101; };

我们还需要启用 named.service 以允许客户端查询。
因此,在选项指令中查找并设置以下参数。

allow-query     { localhost; 192.168.1.0/24; };

为了保持named.conf 文件干净,我们在一个单独的文件中定义我们的DNS 区域。

[root@dns-01 ~]# vi /etc/named.conf.local

并在此文件中添加以下指令。

zone "onitroad.com" {
   type master;
   file "/var/named/onitroad.com";
};
zone "116.168.192.in-addr.arpa" {
   type master;
   file "/var/named/116.168.192.in-addr.arpa";
};

我们在这里定义了两个 DNS 区域,一个是正向 DNS 区域,另一个是反向 DNS 区域。

在默认的named.conf 文件中包含我们的named.conf.local 文件,所以它会在服务启动时被调用。

[root@dns-01 ~]# echo 'include "/etc/named.conf.local";' >> /etc/named.conf

为我们的域配置转发区域。

[root@dns-01 ~]# vi /var/named/onitroad.com

并其中添加以下设置。

$TTL 1h
@       IN      SOA     onitroad.com.    root.onitroad.com. (
        2019080901      ; Serial YYYYMMDDnn
        24h             ; Refresh
        2h              ; Retry
        28d             ; Expire
        2d )            ; Minimum TTL
;Name Servers
@       IN      NS              dns-01
;Mail Servers
@       IN      MX      0       mail-01
;Other Servers
dns-01  IN      A               192.168.1.101
mail-01 IN      A               192.168.1.6
web-01  IN      A               192.168.1.3
;Canonical Names
www     IN      CNAME           web-01
mail    IN      CNAME           mail-01

检查转发区域文件是否有任何可能的错误。

[root@dns-01 ~]# named-checkzone onitroad.com /var/named/onitroad.com
zone onitroad.com/IN: loaded serial 2019080901
OK

为我们的域配置一个反向区域。

[root@dns-01 ~]# vi /var/named/116.168.192.in-addr.arpa

并其中添加以下设置。

$TTL 1h
@       IN      SOA     116.168.192.in-addr.arpa    root.onitroad.com. (
        2019080901      ; Serial YYYYMMDDnn
        24h             ; Refresh
        2h              ; Retry
        28d             ; Expire
        2d )            ; Minimum TTL
;Name Servers
@       IN      NS              dns-01
;Other Servers
dns-01  IN      A       192.168.1.101
;PTR Records
4               IN      PTR             dns-01
6               IN      PTR             mail-01
3               IN      PTR             web-01

检查反向区域文件是否有任何可能的错误。

[root@dns-01 ~]# named-checkzone onitroad.com /var/named/116.168.192.in-addr.arpa
zone onitroad.com/IN: loaded serial 2019080901
OK

调整区域文件的文件所有权。

[root@dns-01 ~]# chgrp named /var/named/onitroad.com
[root@dns-01 ~]# chgrp named /var/named/116.168.192.in-addr.arpa

启用并启动 named.service 。

[root@dns-01 ~]# systemctl enable --now named.service
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.

在 Linux 防火墙中允许 DNS 服务。

[root@dns-01 ~]# firewall-cmd --permanent --add-service=dns
success
[root@dns-01 ~]# firewall-cmd --reload
success

将我们的主(主)DNS 服务器添加到客户端的 resolve.conf 中。

[root@dns-01 ~]# nmcli c m ens33 ipv4.dns-search onitroad.com ipv4.dns 192.168.1.101

重新启动界面使更改生效。

[root@dns-01 ~]# nmcli c down ens33 ; nmcli c up ens33
Connection 'ens33' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)

验证 DNS 服务器设置。

[root@dns-01 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search onitroad.com
nameserver 192.168.1.101

使用 dig 命令查询我们的主(主)DNS 服务器。

[root@dns-01 ~]# dig www.onitroad.com
; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.2 <<>> www.onitroad.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2020
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.onitroad.com.               IN      A
;; ANSWER SECTION:
www.onitroad.com.        3600    IN      CNAME   web-01.onitroad.com.
web-01.onitroad.com.     3600    IN      A       192.168.1.3
;; AUTHORITY SECTION:
onitroad.com.            3600    IN      NS      dns-01.onitroad.com.
;; ADDITIONAL SECTION:
dns-01.onitroad.com.     3600    IN      A       192.168.1.101
;; Query time: 1 msec
;; SERVER: 192.168.1.101#53(192.168.1.101)
;; WHEN: Fri Aug 09 23:15:51 PKT 2019
;; MSG SIZE  rcvd: 118

在 CentOS 7 上安装 BIND 9 DNS 服务器

BIND 9 可通过 CentOS 7 官方 yum 存储库获得。
因此,我们可以使用 yum 命令轻松安装它。

[root@dns-01 ~]# yum install -y bind bind-utils
在 CentOS 7 中使用 BIND 配置权威 DNS 服务器

BIND 是使用最广泛的 DNS(域名服务器)软件。

它的名字起源于 Berkeley Internet Name Domain 的首字母缩写词。
BIND 也被称为它的服务名称,例如:named(或者 Name Daemon)。
BIND 最新版本 9 现在可用,并在 Mozilla 公共许可证 (MPL) 下分发。

BIND 由 Internet Systems Consortium (ISC) 开发和维护。

在本文中,我们将在 CentOS 7 上使用 BIND 9 配置主(主)和辅助(从)DNS 服务器。

在 CentOS 7 上配置从属DNS 服务器

登录到服务器 dns-02.onitroad.com。

按照上一节的方法安装 BIND 9 软件包。

配置我们的辅助(从)DNS 服务器的named.service 设置。

[root@dns-02 ~]# vi /etc/named.conf

在选项指令下设置以下参数。

listen-on port 53 { 127.0.0.1; 192.168.1.102; };
allow-query     { localhost;192.168.1.0/24; };

就像我们对主(主)DNS 服务器所做的一样,我们在单独的配置文件中定义我们的区域。

[root@dns-02 ~]# vi /etc/named.conf.local

并其中定义以下区域。

zone "onitroad.com" {
   type slave;
   masters { 192.168.1.101; };
   file "/var/named/onitroad.com";
};
zone "116.168.192.in-addr.arpa" {
   type slave;
   masters { 192.168.1.101; };
   file "/var/named/116.168.192.in-addr.arpa";
};

在默认的 named.conf 文件中包含我们的 named.conf.local 文件,因此它会在服务启动时调用我们的设置。

[root@dns-02 ~]# echo 'include "/etc/named.conf.local";' >> /etc/named.conf

启动并启用 named.service 。

[root@dns-02 ~]# systemctl enable --now named.service
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.

在 Linux 防火墙中允许 DNS 服务。

[root@dns-02 ~]# firewall-cmd --permanent --add-service=dns
success
[root@dns-02 ~]# firewall-cmd --reload
success

设置 SELinux 布尔值,以便我们的辅助(从)DNS 服务器可以接受区域传输并更新本地区域文件。

[root@dns-02 ~]# setsebool -P named_write_master_zones on

现在,连接到 dns-01.onitroad.com 并为我们的辅助(从)DNS 服务器添加设置。

通过如下编辑named.conf.local 文件来配置区域传输。

[root@dns-01 ~]# vi /etc/named.conf.local

在两个区域下添加以下指令。

allow-transfer {192.168.1.102; };
also-notify {192.168.1.102; };

在我们的正向和反向区域中添加我们的辅助(从)DNS 服务器记录。

[root@dns-01 ~]# vi /var/named/onitroad.com

并添加辅助(从)DNS 服务器 NS 和 A 记录如下:

$TTL 1h
@       IN      SOA     onitroad.com.    root.onitroad.com. (
        2019080901      ; Serial YYYYMMDDnn
        24h             ; Refresh
        2h              ; Retry
        28d             ; Expire
        2d )            ; Minimum TTL
;Name Servers
@       IN      NS              dns-01
@       IN      NS              dns-02
;Mail Servers
@       IN      MX      0       mail-01
;Other Servers
dns-01  IN      A               192.168.1.101
dns-02  IN      A               192.168.1.102
mail-01 IN      A               192.168.1.6
web-01  IN      A               192.168.1.3
;Canonical Names
www     IN      CNAME           web-01
mail    IN      CNAME           mail-01

在反向区域中添加辅助(从)DNS 服务器记录。

[root@dns-01 ~]# vi /var/named/116.168.192.in-addr.arpa

并添加我们的辅助(从)DNS 服务器 NS , A 和 PTR 记录如下。

$TTL 1h
@       IN      SOA     116.168.192.in-addr.arpa    root.onitroad.com. (
        2019080901      ; Serial YYYYMMDDnn
        24h             ; Refresh
        2h              ; Retry
        28d             ; Expire
        2d )            ; Minimum TTL
;Name Servers
@       IN      NS              dns-01
@       IN      NS              dns-02
;Other Servers
dns-01  IN      A       192.168.1.101
dns-02  IN      A       192.168.1.102
;PTR Records
4               IN      PTR             dns-01
5               IN      PTR             dns-02
6               IN      PTR             mail-01
3               IN      PTR             web-01

重新启动 named.service 使更改生效。

[root@dns-01 ~]# systemctl restart named.service

检查 dns-02.onitroad.com 上的 /etc/named 目录。

[root@dns-02 ~]# ls /var/named
116.168.192.in-addr.arpa  dynamic      named.ca     named.localhost  slaves
data                      onitroad.com  named.empty  named.loopback

区域文件会自动复制到辅助(从)DNS 服务器。

现在将此辅助 DNS 服务器添加到客户端的 resolve.conf 文件中。

[root@dns-01 ~]# nmcli c m ens33 +ipv4.dns 192.168.1.102
[root@dns-01 ~]# nmcli c down ens33 ; nmcli c up ens33
Connection 'ens33' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)

检查 resolv.conf 内容。

[root@dns-01 ~]# cat /etc/resolv.conf
# Generated by NetworkManager
search onitroad.com
nameserver 192.168.1.101
nameserver 192.168.1.102

通过查询主机名检查辅助(从)DNS 服务器。

[root@dns-01 ~]# dig @192.168.1.102 mail.onitroad.com
; <<>> DiG 9.9.4-RedHat-9.9.4-74.el7_6.2 <<>> @192.168.1.102 mail.onitroad.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21668
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 3
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;mail.onitroad.com.              IN      A
;; ANSWER SECTION:
mail.onitroad.com.       3600    IN      CNAME   mail-01.onitroad.com.
mail-01.onitroad.com.    3600    IN      A       192.168.1.6
;; AUTHORITY SECTION:
onitroad.com.            3600    IN      NS      dns-02.onitroad.com.
onitroad.com.            3600    IN      NS      dns-01.onitroad.com.
;; ADDITIONAL SECTION:
dns-01.onitroad.com.     3600    IN      A       192.168.1.101
dns-02.onitroad.com.     3600    IN      A       192.168.1.102
;; Query time: 2 msec
;; SERVER: 192.168.1.102#53(192.168.1.102)
;; WHEN: Sat Aug 10 13:09:59 PKT 2019
;; MSG SIZE  rcvd: 157

从属DNS 服务器已配置好并且运行良好。

搭建环境

主(Primary/Master)DNS 服务器:

  • 主机名 - dns-01.onitroad.com
  • IP 地址 - 192.168.1.101 /24
  • 操作系统 - CentOS 7.6

从属(Secondary)DNS 服务器:

  • 主机名 - dns-02.onitroad.com
  • IP 地址 - 192.168.1.102 /24
  • 操作系统 - CentOS 7.6
日期:2020-09-17 00:12:48 来源:oir作者:oir