zoukankan      html  css  js  c++  java
  • bind域名dns解析及主从服务的配置

    bind域名dns解析及主从服务的配置

    1、dns解析介绍

        人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是多对一的关系,一个ip地址不一定只对应一个域名,且一个域名只可以对应一个ip地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的。

    2、dns解析流程

    首先,客户端发出DNS请求翻译IP地址或主机名。DNS服务器在收到客户机的请求后:

    (1)检查DNS服务器的缓存,若查到请求的地址或名字,即向客户机发出应答信息;

    (2)若没有查到,则在自身配置中查找,若查到请求的地址或名字,即向客户机发出应答信息;

    (3)若没有查到,则将请求发给根域DNS服务器,并依序从根域查找顶级域,由顶级查找二级域,二级域查找三级,直至找到要解析的地址或名字,即向客户机所在网络的DNS服务器发出应答信息,DNS服务器收到应答后现在缓存中存储,然后,将解析结果发给客户机。

    (4)若没有找到,则返回错误信息。

    示意图来源:https://www.cnblogs.com/geaozhang/p/7010353.html

    Windows下查看dns缓存的方法:

    cmd——>ipconfig /displaydns

    Chrome浏览器查看dns缓存的方法:

    地址栏——>chrome://net-internals/#dns

    3、域名分类

    .                 根域名

    com.             顶级域名

    qq.com.         一级域名

    www.qq.com     二级域名

    .com后缀:国际通用顶级域名,也是目前使用最为广泛的域名,Commercial organizations它后缀的含义是代表商业组织机构

    .net后缀:国际通用域名,也是目前国际广泛流行的域名,Network operations and service centers后缀代表网络服务机构

    .cn后缀:中国国家级顶级域名,也是在国内广泛使用的域名 ,后缀表示含义为中国企业互联网标识

    .org域名:国际顶级域名,是目前国际广泛使用的域名,Other organizations后缀含义代表是非盈利性组织

    .top域名:国际顶级域名,作为目前最流行的最热闹的新型后缀域名,.top寓意为顶级排名、高端、突破,可以用于任何组织和个人

    .gov:Governmental entities,政府部门

    .edu:Educational institutions,教研机构

    4、dns服务的角色

    dns授权服务器

    dns缓存服务器

    dns客户端

    dns根域名服务器:全世界只有13台(这13台根域名服务器名字分别为"A"至"M"),1个为主根服务器在美国。其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本)

    5、使用bind提供域名解析服务

    bind是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS

    本文以域名www.baidu.com解析到10.0.0.61为例

    5.1 安装

    yum install bind –y

    5.2 配置

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

    [root@m01 ~]# vim /etc/named.conf

    options {

        listen-on port 53 { any; };    #服务器上的所有IP地址均可提供DNS域名解析服务

        directory     "/var/named";

        allow-query { any; };    #允许所有人对本服务器发送DNS查询请求

    };

    zone "baidu.com" IN {

        type master;

        file "baidu.com";

    };

    数据配置文件

    cd /var/named/        #进入到named目录下

    cp named.localhost baidu.com    #拷贝已有的named文件并重命名为baidu.com

    chown root.named baidu.com    #修改文件的属主跟属组

    vim baidu.com

    [root@m01 ~]# cd /var/named/

    [root@m01 named]# ls

    data dynamic named.ca named.empty named.localhost named.loopback slaves

    [root@m01 named]# cp named.localhost baidu.com

    [root@m01 named]# chown root.named baidu.com

    [root@m01 named]# ll baidu.com

    -rw-r----- 1 root named 152 May 3 15:57 baidu.com

    [root@m01 named]#

    [root@m01 named]# vim baidu.com

    [root@m01 named]# cat baidu.com

    $TTL 1D

    @    IN SOA    ns1.baidu.com. ns2.baidu.com. (

                        0    ; serial

                        1D    ; refresh

                        1H    ; retry

                        1W    ; expire

                        3H )    ; minimum

        NS    ns1.baidu.com.

    ns1    A    10.0.0.61

    ns2 A 10.0.0.61

    www A 10.0.0.7

    使用检查命令进行检查

    named-checkconf

    named-checkzone "baidu.com"var/named/baidu.com

    5.3 启动bind服务

    /etc/init.d/named start

    [root@m01 named]# /etc/init.d/named start

    Generating /etc/rndc.key: [ OK ]

    Starting named: [ OK ]

    5.4 验证

    修改客户端dns配置文件并检验

    [root@backup ~]# vim /etc/resolv.conf

    [root@backup ~]# cat /etc/resolv.conf

    ; generated by /sbin/dhclient-script

    nameserver 10.0.0.61

    [root@backup ~]# ping www.baidu.com -c3

    PING www.baidu.com (10.0.0.7) 56(84) bytes of data.

    64 bytes from web01 (10.0.0.7): icmp_seq=1 ttl=64 time=0.169 ms

    64 bytes from web01 (10.0.0.7): icmp_seq=2 ttl=64 time=0.466 ms

    64 bytes from web01 (10.0.0.7): icmp_seq=3 ttl=64 time=0.297 ms

     

    --- www.baidu.com ping statistics ---

    3 packets transmitted, 3 received, 0% packet loss, time 2000ms

    rtt min/avg/max/mdev = 0.169/0.310/0.466/0.123 ms

    6、 配置bind dns为缓存dns

    此时配置的dns只能解析对域名www.baidu.com进行解析,无法解析其他未配置的众多域名,需要做的是指定上游dns

    指定上游dns:当无法使用本地的dns解析时,利用上游dns服务器进行解析

    添加内容forwarders {223.5.5.5;223.6.6.6; };

    重启服务

    [root@m01 named]# vim /etc/named.conf

    [root@m01 named]# cat /etc/named.conf

    options {

            listen-on port 53 { any; };

            directory     "/var/named";

            allow-query { any; };

        forwarders {223.5.5.5;223.6.6.6; };

    };

    zone "baidu.com" IN {

        type master;

        file "baidu.com";

    };

    [root@m01 named]# /etc/init.d/named restart

    Stopping named: [ OK ]

    Starting named: [ OK ]

    7、配置bind dns主从服务器并同步

    新增一台dns服务器为从服务器,编辑其主配置文件

    [root@m02 ~]# vim /etc/named.conf

    options {

        listen-on port 53 { any; };    #服务器上的所有IP地址均可提供DNS域名解析服务

        directory     "/var/named";

        allow-query { any; };    #允许所有人对本服务器发送DNS查询请求

    };

    zone "baidu.com" IN {

        type slave;

        file "baidu.com";

        masters { 10.0.0.61; };

    };

    修改/var/named权限或修改属主和属组

    chown -R named.named /var/named

    修改主dns服务器的主配置文件

    options {

    directory "/var/named";

    };

     

    zone "baidu.com" IN {

    type master;

    file "baidu.com";

    allow-transfer { 10.0.0.62; };

    notify yes;

    also-notify { 10.0.0.62; };

    };

    修改主dns服务器的数据配置文件

    [root@m01 named]# vim baidu.com

    [root@m01 named]# cat baidu.com

    $TTL 1D

    @    IN SOA    ns1.baidu.com. ns2.baidu.com. ( #添加指定ns2从dns

                        1    ; serial        #修改版本号

                        1D    ; refresh

                        1H    ; retry

                        1W    ; expire

                        3H )    ; minimum

        NS    ns1.baidu.com.

    NS ns2.baidu.com.    #添加指定dns2从dns

    ns1    A    10.0.0.61

    ns2 A 10.0.0.62    #添加指定dns2从dns的A记录

    www A 10.0.0.7

    bbs A     10.0.0.7            #增加域名

    重启主dns服务

    /etc/init.d/named restart

    测试

    host www.baidu.com 10.0.0.61

    host www.baidu.com 10.0.0.62

    8、dns记录类型

    参数说明如下(参照阿里云dns解析)

    参数

    说明

    记录类型

    支持的记录类型包括:

    • A - 将域名指向一个IPv4地址。
    • CNAME - 将域名指向另外一个域名。
    • AAAA - 将域名指向一个IPv6地址。
    • NS - 为子域名指定DNS服务器。
    • MX - 将域名指向邮件服务器地址。
    • SRV - 用于记录提供特定服务的服务器。
    • TXT - 为记录添加说明,可用于创建SPF记录。
    • CAA - CA证书颁发机构授权校验。
    • 显性URL - 将域名302重定向到另外一个地址,并且显示真实目标地址。
    • 隐形URL - 将域名302重定向到另外一个地址,但是隐藏真实目标地址。

    主机记录

    域名前缀,与域名共同组成解析对象。假设域名为 aliyun.com,则常见用法如下:

    • www:解析域名 www.aliyun.com。
    • @:直接解析主域名 aliyun.com。
    • *:泛解析,解析所有子域名。
    • mail:解析域名 mail.aliyun.com,用于邮箱服务器。
    • m:解析域名 m.aliyun.com,用于手机网站。
    • 二级域名:例如填写 abc,用于解析 abc.aliyun.com。

    解析线路

    使用的解析线路。

    记录值

    根据记录类型设置解析结果。

    TTL值

    解析结果在递归DNS中的保存时长。

    9、测试命令

    9.1 dig命令

    常用的域名查询工具,可以用来测试域名系统工作是否正常

    yum install bind –y

    使用默认dns查询

    dig www.baidu.com

    [root@backup ~]# dig www.baidu.com

     

    ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.5 <<>> www.baidu.com

    ;; global options: +cmd

    ;; Got answer:

    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57082

    ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

     

    ;; QUESTION SECTION:

    ;www.baidu.com.            IN    A

     

    ;; ANSWER SECTION:

    www.baidu.com.        86400    IN    A    10.0.0.7

     

    ;; AUTHORITY SECTION:

    baidu.com.        86400    IN    NS    ns2.baidu.com.

    baidu.com.        86400    IN    NS    ns1.baidu.com.

     

    ;; ADDITIONAL SECTION:

    ns1.baidu.com.        86400    IN    A    10.0.0.61

    ns2.baidu.com.        86400    IN    A    10.0.0.62

     

    ;; Query time: 0 msec

    ;; SERVER: 10.0.0.61#53(10.0.0.61)

    ;; WHEN: Thu May 3 16:14:46 2018

    ;; MSG SIZE rcvd: 115

    dig @223.5.5.5 www.baidu.com +trace

    不通过dns缓存,直接从根域名服务器查询

    [root@Web01 ~]# dig @223.5.5.5 www.baidu.com +trace

     

    ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6 <<>> @223.5.5.5 www.baidu.com +trace

    ; (1 server found)

    ;; global options: +cmd

    .            291003    IN    NS    k.root-servers.net.

    .            291003    IN    NS    j.root-servers.net.

    .            291003    IN    NS    f.root-servers.net.

    .            291003    IN    NS    a.root-servers.net.

    .            291003    IN    NS    c.root-servers.net.

    .            291003    IN    NS    e.root-servers.net.

    .            291003    IN    NS    m.root-servers.net.

    .            291003    IN    NS    d.root-servers.net.

    .            291003    IN    NS    i.root-servers.net.

    .            291003    IN    NS    g.root-servers.net.

    .            291003    IN    NS    b.root-servers.net.

    .            291003    IN    NS    l.root-servers.net.

    .            291003    IN    NS    h.root-servers.net.

    ;; Received 228 bytes from 223.5.5.5#53(223.5.5.5) in 21078 ms

     

    com.            172800    IN    NS    a.gtld-servers.net.

    com.            172800    IN    NS    b.gtld-servers.net.

    com.            172800    IN    NS    c.gtld-servers.net.

    com.            172800    IN    NS    d.gtld-servers.net.

    com.            172800    IN    NS    e.gtld-servers.net.

    com.            172800    IN    NS    f.gtld-servers.net.

    com.            172800    IN    NS    g.gtld-servers.net.

    com.            172800    IN    NS    h.gtld-servers.net.

    com.            172800    IN    NS    i.gtld-servers.net.

    com.            172800    IN    NS    j.gtld-servers.net.

    com.            172800    IN    NS    k.gtld-servers.net.

    com.            172800    IN    NS    l.gtld-servers.net.

    com.            172800    IN    NS    m.gtld-servers.net.

    ;; Received 491 bytes from 198.97.190.53#53(198.97.190.53) in 36211 ms

     

    baidu.com.        172800    IN    NS    dns.baidu.com.

    baidu.com.        172800    IN    NS    ns2.baidu.com.

    baidu.com.        172800    IN    NS    ns3.baidu.com.

    baidu.com.        172800    IN    NS    ns4.baidu.com.

    baidu.com.        172800    IN    NS    ns7.baidu.com.

    ;; Received 201 bytes from 192.41.162.30#53(192.41.162.30) in 5846 ms

     

    www.baidu.com.        1200    IN    CNAME    www.a.shifen.com.

    a.shifen.com.        1200    IN    NS    ns3.a.shifen.com.

    a.shifen.com.        1200    IN    NS    ns2.a.shifen.com.

    a.shifen.com.        1200    IN    NS    ns1.a.shifen.com.

    a.shifen.com.        1200    IN    NS    ns4.a.shifen.com.

    a.shifen.com.        1200    IN    NS    ns5.a.shifen.com.

    ;; Received 228 bytes from 220.181.38.10#53(220.181.38.10) in 93 ms

    9.2 host命令

    常用的域名查询工具,可以用来测试域名系统工作是否正常

    [root@backup ~]# host www.baidu.com

    www.baidu.com has address 10.0.0.7

    9.3 nslookup命令

    常用域名查询工具,就是查DNS信息用的命令

    9.4 curl命令

    测试打开网站的时间

    time curl www.baidu.com

    -I 显示http相应头部内容

    参考博文:https://www.cnblogs.com/liuyansheng/p/5992486.html

     

    博主原创文章,转载请务必注明出处

  • 相关阅读:
    Windows 2003 服务器 关闭IIS中FTP匿名访问
    Linux 服务器 关闭FTP匿名访问
    CentOS 7 配置本地 YUM源
    Linux中使用MegaCli工具查看、管理Raid卡信息
    Linux 6 本地网络配置方法
    勒索病毒,华为/H3C三层交换机/路由器用ACL访问控制实现端口禁用
    Linux RedHat7.0_64位系统中安装Oracle_11g_R2
    Linux 7 重置root密码
    windows 系统防火墙 添加端口号方法
    SpringBoot 2.x (12):整合Elasticsearch
  • 原文地址:https://www.cnblogs.com/ssgeek/p/9220917.html
Copyright © 2011-2022 走看看