DNS and BIND

DNS and Bind


windows的host文件

wKioL1YQaQuC4uzrAAVh2e0BtfY338.jpg

wKiom1YQaPqgz1brAAF3PEOM2Fo634.jpg


liunx的host文件

wKiom1YQabvB67AwAAI9E0fnlpQ670.jpg

wKioL1YQaYnRCbJJAAFoz_dkgac721.jpg


DNS相关概念

    1、DNS域名称空间:它指定用于组织名称的域的层次结构

    2、资源记录(RR):它将DNS域名映射到特定类型的资源信息,以供在名称空间中注册或解析名称时使用。在Linux系统中,通常“名称解析库(文本文件,位于/var/named/)”中的每一行称作一个资源记录。

    3、DNS服务器:它存储和应答资源记录的名称查询

    4、DNS客户端(解析程序):它查询从服务器来的搜索及将名称解析为查询中指定的资源记录类型。


DNS系统的作用

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

    反向解析:根据IP地址查找对应的主机域名

DNS系统的分布式数据结构

wKiom1YQbMSyNk2JAAHMK8hIeCc297.jpg


全球13台根节点服务器

    A INTERNIC.NET(美国,弗吉尼亚州) 198.41.0.4

    B 美国信息科学研究所(美国,加利弗尼亚州) 128.9.0.107

    C PSINet公司(美国,弗吉尼亚州) 192.33.4.12

    D 马里兰大学(美国马里兰州) 128.8.10.90

    E 美国航空航天管理局(美国加利弗尼亚州) 192.203.230.10

    F 因特网软件联盟(美国加利弗尼亚州) 192.5.5.241

    G 美国国防部网络信息中心(美国弗吉尼亚州) 192.112.36.4

    H 美国陆军研究所(美国马里兰州) 128.63.2.53

    I Autonomica公司(瑞典,斯德哥尔摩) 192.36.148.17

    J VeriSign公司(美国,弗吉尼亚州) 192.58.128.30

    K RIPE NCC(英国,伦敦) 193.0.14.129

    L IANA(美国,弗吉尼亚州) 198.32.64.12

    M WIDE Project(日本,东京) 202.12.27.33


DNS查询方式:

    递归查询

     大多数客户机向DNS服务器解析域名的方式

    迭代查询

     大多数DNS服务器向其他DNS服务器解析域名的方式


wKiom1YQczuD6nrAAAH54R9OkoQ492.jpg


优先级取决于模块文件

wKiom1YQdnCR97_JAAJfA5fHUp0148.jpg

wKioL1YQdsbjHQFOAAKh0Aoy4kA038.jpg


域名解析服务器

wKiom1YQdzzj-fHUAAC5Op-nzfk329.jpg


DNS服务器类型

    主域名服务器(权威)

        特定DNS区域的官方服务器,具有唯一性

        负责维护该区域内所有域名->IP地址的映射记录

        对区域的所有更新都通过此服务器进行;

    从域名服务器

        也称为 辅助域名服务器

        其维护的 域名->IP地址记录 来源于主域名服务器

        只从同一个区域的主服务器或其它从服务器同步区域数据文件;

    缓存域名服务器(非权威)

        也称为 唯高速缓存服务器

        通过向其他域名服务器查询获得域名->IP地址记录

        将域名查询结果缓存到本地,提高重复查询时的速度


主从协调过程

DNS服务器的主从如何协调?

    区域数据文件有版本号(序列号): serial

    刷新时间(检查周期):refresh

    重试时间(重试周期): retry

    过期时间(失效时长): expire 

    否定应答的TTL值;


    协调过程:

    从服务器在间隔达到refresh指定的时长后发起同步请求至主服务器;主服务器响应serial,从服务器与本地的serial进行比较;如果主服务器serial大于本地,意味主服务器区域数据文件更新了,因此请求同步;


区域解析数据库

