电竞比分网-中国电竞赛事及体育赛事平台

分享

搭建Bind DNS Server

 Dead n Gone 2015-07-21

目錄[-]

域名分級(jí)

  根域:  .
  頂級(jí)域:  .com .cn .org .net 
  域:    baidu.com qq.com sina.com
  主機(jī):  www.baidu.com mail.sina.com

DNS解析過(guò)程

如在qq.com域下面有臺(tái)client,其dns-server是dns.qq.com,則client訪問(wèn)www.baidu.com(dns為ns.baidu.com)時(shí),先請(qǐng)求dns.qq.com,dns.qq.com查詢緩存中有沒(méi)有www.baidu.com條目的緩存,如果有,則直接返回www.baidu.com的IP,如果沒(méi)有,則請(qǐng)求如下:

  1. 請(qǐng)求 `根域`(`.`),查詢`.com`域的管理Server IP
  2. 請(qǐng)求`.com`域,查詢`baidu.com`域的管理Server IP,也就是 `ns.baidu.com` 
  3. 請(qǐng)求`ns.baidu.com`,查詢域中`www`主機(jī)的IP

此時(shí),dns.qq.com將查詢得到的www.baidu.com的IP返回給Client,同時(shí)緩存,在緩存還沒(méi)失效之前有其他Client再次請(qǐng)求www.baidu.com時(shí),則直接從緩存中取,不再查詢。對(duì)于client來(lái)說(shuō)是遞歸的(client->dns.qq.com),對(duì)于dns-server來(lái)說(shuō)是迭代的(上述123過(guò)程),

DNS Server只依據(jù)條目響應(yīng)查詢,不負(fù)責(zé)是否存在

dns的分類


  1.權(quán)威DNS:

    權(quán)威DNS是經(jīng)過(guò)上一級(jí)授權(quán)對(duì)域名進(jìn)行解析的服務(wù)器,同時(shí)它可以把解析授權(quán)轉(zhuǎn)授給其他人

  2.遞歸DNS:

    負(fù)責(zé)接受用戶對(duì)任意域名查詢,并返回結(jié)果給用戶。

  3.轉(zhuǎn)發(fā)DNS:

    負(fù)責(zé)接受用戶查詢,并返回結(jié)果給用戶。

權(quán)威應(yīng)答與非權(quán)威應(yīng)答

  如果DNS服務(wù)器在自己的區(qū)域文件里找到了客戶端需要查詢的記錄,否則就是非權(quán)威應(yīng)答

TTL值

TTL(Time- To-Live),簡(jiǎn)單的說(shuō)它表示一條域名解析記錄在DNS服務(wù)器上被緩存時(shí)間.當(dāng)各地的DNS服務(wù)器接受到解析請(qǐng)求時(shí),就會(huì)向域名指定的DNS服務(wù)器發(fā)出解析請(qǐng)求從而獲得解析記錄;在獲得這個(gè)記錄之后,記錄會(huì)在DNS服務(wù)器中保存一段時(shí)間,這段時(shí)間內(nèi)如果再接到這個(gè)域名的解析請(qǐng)求,DNS服務(wù)器將不再向DNS服務(wù)器發(fā)出請(qǐng)求,而是直接返回剛才獲得的記錄;而這個(gè)記錄在DNS服務(wù)器上保留的時(shí)間,就是TTL值,默認(rèn)單位是秒(s)。

  一.增大TTL值,可以節(jié)約域名解析時(shí)間
  二.減小TTL值,可以減少更換IP(A記錄)后到生效的時(shí)間

資源記錄(Resource Record, RR)格式

@表示繼承

A記錄(正向)

將域名指向一個(gè)IPv4地址,FQDN-->IPv4

FQDN:Full Qualified Domain Name,完全限定域名,如 mail.sina.com

RRT:Resource Record Type,資源記錄類型。

  FQND  TTL  IN  RRT  IP
  www.sina.com.  600  IN  A  1.1.1.1

IPv6的類型為AAAA

PTR記錄(反向)

