DNS域名系统

         DNS:域名系统domain name system。DNS系统记录了域名和IP地址的对应(映射map)关系。互联网中采用IP地址标识自己身份的唯一性。IP比较难记,所以就有了DNS域名系统。
DNS域名解析分为:
        正向解析(常用):实现将域名解析成IP地址。
        反向解析(不常用):实现将IP地址解析成域名。
DNS服务器身份:
        主DNS服务器(master主):DNS系统中用来记录域名和IP地址对应关系(资源配置文件)的权威服务。
        辅助DNS服务器(slave备):辅助DNS服务器上的资源配置文件来源于主DNS服务器。会自动从主DNS服务器上下载资源配置文件,或定期跟主DNS服务器同步资源配置文件数据。辅助DNS服务器可以帮助主DNS服务器分担一定的域名解析。
域名的命名规则:
        例:www.baidu.com
        域名格式:主机名.二级域名.一级域名.[.根域]

域名采用分层结构

 

图片


根域:用.点表示。根域是域名系统的最顶层。全球有13台根域服务器。大部分的根域服务器在美国。
一级域名:用于标识组织机构的类别。如下:

com企业、公司       net网络机构      org非盈利组织    cn中国     hk香港   gov政府机构          edu教育机构      tw台湾
二级域名:用于标识组织机构名称。通常有公司或个人向域名系统管理机构申请一个用于标识身份的名称。常见的互联网公司二级域名代号如下:
 
阿里:ali     淘宝 taobao     58同城 58     腾讯 qq、tencent    网易163    新浪sina
三级域名(或主机名):集团公司常用语标识不同地区的公司。如 58同城的公司有:wh.58.com、hz.58.com、bj.58.com。
 

图片

 DNS服务器的部署:
        服务器软件:bind             服务名:named             客户端软件:bind-utils
DNS服务配置的网络拓扑:
        主DNS服务器:192.168.11.11
        辅助DNS服务器:192.168.11.12
        DNS客户机:192.168.11.12
服务器部署思路:
        1、查软件是否安装:rpm -q bind         bind-utils(客户机)    
        2、安装软件:yum -y install bind          bind-utils (客户机)
        3、启动服务、允许开机自动启动:systemctl restart named && systemctl enable named
        4、查服务器状态、查网络进程端口:systemctl status named 或lsof -i:50 或netstat -atunlp | grep :53
        5、DNS服务器配置文件语法检测的命令:
        named-checkconf                                                                               检测/etc/named.conf主配置文件语法
        named-checkzone localhost /var/named/named.localhost                检测localhost区域配置文件的语法
        6、查配置文件:rpm -qc bind
        /etc/logrotate.d/named               DNS日志轮滚策略文件
        /etc/named.conf                          DNS的主配置文件
        /etc/named.rfc1912.zones          DNS的区域配置文件(正向解析、反向解析的区域设置)
        ······
        7 、修改DNS的配置文件/etc/named.conf
        cd /etc
        ls named*
        cp -v named.conf named.conf.bak
        vim named.conf

options {

        listen-on port 53 { any; };

        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; };

 

 

 

        recursion yes;

 

        dnssec-enable  yes;

        dnssec-validation  yes;

 

        /* Path to ISC DLV key */

        bindkeys-file "/etc/named.iscdlv.key";

 

        managed-keys-directory "/var/named/dynamic";

 

        pid-file "/run/named/named.pid";

        session-keyfile "/run/named/session.key";

};

 

logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

};

 

zone "." IN {

        type hint;

        file "named.ca";     文件路径是/var/named/named.ca

};

 

include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";

选项设置

监听端口为53,监听IPv4为127.0.0.1,还可以是any任何IP

 

DNS服务的工作目录

缓存文件

状态信息文件

内在状态信息文件

 

 

允许查询,localhost表示仅允许本机自己查,如果要让网络中的任何主机查询就用any。(白名单)

 

允许递归查询

 

启用DNS安全功能

 

 

 

 

 

 

 

DNS服务的PID文件

 

 

 

 

 

 

 

 

 

 

根域设置

类型为hint根域

主机名和IP地址映射关系的资源记录文件名

 

 

指定包含的配置文件,named.rfc1912.zones是区域配置文件

 

         8、配置正向解析的区域信息。
        cd/etc
        cp -v named.rfc1912.zones{,.bak}
        vim named.rfc1912.zones

cd  /etc

cp  -v  named.rfc1912.zones{,.bak}

vim  named.rfc1912.zones


zone "localhost.localdomain" IN {

        type master;

        file "named.localhost";

        allow-update { none; };

};

配置localhost.localdomain名称区域

类型为master主区域

资源记录文件名为named.localhost,完整路径是/var/named/named.localhost

允许更新,为none则不允许更新

 

 



练习:在named.rfc1912.zones区域配置文件中创建一个名称为wang.com的正向解析区域。
        1、vim  /etc/named.rfc1912.zones
        zone"wang.com" IN{
                type master;
                file "wang.com.zone";
                allow-update { none; };
                allow-transfer { 192.168.11.12; };
};
        2、创建wang.com正向解析区域的资源记录(域名和IP地址的映射关系)文件wang.com.zone





cd  /var/named

ls

cp  -av  named.localhost   wang.com.zone

vim  wang.com.zone

 

 

 

修改后的文件内容如下

$TTL 1D

@       IN SOA  dns.wang.com.  2604086010.qq.com.   (

                                        0       ; serial

                                        1D      ; refresh

                                        1H      ; retry

                                        1W      ; expire

                                        3H )    ; minimum

        NS      @

        A       127.0.0.1

        NS      dns.wang.com.

dns     A       192.168.11.11

        AAAA    ::1

www     A       1.1.1.1

ftp       A       1.1.1.2