资源记录:resource record(rr)

    资源记录类型:resource record type

        SOA: Start Of Authority,起始授权记录;一个区域文件有且只能一个SOA记录;SOA还必须是第一条资源记录;

        NS:Name Server,名称服务器

        MX:Mail eXchanger,邮件交换器

        A: Address,FQDN-->IPv4

        AAAA: Address, FQDN-->IPv6

        PTR: Pointer,指针,IP-->FQDN

        CNAME: Cononical NAME,正式名称

    

资源记录的定义格式

语法:name[ttl] IN rr_type  value

例如:magedu.com. 60 IN   SOA   magedu.com.  dns.magedu.com. (

2014120901  ;serial number  

1H  

5M  

7D  

1D )


NS配置语法

    NS: 一个区域数据文件可以有多个NS记录;

    name: 区域名称,可使用@替换;

    value:dns服务的FQDN;

    例如:

    magedu.com.  IN  NS  dns1.magedu.com.

                 IN  NS dns2.magedu.com. 

注意:

1、相邻的资源记录name相同时,后面的可省略;

2、任何一个value中指定的FQDN,在其域的正向解析文件中应该有A记录;


MX记录

    MX:一个区域数据文件可以有多个MX记录;

    name: 区域名称,可使用@表示;

    value: 邮件服务器的FQDN

    value之前需要一个数字表示其优先级(0-99, 数字越小优先级越高)

例如:

@IN MX  10   mx1.magedu.com.

      IN   MX  20   mx2.magedu.com.


A记录解析

    A, AAAA: 应用于正向区域文件

    name: FQDN

    value: IP

    例如:

    www.magedu.com. IN  A 1.1.1.1

    www.magedu.com.  IN   A       2.2.2.2

    mx1.magedu.com.  IN  A  1.1.1.1

    pop3.magedu.com.   IN A 1.1.1.1


PTR反向解析

    PTR: 应用于反向区域文件

    name: IP地址的逆向格式,并附加in-addr.arpa.后缀

    value: FQDN

    例如:

    6.100.16.172.in-addr.arpa. IN  PTR www.magedu.com.

    

CNAME: 

    name: 别名FQDN

    value: 正名FQDN

    例如:

    web.magedu.com. IN CNAME www.magedu.com.

    

BIND(Berkeley Internet Name Daemon)

    伯克利Internet域名服务 

    官方站点:https://www.isc.org/

    相关软件包

        bind-9.8.2-0.30.rc1.el6

        bind-utils-9.8.2-0.30.rc1.el6.x86_64

        bind-chroot-9.3.3-7.el6

wKiom1YQ46-Q-eWzAAXVgIS0rBo626.jpg

wKiom1YQ5GPApMHqAAP1uy75EuM147.jpg


BIND服务器端程序

    主要执行程序:/usr/sbin/named

    服务脚本:/etc/init.d/named

    默认监听端口:53

    主配置文件:/etc/named.conf

    保存DNS解析记录的数据文件位于:/var/named/


全局配置部分

    设置DNS服务器的全局参数

    包括监听地址/端口、数据文件的默认位置等

    使用 options { …… }; 的配置段

    例如:   

    options {

        listen-on port 53 { 172.16.16.1; };

        directory   "/var/named";

        allow-query  { 192.168.1.0/24; 173.16.16.0/24; };

        recursion yes;

    };

 wKiom1YQ7FaxctKeAAJ9ALqn3jY336.jpg

wKioL1YSieKy9gjcAAItUMdchsQ133.jpg

wKioL1YQ8WrjiHrhAAKR1v1oIus263.jpg


主配置文件/etc/named.conf

    区域配置部分

    倒序网络地址.in-addr.arpa 的形式表示反向区域

        zone "magedu.com" IN {

        type master; 

        file ”magedu.com.zone"; 

        allow-transfer  { 173.16.16.2; };设置允许下载该区域解析记录到从域名服务地址

        allow-update    { none; };       是否允许动态更新哪些客户机地址,none表示全部禁止

    };

    zone "16.16.173.in-addr.arpa" IN {   表示针对173.16.16.0/24网段的反向解析区域

        type master; 

        file "173.16.16.arpa";

    };

