DNS简介:

互联网中的地址是数字的IP地址,而我们平时用来访问网站的域名主要就是为了便于记忆。域名解析的作用就是把域名指向网站的IP地址,让人们通过注册的域名可以方便地访问到网站的一种服务。域名解析就是域名到IP地址的转换过程。而域名的解析工作就是由DNS服务器完成。

DNS系统的作用:

正向解析:根据主机名称(域名)查找对应的IP地址。
反向解析:根据IP地址查找对应的主机域名。

DNS系统类型:

缓存域名服务器:也称为高速缓存服务器,通过向其他域名服务器查询获得域名、IP地址记录,然后将域名查询结果缓存到本地,提高重复查询时的速度。
主域名服务器:特定DNS区域的官方服务器,具有唯一性。负责维护该区域内所有域名、IP地址的映射记录。
从域名服务器:也称为辅助域名服务器,其维护的域名、IP地址记录来源于主域名服务器。

域名解释:

我们平时所输入的域名,例如咱们博客的地址:blog.51cto.com,其实是不完整的,它在末尾省略了根域 “ . ”。就是一个“点”,完整的域名应该是“blog.51cto.com.”。下面我们以这个地址来解释一下各个部分代表什么。

“ . ”:表示根域。根域服务器,全球只有13台。
“.com”:表示顶级域。顶级域有很多,根据不同用途也有不同的顶级域。我们平时见得较多的“.com”是用于商业机构的,“.net”多用于网络服务提供商,“.edu”用于教育机构,“.cn”是按照区域划分的顶级域,代表的是咱们国家大陆。

“.51cto”:表示二级域名。这个一般都是由使用机构自己定义的,原则就是简单易记。当然在二级域名前面还可以根据个人需求增加三级域名。
“blog”:表示主机名。像咱们平常见得最多的“www”也是主机名。

正向解析:

1.安装DNS服务器的程序bind,直接用yum源安装。注意:需要在联网环境下安装。

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

2.安装完毕,用“rpm -qc bind”命令,查看一下程序的配置文件。
在这些配置文件中,有三个主要的配置文件。

/etc/named.conf----------------------------主配置文件(控制系统全局)
/etc/named.rfc1912.zones--------------区域配置文件(控制具体单个区域)
/var/named/named.localhost----------区域数据配置文件(区域信息)

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

3.用vim编辑器对主配置文件“/etc/named.conf”进行配置。将“127.0.0.1”改为自己的IP地址“192.168.52.131”,将下面的“localhost”改为“any”。

options {
        listen-on port 53 { 192.168.52.131; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)
CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

4.用vim编辑器对区域配置文件“/etc/named.rfc1912.zones”进行配置。
添加一个正向解析的区域配置内容,可以复制上面的模板,在模板上直接改。

zone "yun.com" IN {
        type master;
        file "yun.com.zone";
        allow-update { none; };
};

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)
CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

5.用“cd”命令,进入“/var/named”目录,再用“cp -p”命令复制一份“named.localhost”文件,命名为“yun.com.zone”。

输入:cd /var/named/
输入:cp -p named.localhost yun.com.zone

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

6.用vim编辑器对“yun.com.zone”文件进行配置。(CNAME是设置主机名的别名,*表示泛域名解析)

$TTL 1D
@       IN SOA  yun.com. admin.yun.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      yun.com.
        A       192.168.52.131
IN  MX  10      mail.yun.com.
www IN  A       192.168.100.100
ftp IN  A       192.168.99.99
stmp IN CNAME   www
*   IN  A       8.8.8.8

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)
CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

7.关闭防火墙和增强性安全功能,然后开启DNS服务。

输入:systemctl stop firewalld.service
输入:setenforce 0
输入:systemctl start named

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

8.将本地的DNS服务器IP地址更改为自己的IP地址,用自己的DNS服务器来解析域名。查看是否更改成功。

输入:echo "nameserver 192.168.52.131" > /etc/resolv.conf
输入:cat /etc/resolv.conf
CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

9.用“host”命令来测试DNS服务器是否能够解析域名。我们可以看到我们设置的域名都能解析成功。

输入:host www.yun.com
输入:host stmp.yun.com
输入:host ftp.yun.com
输入:host abc.yun.com

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

反向解析:

1.再次用vim编辑器对区域配置文件“/etc/named.rfc1912.zones”进行配置。
添加一个反向解析的区域配置内容,可以复制上面的模板,在模板上直接改。

zone "100.168.192.in-addr.arpa" IN {
        type master;
        file "yun.com.local";
        allow-update { none; };
};

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)
CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

2.用“cd”命令,进入“/var/named”目录,再用“cp -p”命令复制一份“yun.com.zone”文件,命名为“yun.com.local”。

输入:cd /var/named/
输入:cp -p yun.com.zone yun.com.local

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

3.用vim编辑器对“yun.com.local”文件进行配置。

$TTL 1D
@       IN SOA  yun.com. admin.yun.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      yun.com.
        A       192.168.52.131
99 IN  PTR      www.yun.com.
88 IN  PTR      ftp.yun.com.

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)
CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

4.配置完毕后,重启DNS服务。

输入:systemctl restart named

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

5.用“host”命令检测DNS服务器是否能够进行反向解析。可以看到我们设置的IP地址能够反向解析出域名。

输入:host 192.168.100.99
输入:host 192.168.100.88

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

主从同步:

1.先将防火墙和增强性安全功能关闭,再开启一台CentOS 7,并用yum源安装DNS服务的程序。用来作为从域名服务器。

输入:systemctl stop firewalld.service
输入:setenforce 0
输入:yum install bind -y

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

2.用vim编辑器对从域名服务器的主配置文件“/etc/named.conf”进行配置。将“127.0.0.1”改为自己的IP地址“192.168.52.132”,将下面的“localhost”改为“any”。

options {
        listen-on port 53 { 192.168.52.132; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)
CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

3.用vim编辑器对从域名服务器的区域配置文件“/etc/named.rfc1912.zones”进行配置。
添加一个正向解析的区域配置内容,可以复制上面的模板,在模板上直接改。注意:需要将类型从“master”改为“slave”

zone "yun.com" IN {
        type slave;
        file "slaves/yun.com.zone";
        masters { 192.168.52.131; };
};

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)
CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

4.再用vim编辑器对主域名服务器的区域配置文件“/etc/named.rfc1912.zones”进行配置。将其中的“allow-update { none; };”改为“allow-transfer { 192.168.52.132; };”。

zone "yun.com" IN {
        type master;
        file "yun.com.zone";
        allow-transfer { 192.168.52.132; };
};

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)
CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

5.主域名服务器配置完毕需要重新启动,然后再回到从域名服务器开启服务。

主域名服务器:
输入:systemctl restart named
从域名服务器:
输入:systemctl start named

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)
CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

6.将从域名服务器的DNS服务器IP地址,改为自己的IP地址。并查看是否更改成功。

输入:echo "nameserver 192.168.52.132" > /etc/resolv.conf
输入:cat /etc/resolv.conf

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)

7.用“host”命令来测试从域名服务器是否能够解析域名。我们可以看到我们在主域名服务器设置的域名都能解析,所以主从同步成功。

输入:host www.yun.com
输入:host stmp.yun.com
输入:host ftp.yun.com
输入:host abc.yun.com

CentOS 7系统搭建DNS服务(正向解析、反向解析、主从同步)