IP反向查詢域名,IP-->FQDN

  IP  TTL  IN  RRT  FQDN
  11.0.168.192.in-addr.arpa.  600  IN  PTR  mail.sina.com.
  12.0.168.192.in-addr.arpa.  600  IN  PTR  ftp.sina.com.

NS記錄

域名解析服務(wù)器記錄,ZONE-NAME->FQDN,也叫授權(quán)記錄

  Zone-Name  TTL  IN  NS  FQND
  163.com.  600  IN  NS  ns.163.com.
  ns.163.com.  600  IN  A  1.1.1.1

NS和A記錄成組出現(xiàn),構(gòu)成一個(gè)完整的NS記錄,多個(gè)NS記錄時(shí)依次被響應(yīng)

MX記錄(mail exchager)

電子郵箱服務(wù),將指向郵件服務(wù)器地址,ZONE-NAME->FQDN,MX記錄有優(yōu)先級(jí)(priority)之分,0-99,數(shù)字越大,優(yōu)先級(jí)越高

  ZONE-NAME  TTL  IN  RRT  priority  FQDN
  163.com.  600  IN  MX  11  mail1.163.com.
  mail1.163.com.  600  IN  A  1.1.1.1

MX和A記錄成組出現(xiàn),構(gòu)成一個(gè)完整的MX記錄

SOA(Start Of Authority)記錄

區(qū)域傳送記錄,描述區(qū)域傳送規(guī)則(描述主從對(duì)象,以及如何主從如何同步),必須定義在數(shù)據(jù)文件的第一行

  ZONE-NAME  TTL    IN    SOA    FQDN(主DNS地址)  admin-mail-address (
            serial number; 版本號(hào),區(qū)域復(fù)制依據(jù),每次主要區(qū)域修改完數(shù)據(jù)后,要手動(dòng)增加它的值
            refresh ; 刷新時(shí)間,輔助DNS服務(wù)器請(qǐng)求與源服務(wù)器同步的等待時(shí)間。當(dāng)刷新間隔到期時(shí),輔助DNS服務(wù)器請(qǐng)求源服務(wù)器的SOA記錄副本。然后,輔助DNS服務(wù)器將源服務(wù)器的SOA記錄的序列號(hào)與其本地SOA記錄的序列號(hào)比較,如果不同,則輔助DNS服務(wù)器從主要DNS服務(wù)器請(qǐng)求區(qū)域傳輸。
            retry ; 重試時(shí)間,輔助DNS服務(wù)器在請(qǐng)求失敗后,等待多長(zhǎng)時(shí)間重試。通常這個(gè)應(yīng)該短于刷新時(shí)間
            expire ; 過(guò)期時(shí)間,時(shí)間到期時(shí),如輔助DNS服務(wù)器還無(wú)法與源服務(wù)器進(jìn)行區(qū)域傳輸,則輔助DNS服務(wù)器會(huì)把它的本地?cái)?shù)據(jù)當(dāng)作不可靠數(shù)據(jù)
            minimum ; 否定答案緩存時(shí)間
         )
  時(shí)間單位:M(分鐘)、H(小時(shí))、D(天)、W(周),默認(rèn)單位是秒
  郵箱格式:admin@sina.com -寫為-> admin.sina.com

  sina.com.    600    IN    SOA    ns1.sina.com.    admin.sina.com. (
            2013040101
            1H
            5M
            1W
            1D )

CNAME(Canonical NAME)記錄

將域名指向一個(gè)域名,F(xiàn)QDN->FQDN

  FQDN TTL IN RRT FQDN
  mail.163.com.  600  IN  CNAME  mail.qq.com.

泛域名解析

    * 600 IN A  IP #除了明確標(biāo)識(shí),其他都解析到該地址

域和區(qū)域(domain & zone)

domain是邏輯概念,如sina.com,zone是物理概念,對(duì)應(yīng)數(shù)據(jù)文件