注意:

典型正向区域、反向区域的zone配置段,其中typefile是必须有的,allow-transferallow-update等是可选配置

区域设置中的部分配置内容(如allow-transferallow-update等)也可以放在全局配置里

反向区域的表示方法,“倒序网络地址.in-addr.arpa

wKiom1YSjmPCAEjYAADonBXQJ0g349.jpg

wKioL1YSZ5jANdMeAAMVF2--kx8695.jpg


全局TTL配置项及SOA记录

    $TTL(Time To Live,生存时间)记录

    SOA(Start Of Authority,授权信息开始)记录

    分号“;”开始的部分表示注释信息

    例如:

    $TTL    86400                     ; 有效地址解析记录的默认缓存时间

    @  IN  SOA  magedu.com.  admin.magedu.com.  (

            2009021901    ;更新序列号

            3H    ;刷新时间

            15M    ;重试延时

            1W    ;失效时间

            1D   ;无效地址解析记录的默认缓存时间

    )


域名解析记录

    NS域名服务器(Name Server)记录

    MX邮件交换(Mail Exchange)记录

    A地址(Address)记录,只用在正向解析的区域数据文件中

    CNAME别名(Canonical Name)记录

    例如:

    @IN    NS      ns1.magedu.com.

    IN    MX  10  mail.magedu.com.

    ns1IN    A     173.16.16.1

    mail    IN    A     173.16.:16.1

    www    IN    A     173.16.16.1

    ftp     IN    CNAME     www

注意:     

地址解析记录的配置格式,主要是较常用的NSMXACNAME记录等

其中NS记录以及NS记录对应服务器主机的A记录通常必需有的,A记录作为正向地址解析记录,是DNS服务器区域数据文件中数量最多的配置行

MX记录用于指定该区域内邮件地址,如果没有邮件服务器,可以省略MX配置记录行

CNAME用于为同一个域名设置不同的名称,其对应的IP地址是相同的

NSMX记录行首的“@”符号可以省略(默认继承SOA记录行首的@信息),但是必须保留一个空格或者制表位

wKioL1YSaHGA2YjmAAGusVbL-Ok625.jpg


域名解析记录

    PTR指针(Point)记录,只用在反向解析的区域数据文件中

    配置反向解析记录时,只需要指定IP地址中的主机地址部分即可,网络地址部分不用写

    1 IN PTR www.magedu.com. 

    4 IN PTR study.magedu.com. 

注意:

配置反向地址解析记录时的注意事项,设置对应的FQDN地址时注意最后要加“.”号,例如“www.magedu.com.

wKioL1YSaUjhO1ZDAAGhZ_O_2e8178.jpg


修改文件权限

wKioL1YSjdbyED5_AAY0B95Eo7s872.jpg


基于域名解析的负载均衡

    同一域名对应到多个IP地址

        movie IN 173.16.16.11

        movie IN 173.16.16.12

        movie IN 173.16.16.13

    泛域名解析:找不到精确对应的A记录时,使用“*”进行匹配

        * IN 173.16.16.173


    子域授权:将DNS子区域内主机地址的解析记录,授权给子域的域名服务器进行维护和解析

        cn IN A1 73.16.16.2

           IN NS ns.jv.net.cn.

        ns.jv.net.cn. IN 173.16.16.2

注意:

DNS轮询负载均衡对于访问量较大的网络服务非常有用,通常这些服务会由多个不同IP地址的服务器共同承担(服务内容互为镜像)

泛域名解析相当于特定DNS域内的默认解析记录,通常对应到该域的主站点的IP地址,这样即使用户将FQDN中的主机名部分写错了,仍然可以找到该域的主站点

子域授权可以减轻DNS服务器的负担,将一部分解析工作交给其他的服务器来处理


