在Ubuntu 20.04上配置Master绑定DNS服务器

时间:2020-02-23 14:37:53  来源:igfitidea点击:

对于互联网来提供即时访问世界各地的资源,这涉及将计算机或者与唯一域名链接,需要一个有助于提供此操作的服务。
DNS(域名系统)将人类可读域名(例如www.theitroad.com)转换为计算机可读IP地址,反之亦然。

Bind9(伯克利互联网名称域)是包提供了名称的转换为IP功能。

让我们探索如何在Ubuntu 20.04上使用bind9设置主DNS服务器。
确保服务器在继续之前配置了静态IP地址。
如果服务器使用DHCP,我们必须配置静态一个以确认一旦配置了DNS服务器,就会发生IP地址更改。

在Ubuntu 20.04上绑定DNS服务器安装

在我们开始安装必要的包之前,请确保在更新的Ubuntu服务器上运行总是很好:

sudo apt update -y

使用Ubuntu基础下载必要的包 apt:

sudo apt install -y bind9 bind9utils bind9-doc dnsutils

Ubuntu 20.04上的DNS服务器配置

DNS主配置目录是 /etc/bind.它包含区域查找文件和其他配置文件。

全局DNS Conf文件位于 /etc/bind/named.conf
但是,这不用于本地DNS配置。 /etc/bind/named.conf.local代替使用。

创建区域

我们会这样做 /etc/bind/named.conf.local文件。
使用我们选择的文本编辑器来编辑文件。

我们将在文件中创建前向和反向区域。
下面是oniToroad.local域的前向区域条目。
将其更改为域名。

zone "theitroad.local" IN { //Domain name
    
      type master; //Primary DNS
     file "/etc/bind/forward.theitroad.local.db"; //Forward lookup file
     allow-update { none; }; //Since this is the primary DNS, it should be none.
     
    
};

其中:onitad.local是区域名称.Forward.theitroad.local.db是正向查找区域的名称。

将以下内容添加到 /etc/bind/named.conf.local对于反向区域

zone "10.16.172.in-addr.arpa" IN { //Reverse lookup name, should match your network in reverse order
     type master; //Primary DNS
     file "/etc/bind/reverse.theitroad.local.db"; //Reverse lookup file
     allow-update { none; }; //Since this is the primary DNS, it should be none.
    
};

10.16.172.in-addr.arpa操作系统反向DNS的区域名称。
(如果网络是172.16.10.0,则该名称将在10.16.172中逆转)reverse.theitroad.local.db是反向DNS文件。

在Ubuntu 20.04上配置绑定DNS区域查找文件

区域查找文件保存前向和反向区域的DNS记录.Foward区域查找文件

将示例转发区域查找文件复制到名为f的文件 orward.theitroad.local.db在下面 /etc/bind目录:

sudo cp /etc/bind/db.local /etc/bind/forward.theitroad.local.db

注意到区域文件语法,域名应以点(。
)结尾

文件上的首字母缩略词具有以下描述:SOA - 启动权限 - Name ServerA - RecordMx - Exchangecn的邮件 - 规范名称

我们必须编辑区域文件并更新如下内容。
根据域名修改它:

sudo vi /etc/bind/forward.theitroad.local.db
$TTL    604800
@       IN      SOA     ns1.theitroad.local. root.ns1.theitroad.local. (
                              3         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
;@      IN      NS      localhost.
;@      IN      A       127.0.0.1
;@      IN      AAAA    ::1
;Name Server Information
@        IN      NS      ns1.theitroad.local.
;IP address of Name Server
ns1     IN      A       172.16.10.2
;Mail Exchanger
theitroad.local.   IN     MX   10   mail.theitroad.local.
;A – Record HostName To Ip Address
www     IN       A      172.16.10.3
mail    IN       A      172.16.10.4
;CNAME record
ftp     IN      CNAME   www.theitroad.local.

2.反向区域查找文件

Revese区文件中的首字母缩略词是:PTR - Pointersoa - 权威的开始

复制示例反向区域文件 etc/bind到一个名为的文件 reverse.theitroad.local.db

sudo cp /etc/bind/db.127 /etc/bind/reverse.theitroad.local.db

编辑文件中的内容以适合域:

sudo nano /etc/bind/reverse.theitroad.local.db
;
; BIND reverse data file for local loopback interface
;
$TTL    604800
@       IN      SOA     theitroad.local. root.theitroad.local. (
                              1         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
;Name Server Information
@       IN      NS     ns1.theitroad.local.
ns1     IN      A       172.16.10.2
;Reverse lookup for Name Server
2      IN      PTR    ns1.theitroad.local.
;PTR Record IP address to HostName
3     IN      PTR    www.theitroad.local.
4     IN      PTR    mail.theitroad.local.

检查Ubuntu 20.04上的DNS语法

named-checkconf命令用于检查语法是否可以或者是否存在任何错误。
如果没有错误,该命令应返回shell

sudo named-checkconf

named-checkzone命令用于检查前向和反向区域文件的语法:

#forward zone file
sudo named-checkzone theitroad.local /etc/bind/forward.theitroad.local.db

#reverse zone file
named-checkzone 10.16.172.in-addr.arpa /etc/bind/reverse.theitroad.local.db

输出应该是:

#forward zone file
Hyman@theitroad:~# sudo named-checkzone theitroad.local /etc/bind/forward.theitroad.local.db
zone theitroad.local/IN: loaded serial 2
OK

#reverse zone file
Hyman@theitroad:~# named-checkzone 10.16.172.in-addr.arpa /etc/bind/reverse.theitroad.local.db 
zone 10.16.172.in-addr.arpa/IN: loaded serial 1
OK

最后重新启动并启用绑定服务:

sudo systemctl restart bind9
sudo systemctl enable bind9

更新绑定DNS记录

应该在两个中更新DNS记录 /etc/bind/forward.theitroad.local.db/etc/bind/reverse.theitroad.local.db文件。

在更新DNS记录时,将正向和反向区域文件的序列号更改为大于当前的数字。

测试DNS服务器

在任何客户机上,将其DNS服务器更改为新已部署的服务器。
在我们的情况下,它是172.16.10.2.

DNS服务器设置随操作系统而异。
在Ubuntu:

sudo echo "nameserver 172.16.10.2" >> /etc/resolv.conf

让我们使用该来测试DNS解析 dig命令。
DIG命令用于获取有关域名的信息,这包括DNS服务器,域IP,MX记录等的内容。

Hyman@theitroad:~# dig www.theitroad.local 
; <<>> DiG 9.16.1-Ubuntu <<>> www.theitroad.local
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65241
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: fabd20125b9ccbff010000005f8c7204e1387a993d58c22f (good)
;; QUESTION SECTION:
;www.theitroad.local.	IN	A
;; ANSWER SECTION:
www.theitroad.local. 604800 IN	A	172.16.10.3
;; Query time: 4 msec
;; SERVER: 172.16.10.10#53(172.16.10.10)
;; WHEN: Sun Oct 18 16:49:08 UTC 2017
;; MSG SIZE  rcvd: 100

输出给出了关于"A"记录的信息.LAN

要检查反向DNS:

Hyman@theitroad:~# dig -x 172.16.10.3
; <<>> DiG 9.16.1-Ubuntu <<>> -x 172.16.10.3
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 62529
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: 7b8c9b8971f74afc010000005f8c72a8bdc5ebbdb4869578 (good)
;; QUESTION SECTION:
;3.10.16.172.in-addr.arpa.	IN	PTR
;; ANSWER SECTION:
3.10.16.172.in-addr.arpa. 604800 IN	PTR	www.theitroad.local.
;; Query time: 0 msec
;; SERVER: 172.16.10.10#53(172.16.10.10)
;; WHEN: Sun Oct 18 16:51:52 UTC 2017
;; MSG SIZE  rcvd: 122