正向域

  sina.com. 600  IN SOA ns1.sina.com. admin.sina.com. (
              2013040101
              1H
              5M
              1W
              1D )

  www  600  IN A 192.168.0.10
  www2  600  IN A 192.168.0.11
  sina.com. 600 IN MX 10 mail.sina.com.
  mail.sina.com. 600 IN A 192.168.0.20

反向域

反向域的name為網(wǎng)段地址,且反寫

  0.168.192.in-addr.arpa IN SOA ns1.sina.com. admin.sina.com (
              2013040101
              1H
              5M
              1W
              1D )

  10.0.168.192.in-addr.arpa. 600 IN PTR www.sina.com.
  11 IN PTR www2.sina.com.

區(qū)域類型

  主區(qū)域:master
  從區(qū)域:slave
  提示區(qū)域:hint,定義根在什么地方
  轉(zhuǎn)發(fā)區(qū)域:forward,比如直接配置.com域的地址,而不從根查詢

安裝Bind

  yum install -y bind

    /etc/named.conf #主配置文件
    /etc/rndc.key #rndc的密鑰文件 
    /etc/rndc.conf #rndc配置文件
    /var/named/ #區(qū)域數(shù)據(jù)文件
    /etc/rc.d/init.d/named #服務(wù)腳本
      {start|stop|restart|status|reload}
    /var/named/named.ca 13個(gè)根節(jié)點(diǎn)配置文件

一些工具

隨bind安裝

  /usr/sbin/named-checkconf #檢查配置文件
  /usr/sbin/named-checkzone #檢查區(qū)域文件
  /usr/sbin/rndc-confgen    #生成rndc配置

bind-utils 工具包

  /usr/bin/dig 
  /usr/bin/host
  /usr/bin/nslookup

設(shè)置開(kāi)機(jī)啟動(dòng)

  chkconfig named on

named.conf

  options { #全局選項(xiàng),對(duì)所有的zone生效
    listen-on port 53 { 127.0.0.1; }; #監(jiān)聽(tīng)I(yíng)Pv4及端口。這里設(shè)置表示只偵聽(tīng)127.0.0.1這個(gè)地址。如不定義此選項(xiàng)或者0.0.0.0表示偵聽(tīng)所有網(wǎng)絡(luò)
    listen-on-v6 port 53 { ::1; }; ##監(jiān)聽(tīng)I(yíng)Pv6及端口
    directory   "/var/named"; #數(shù)據(jù)文件目錄
    notify yes;# 啟用通知功能,master修改,主動(dòng)通知slave
    allow-query     { 192.168.0.0/24; }; #允許提交查詢的客戶端,如不定義此選項(xiàng)表示允許所有查詢
    query-source port 53; #客戶端在進(jìn)行DNS查詢時(shí)必須使用53做為源端口
    recursion yes; #是否開(kāi)啟遞歸查詢
    allow-recursion {192.168.0.0/24;192.168.0.1/24};#允許提交遞歸查詢的客戶端,如不定義此選項(xiàng)表示允許所有
    allow-transfer {192.168.0.254;};#允許區(qū)域傳輸?shù)腄NS服務(wù)器(輔助DNS),不寫表示允許所有
    forwarders {192.168.0.9;};#轉(zhuǎn)發(fā)到指定服務(wù)器解析
    forward only|first;#only表示如果在指定的轉(zhuǎn)發(fā)器找不到,不會(huì)去向根查詢,first表示快速轉(zhuǎn)發(fā)(默認(rèn))

    dnssec-enable yes;# 是否支持DNSSEC開(kāi)關(guān),默認(rèn)為yes
    dnssec-validation yes; #是否進(jìn)行DNSSEC確認(rèn)開(kāi)關(guān),默認(rèn)為no
    dnssec-lookaside auto; #當(dāng)設(shè)置dnssec-lookaside,它為驗(yàn)證器提供另外一個(gè)能在網(wǎng)絡(luò)區(qū)域的頂層驗(yàn)證DNSKEY的方法

  };

  logging { #日志
          channel default_debug {
                  file "data/named.run";
                  severity dynamic;
          };
  };

  zone "." IN { #根區(qū)域定義
    type hint;#區(qū)域類型
    file "named.ca";#區(qū)域數(shù)據(jù)文件路徑,相對(duì)與directory
    #masters { master1.ip;master2.ip } #如果是從區(qū)域,指定master地址
  };

  zone "sina.com"  IN { #正向域
    type master;
    file "sina.com";
  };

  zone "0.168.192.in-addr.arpa" IN {#反向域
    type master;
    file "0.168.192.zone";
  };