mail      A       1.1.1.3

web     CNAME   www.wang.com.

缓存数据的生命周期值为1

SOA记录,指定权威的DNS服务器名称及管理员邮箱

文件修改的版本号,通常用年月日编号来写,如20190213001

刷新时间为1D(即1天)

重试时间为1H(即1小时)

过期时间为1W(即1周)

默认缓存时间为3H(即3小时)

 

NS记录,即name  server记录

NS记录,指定DNS服务器名称

A记录,指定域名对应的IP地址

 

A记录,指定www主机名对应的IP地址是1.1.1.1

A记录,address记录

A记录

CNAME别名记录,给www.wang.com域名定义别名为web.wang.com

意:配置文件中的@是个变量,@变量的取值是/var/named.rfc1912.zoneszone代码行中的“域名”。
3、分别检测DNS的两个配置文件的语法,重启named服务,做DNS的内侧。
named-checkconf
named-checkzone www.wang.com /var/named/wang.com.zone
systemctl restart named
nslookup
server
server 192.168.11.11
www.wang.com
ftp.wang.com
web.wang.com



手动部署反向解析
1、创建192.168.5.0反向解析区域的配置信息
    vim /etc/named.rfc1912.zones
        zone "5.168.192.in-addr.arpa" IN{
        type master;
        file "192.168.5.fx";
        allow-update { none; };
} ;
2、创建192.168.5.0正向解析区域的资源记录(域名和IP地址的映射关系)文件192.168.5.fx
    cp -av named.loopback 192.168.5.fx
    vim /var/named/192.168.5.fx
$TTL 1D
@            IN SOA    dns.xiongyi.com.    2604086010.qq.com.    (
                                                                                            0            ;serial
                                                                                            1D          ;refresh
                                                                                            1H          ;retry
                                                                                            1W         ;expire
                                                                                            3H          ;minimum
                NS                @
                A                    127.0.0.1
                AAAA            ::1
                PTR                localhost
                NS                 dns.xiongyi.com.
dns           A                   192.168.11.11
2               PTR                www.xiongyi.com.
3               PTR                ftp.xiongyi.com.
4               PTR                mail.xiongyi.com.

注意:配置文件中的@是个变量,@变量的取值是/var/named.rfc1912.zones中zone代码中的“域名”。
3、分别检测DNS的两个配置文件的语法,重启named服务,做DNS的内侧(本地测试)。
named-checkconf
named-checkzone    192.168.5.2    /var/named/192.168.5.fx
systemctl restart named
nslookup
server
server 192.168.11.11
192.168.5.2
192.168.5.3
192.168.5.4
exit


部署辅助DNS服务器
辅助DNS服务器:192.168.11.12
 在192.168.11.12IP地址主机上实验操作
1、安装软件
rpm -q bind bind-utils
yum install -y bind bind-utils
systemctl restart named 
systemctl enable named
rpm -qc bind
2、备份指定的配置文件
cp -av named.conf{,.bak}
cp -av named.rfc1912.zones{,.bak}
3、修改/etc/named.conf主配置文件,将文件中的127.0.0.1和localhost全部改成any
检测named.conf语法:named-checkconf
4、在区域配置文件/etc/named.rfc1912.zones中创建xiongyi.com的DNS解析参数
vim /etc/named.rfc1912.zone
zone "xiongyi.com" IN {
type slave;
file "slaves/xiongyi.com";
allow-update { none; };
masters { 192.168.11.11; };
};
5、查看/var/named、/var/named/slaves目录中是否有xiongyi.com.zx文件,重启named服务,再看是否有xiongyi.com.zx资源记录文件
ls /var/named    /var/named/slaves
systemctl restart named
ls /var/named    /var/named/slaves
发现/var/named/slaves目录中有xiongyi.com.zx文件,这个文件是从主DNS服务器192.168.11.11上下载过来的
DNS的本地解析测试(内测):
nslookup www.xiongyi.com 127.1
host web.qq.com 127.1
dig  mail.xiongyi.com @127.1


DNS的视图功能
        DNS视图:通过视图功能可以实现内网、外网解析出不同的IP地址。即解析同一个域名时, 对于不同网段的客户机查询出不同结果的IP地址

图片

警告:在使用DNS视图功能的DNS服务器上要在 /etc/named.conf中删除或注释掉根域的配置信息,注释掉named.rfc1912.zones和root.key这些代码,否则会出错。
DNS视图代码:vim /etc/named.conf
acl dianxin {                                                定义访问控制列表名称为dianxin电信
192.168.11.0/24                                          指定网络地址和子网掩码,24是255.255.255.0这个子网掩码
};
view "dianxin" {                                             第一视图名称为dianxin电信
match-clients {dianxin};                                匹配客户机端的网段为dianxin(即acl定义的名称)
recursion    yes;                                            启动递归查询
zone "test.com" IN {                                        登记test.com匹配配置
type master;                                                   类型为master主DNS服务器
file "dianxin.test.com.zone"                           区域的解析资源配置文件
};
};
下面为注释内容:

#zone "." IN {

# type hint;

# file "named.ca";

#};

 

#include"/etc/named.rfc1912.zones";


#include"/etc/named.root.key";

 
cp -av /var/named/named.localhost    /var/named/dianxin.test.com.zone
vim /var/named/dianxin.test.com.zone

$TTL 1D

@ IN SOA dns1.test.com. 2604086010.qq. (

0 ; serial

1D ; refresh

1H ; retry

1W ; expire

3H ) ; minimum

NS dns1.test.com.

dns1 A 192.168.11.11

AAAA ::1

www A 192.168.11.14

ftp A 192.168.11.12

mail A 192.168.11.13




本地解析测试:
systemctl restart named
nslookup dns1.test.com 192.168.11.11