当前位置: > Linux教程 > Linux学习 >

Linux网络服务-----DNS服务

时间:2019-11-26 10:52来源:linux.it.net.cn 作者:IT
目录

 

一.DNS系统的作用以及类型

二.BIND的安装和配置文件

三.构建域名服务器

一.DNS系统的作用以及类型

DNS系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名与IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务。
正向解析:就是根据域名查询IP地址,即将指定的域名解析为相对应的IP地址。
反向解析:根据IP地址查域名,即将指定的IP地址解析为相对应的域名。
每一台DNS服务器只负责管理一个有限范围(一个或者几个域)内的主机域名和IP地址的对应关系,这些特定的DNS域或IP地址段称为“zone”。
根据解析的方向不同,DNS区域相应地分为正向区域和反向区域
根据所管理的区域地址数据不同,DNS系统可以分为缓存域名服务器,主域名服务器,从域名服务器
缓存域名服务器:只提供域名解析结果的缓存功能,目的在于提高查询速度和效率,但是没有自己控制的区域地址数据。构建缓存域名服务器时,必须设置根域或指定其他DNS服务器作为解析来源
主域名服务器:维护某一个特定DNS区域的地址数据库,对其中的解析记录具有自主控制权,是指定区域中唯一存在的权威服务器、官方服务器。构建主域名服务器时,需要自建所负责区域的地址数据文件
从域名服务器:与主域名服务器提供完全相同的DNS解析服务,通常用于DNS服务器的热备份。
二.BIND的安装和配置文件

bind不是唯一的提供域名服务的DNS服务程序,但是最为广泛,可以运行在大多数的Linux主机中。
bind:提供了域名服务的主要程序及相关文件
bind-utils:提供了对DNS服务器的测试工具程序,如nslookup等
bind-libs:提供了bind、bind-utils需要的库函数
bind-chroot:提供了一个伪装的根目录,提高安全性
[root@192 ~]# rpm -qa bind
bind-9.11.4-9.P2.el7.x86_64
[root@192 ~]#
bind软件包安装完毕之后,会自动增加一个名为named的系统服务
使用bind的软件构建域名服务时,主要涉及两种类型的配置文件:主配置文件(/etc/named.conf和/etc/named.rfc1912.zones)和区域数据文件(/var/named)
/etc/named.conf配置文件中全局配置参数包括如options {};,可以设置监听的地址和端口、区域数据文件存放的目录、允许哪些客机查询,如下:
options {
        listen-on port 53 { 192.168.43.136; };
        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; };
注:TCP的53端口是连接DNS服务,UDP的53端口是解析DNS服务

/etc/named.rfc1912.zones配置文件是使用“zone....{};”的配置格式,一台服务器可以为多个区域提供解析。区域类型按照解析方向分为正向区域,反向区域。实例如下:
zone "localhost.localdomain" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone "it.net.cn" IN {
        type master;
        file "it.net.cn.zone";
        allow-update { none; };
};
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};

zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};

/var/named目录基本是区域数据配置文件,每一个区域数据文件对应一个DNS解析区域,文件名和内容由该域的管理员设置,在该数据文件中包括TTL配置项、SOA记录、地址解析记录
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh   //无效解析记录的生存周期
                                        1H      ; retry    
                                        1W      ; expire  //失效时间,超过该时间任无法下载失效
                                        3H )    ; minimum//刷新时间,重新下载地址数据的间隔
        NS      @
        A       127.0.0.1
        AAAA    ::1



M(分钟),H(小时),W(周),D(天数)
注:在区域数据配置文件中主机地址末尾的“.”不能省略

在该配置文件中常见的地址解析记录:NS域名服务器;MX邮件交换;A地址,记录正向解析条目;CNAME别名;*,可以匹配任意主机名;在反向数据文件,不会用到A地址记录,而是使用PTR指针记录
www  IN A  192.168.100.100         正向解析



对于10,168,192.in-addr-arpa,添加反向记录有
10  IN PRT www.baidu.com           反向解析
三.构建域名服务器

构建缓存域名服务器,基本配置步骤
1。建立named.conf主配置文件
通过根域或者转发机制指定解析源
2.确认建立named.ca根区域数据文件
如果使用转发机制则无需此步骤
3.启动named服务
4.验证缓存域名服务器
nslookup命令
构建主域名服务器,基本配置步骤
1.安装bind软件包
yum install bind -y
2.编辑主配置文件
vim /etc/named.conf
3.编辑区域配置文件(正向解析)
vim /etc/named.rfc1912.zones

zone "baidu.com" IN {
    type master;
    file "baidu.com.zone";
    allow-transfer {192.168.100.99;};    //指向从服务器的IP地址
}
4.编辑区域配置文件(反向解析)
vim /etc/named.rfc1912.zones

zone "100.168.192.in-addr.arpa" IN {
    type master;
    file "yun.com.zone";
    allow-transfer {192.168.100.99;};     //指向从服务器的IP地址   
}
5.编辑区域数据配置文件(正向解析)
cp -p /var/named/named.localhost /var/named/it.net.cn.zone
vim /var/named/it.net.cn.zone
    www IN A 192.168.100.100
    ftp IN CNAME www          //别名解析
    mail IN  MX 5  6.6.6.6     //邮件交换地址解析
    * IN   A    8.8.8.8        //泛域名解析

6.编辑区域数据配置文件(反向解析)
cp -p /var/named/named.localhost /var/named/yun.com.zone
vim /var/named/yun.com.zone
    100 IN PTR    www.it.net.cn

7.修改本机DNSIP地址
echo "nameserver 192.168.100.100" > /etc/resolv.conf
8.关闭防火墙和安全功能,开启服务
systemctl stop firewalld
setenforce 0
systemctl restart named
9.验证功能
nslookup www.it.net.cn
nslookup 192.168.100.100
注:本次实验使用本机解析本机IP地址,所以要修改本机的DNS服务器的IP地址

构建从域名服务器,基本配置步骤
1.安装软件包
yum install bind -y
2.配置主配置文件
vim /etc/named.conf
3.配置区域配置文件(正向解析)
vim /etc/named.rfc1912.zones
    zone "it.net.cn" IN {
        type slave;    //从服务器类型
        file "slaves/it.net.cn.zone";
        masters {192.168.100.100;};     //指向主服务器IP地址
};
4.配置区域配置文件(反向解析)
    zone  "100.168.192.in-addr.arpa" IN {
        type slave;
        file "slaves/yun.com.zone";
        masters {192.168.100.100;};  //指向主服务器IP地址   
};
5.同步主服务文件
systemctl start named 开启服务
systemctl stop firewalld 关闭防火墙
setenforce 0 关闭安全性功能
6.验证功能
nslookup www.it.net.cn


(责任编辑:IT)
------分隔线----------------------------