zone類型

Master

  主DNS服務(wù)器:擁有區(qū)域數(shù)據(jù)文件,并對(duì)此區(qū)域提供數(shù)據(jù)管理

Slave

  輔助區(qū)域:擁有主DNS服務(wù)器區(qū)域數(shù)據(jù)文件的副本,輔助DNS服務(wù)器從主DNS服務(wù)器同步所有區(qū)域數(shù)據(jù)

Stub

  stub區(qū)域和slave類似,但它只復(fù)制主DNS服務(wù)器上的NS記錄,而不像輔助DNS服務(wù)器會(huì)復(fù)制所有區(qū)域數(shù)據(jù)

Forward

  一個(gè)forward zone是每個(gè)域的配置轉(zhuǎn)發(fā)的主要部分。一個(gè)zone語(yǔ)句中的type forward可以包括一個(gè)forward和或forwarders子句,它會(huì)在區(qū)域名稱給定的域中查詢。如果沒(méi)有forwarders語(yǔ)句或forwarders是空表,那么這個(gè)域就不會(huì)轉(zhuǎn)發(fā),消除了options語(yǔ)句中有關(guān)轉(zhuǎn)發(fā)的配置

Hint

  根域名服務(wù)器的初始化組指定使用的線索區(qū)域hint zone,當(dāng)服務(wù)器啟動(dòng)時(shí),它使用根線索來(lái)查找根域名服務(wù)器,并找到最近的根域名服務(wù)器列表。如果沒(méi)有指定class IN的線索區(qū)域,服務(wù)器使用編譯時(shí)默認(rèn)的根服務(wù)器線索。不是IN的類別沒(méi)有內(nèi)置的默認(rèn)線索服務(wù)器

主從傳送

1.修改named.conf中option定義

    notify yes

2.修改named.conf中zone的定義:

    zone "zone-name" IN { #根區(qū)域定義
        type slave;#標(biāo)明是從dns
        file "slaves/named.ca";#區(qū)域數(shù)據(jù)文件路徑,相對(duì)與directory,由于named無(wú)對(duì)/etc/named目錄的寫權(quán)限,所以放在slaves下
        masters { master1.ip;master2.ip } #指定master地址
      };

3.增加從服務(wù)器的NS記錄以及A記錄

4.防火墻配置

    打開(kāi)master tcp 53端口
    打開(kāi)slave tcp 53端口

5.開(kāi)啟從服務(wù)器

    service named start

手動(dòng)區(qū)域傳輸

    dig -t axfr|ixfr 區(qū)域名稱 @輔助DNS服務(wù)器
      axfr:完全傳輸
      ixfr:增量傳輸

子域授權(quán)

1.在子域zone文件中添加授權(quán)NS記錄

    子域名稱  IN  NS 子域dns-server-name 
    a.sina.com.  IN  NS  ns1.a.sina.com.

2.子域DNS A記錄

    子域dns-server-name IN A IP 

    ns1.a.sina.com. IN A 0.0.0.0

3.編輯子域 named.conf 添加zone記錄

    zone "a.sina.com"  IN {
      type master;
      file "a.sina.com";
    };

4.增加zone對(duì)應(yīng)的數(shù)據(jù)文件

5.重啟服務(wù)

DNS View

  view view_name {

    match-client{ip段1;ip段2}; 
    //區(qū)域定義

  };

match-client:指定IP段使用view中的zone定義,any匹配所有IP

注意

  1. 一旦定義了view 所有的zone都必須定義在view中
  2. 根zone只需要定義在需要遞歸的view中

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多