对配置文件进行语法检查

    named-checkconf工具

    格式:named-checkconf [主配置文件]

        [root@localhost ~]# cd  /var/named/chroot/etc/

        [root@localhost etc]# named-checkconf named.conf 

    named-checkzone工具

    格式:named-checkzone <域名> <区域数据文件>

        [root@localhost ~]# cd /var/named/chroot/var/named/

        [root@localhost named]# named-checkzone magedu.com magedu.com.zone

        zone magedu.com/IN: loaded serial 2009

        OK

wKioL1YTI0jDR3qhAAPp3w5fwvU871.jpg

wKioL1YTJFLAhagHAAYyZDMFh3I886.jpg

wKiom1YTJPfxPM-XAARqq9wATuc970.jpg

wKioL1YTJbizIqhIAAR9wOQ760M060.jpg

wKiom1YTJcKhuSvMAARjy1JpRjc609.jpg

wKioL1YTJf7ClNtrAARKVicjxYA890.jpg



构建主从域名服务器

构建主域名服务器

    基本配置步骤:

    1.在named.conf配置文件中添加“magedu.com”主区域

    2.建立“magedu.com”区域的数据文件

    3.启动或者重新加载named服务程序

    4.验证主域名服务器


    1.在named.conf主配置文件中添加“magedu.com”区域

    [root@ns1 ~]# vi /var/named/chroot/etc/named.conf

    ……

    zone "magedu.com" IN {

            type master;

            file "magedu.com.zone";

            allow-transfer { 173.16.16.6; };

    };

    zone "16.16.173.in-addr.arpa" IN {

            type master;

            file "173.16.16.arpa";

            allow-transfer { 173.16.16.6; };

    };

wKiom1YTUg2CYYQkAAKBn-Vn6lA738.jpg


    2.建立“magedu.com”区域的数据文件

     正向区域文件 magedu.com.zone

    [root@ns1 ~]# vi /var/named/chroot/var/named/magedu.com.zone

    ……

    @     IN      NS      ns1.magedu.com.

              IN      NS      ns2.magedu.com.

                IN      MX  10  mail.magedu.com.

    ns1     IN      A       173.16.16.5

    ns2     IN      A       173.16.16.6

    mail     IN      A       173.16.16.1

    www     IN      A       173.16.16.1

    study   IN      A       173.16.16.2

    *       IN      A       173.16.16.1

    反向区域文件

    [root@ns1 ~]# vi /var/named/chroot/var/named/173.16.16.arpa

    ……

    @ IN      NS      ns1.magedu.com.

        IN      NS      ns2.magedu.com.

    1       IN      PTR     www.magedu.com.

    2       IN      PTR     study.magedu.com.

    5       IN      PTR     ns1.magedu.com.

    6       IN      PTR     ns2.magedu.com.

wKiom1YTYrbAS3kIAAHJwxPlpYs739.jpg

wKioL1YTYwriPB6tAAGmS95Zf9A400.jpg

    验证主dns

wKioL1YTPMKQJ2gyAASZjKgKrS0398.jpg


构建从域名服务器

    创建

    [root@ns2 ~]# vi /var/named/chroot/etc/named.conf

    ……

    zone "magedu.com" IN {

            type slave;

            masters { 173.16.16.5; };

            file "slaves/magedu.com.zone";

    };

    zone "16.16.173.in-addr.arpa" IN {

            type slave;

            masters { 173.16.16.5; };

            file "slaves/173.16.16.arpa";

    };

注意:

如果在从域名服务器中启动named服务失败,则很可能是因为权限问题,例如主服务器没有设置正确的“allow-transfer”配置项、或者从服务器的named程序对slave目录没有写入权限等

在配置从域名服务器的过程中,不需要手动建立相应的区域数据文件,named程序会自动从主服务器中下载建立

wKioL1YTR8uCM3GVAAJ4fBR-4xA147.jpg

wKioL1YTY5bA5rx4AAUdxjWFBVQ311.jpg


