如何在Ubuntu和LinuxMint配置DNS服务器

教程一步一步配置在Ubuntu,Debian和LinuxMint操作系统上的DNS服务器。如何在Ubuntu和LinuxMint配置DNS服务器

域名系统 (DNS)是对连接在网络上的计算机的分层分布式命名系统。 它解决了IP地址对应一个域名。 有四种类型的DNS服务器。 本文将帮助您配置使用的DNS服务器(域名系统) bind是Ubuntu、Debian和LinuxMint系统软件包。bind也称为命名服务。大多数虚拟主机提供商已经为他们的客户提供了DNS服务器,但如果你想建立自己的DNS服务器(域名系统),通过这篇文章。 如果你的CentOS或Redhat用户访问这篇文章设置的DNS服务器。

安装DNS软件包

BIND9使用的是全球范围内最流行的DNS服务器。这是在默认的apt-get的软件仓库。因此,使用下面的命令来安装BIND9域名系统。
$ sudo apt-get update
$ sudo apt-get install bind9

创建正向区域文件

由于我们使用demohowtoing.com命名的临时域名。创建 /etc/bind 目录下的正向DNS区域文件。
$ sudo vi /etc/bind/demohowtoing.com.zone
并添加以下内容
; Forward Zone file for demohowtoing.com
$TTL 14400
@      86400    IN      SOA     ns1.howtoing.com. webmaster.howtoing.com. (
                3013040200      ; serial, todays date+todays
                86400           ; refresh, seconds
                7200            ; retry, seconds
                3600000         ; expire, seconds
                86400          ; minimum, seconds
      )
demohowtoing.com.   86400  IN NS ns1.howtoing.com.
demohowtoing.com.   86400  IN NS ns2.howtoing.com.
demohowtoing.com.   IN   A     192.168.0.100
demohowtoing.com.   IN   MX  0 mail.demohowtoing.com.
mail 		    IN   A     192.168.0.200
www 		    IN   CNAME demohowtoing.com.

创建反向区域文件

如果需要,为您的IP地址和域名配置的RDN区也解决反向DNS。例如,我们正在使用我们的内部网络192.168.0.0/32 IP范围。创建具有以下内容反向DNS文件 /etc/bind/db.0.168.192。
$ sudo vi /etc/bind/db.0.168.192
并添加以下内容
; BIND reverse data file for local loopback interface
;
$TTL    604800
@ IN SOA ns1.howtoing.com. root.ns1.howtoing.com. (
                     3013040200         ; Serial
                         604800         ; Refresh
                          86400         ; Retry
                        2419200         ; Expire
                         604800 )       ; Negative Cache TTL
;
@       IN      NS      ns1.howtoing.com.

100     IN      PTR     demohowtoing.com.
101	IN 	PTR	otherdomain.com.

加入区域条目在主要配置

现在编辑bind配置文件(/etc/bind/named.conf.local),并添加正向和反向区域条目,像下面。
$ sudo vi /etc/bind/named.conf.local
追加内容如下
zone "demohowtoing.com" IN {
        type master;
        file "/etc/bind/demohowtoing.com.zone";
};

zone "0.168.192.in-addr.arpa" {
        type master;
        file "/etc/bind/db.0.168.192";
};

验证配置文件

完成所有配置后,验证使用以下命令的所有文件。
$ named-checkzone demohowtoing.com /etc/bind/demohowtoing.com.zone
$ named-checkzone 192.168.0.0/32 /etc/bind/db.0.168.192
$ named-checkconf  /etc/bind/named.conf.local
$ named-checkconf  /etc/bind/named.conf
如果上述任何命令返回的任何错误或警告,请在进行下一步之前解决这个问题。

重新启动DNS

所有文件的验证成功后,让我们来重新启动bind9的服务。
$ sudo service bind9 restart

测试设置

最后,您的DNS服务器被成功配置并准备使用。请确保您的客户端系统使用的是您的DNS服务器为默认DNS服务器。让我们确认DNS正确响应上查询。下面是示例命令对其进行测试。 验证正向区域:
$ dig demohowtoing.com


; > DiG 9.9.5-3ubuntu0.5-Ubuntu > demohowtoing.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER
验证反向区域:
$ dig -x 192.168.0.100

; > DiG 9.9.5-3ubuntu0.5-Ubuntu > -x 192.168.0.100
;; global options: +cmd
;; Got answer:
;; ->>HEADER