wKioL1YTY1KCLGQtAAQSScgkq8s867.jpg


增量复制

wKiom1YTZCPhvnC2AAGpphILvJ4621.jpg

wKioL1YTZIbzybSDAAHLoY6kvr4745.jpg

wKiom1YTZJiSJWEPAAbzA3j4FJw661.jpg

wKioL1YTZNGBgrluAASKgM12XrU689.jpg


区域更新第2种

wKioL1YTaEvDnNrCAAJ0F95rCjY191.jpg

wKioL1YTaIWwyGujAAGG9J76lf0308.jpg

wKioL1YTaJ7w-Wz1AAHLAT3Z_pQ905.jpg

wKioL1YTaXmyu6hiAADnlqkQT1s015.jpg

wKiom1YTaUbRjcwHAAPFIzJ1VuM029.jpg


构建分离解析的域名服务器

    基本配置步骤:

    1.在named.conf主配置文件中为不同的客户机地址启用不同的zone区域设置,各自使用独立的数据文件

    2.分别建立不同的区域数据文件

    3.启动或重新加载named服务程序

    4.验证分离解析的域名服务器


    1.在named.conf主配置文件中为不同的客户机地址启用不同的zone区域设置,各自使用独立的数据文件

    view “视图1” {

        match-clients { 客户机地址1; }

        zone “magedu.com” IN {

            ……

        };

    };

    view “视图2” {

        match-clients { 客户机地址2; }

        zone “magedu.com” IN {

            ……

        };

    };

    

    view "LAN" {

        match-clients { 192.168.1.0/24; };

        zone "magedu.com" IN {

            type master;

            file "magedu.com.zone.lan";

        };

    };

    view "WAN" {

        match-clients { any; };

        zone "magedu.com" IN {

            type master;

            file "magedu.com.zone.wan";

        };

    };

注意:    

为不同的客户机地址分别设立view视图

在每个view视图区域中,使用 match-clients配置项指定相匹配的IP地址或网络地址范围

匹配客户机地址时,“any”表示匹配任意地址

wKiom1YT07XSw2EwAALC_PEgFLU396.jpg

wKioL1YT0_aQU1hiAAJNsnrbVbE312.jpg


    2.分别建立不同的区域数据文件

    [root@ns1 ~]# vi /var/named/chroot/var/named/magedu.com.zone.lan

    ……

    ns1        IN      A       192.168.1.1

    www     IN      A       192.168.1.5

    mail       IN      A       192.168.1.6

    [root@ns1 ~]# vi /var/named/chroot/var/named/magedu.com.zone.wan

    ……

    ns1        IN      A       173.16.16.1

    www     IN      A       173.16.16.1

    mail       IN      A       173.16.16.1

注意:

根据named.conf配置文件中的view视图设置,为不同的客户机分别建立区域数据文件

将同一主机名(如www.magedu.com)的解析结果,在不同的数据文件中对应到不同的IP地址

wKioL1YT1hOiKM_DAADQ5I8TmyM376.jpg

wKiom1YT1f7iiE1PAAAxCAmGBj8177.jpg

wKiom1YT1YHy1q_0AAGqpcGbjkM433.jpg

wKioL1YT1hOSn8OEAABnhoZ7ba0314.jpg

wKiom1YT1b6ylbeaAAHCoD-auks858.jpg


    3.启动或重新加载named服务程序

     service named reload

wKiom1YT2DnC5gOfAAWeb5bcnvk091.jpg


    4.验证分离解析的域名服务器

     使用192.168.1.0/24网段的客户机解析 www.magedu.com,结果应为 192.168.1.5

     使用其他IP地址的客户机解析 www.magedu.com,结果应为 173.16.16.1

wKiom1YT1_PBQ7_YAARkNiisJ5s823.jpg

wKioL1YT2CXzuCKDAASMs6-cg5M627.jpg


你可能感兴趣的:(dns)