配置DNS服務


DNS:Domain Name System:域名系統

域名和IP地址相互映射的一個分佈式數據庫,使用戶使用域名更方便的訪問互聯網,不用去記更利於機器讀取的IP地址,域名解析由DNS服務器提供。

DNS服務器的類型:

  • 主DNS服務器:管理和維護所負責解析的域內解析庫的服務器

  • 從DNS服務器:從主服務器或從服務器“複製”(區域傳輸)解析庫副本

  • 緩存DNS服務器(轉發器)

一次完整的查詢請求經過的流程:
 Client –>hosts文件–>DNS Service  Local Cache –> DNS Server (recursion) –>  
 Server Cache –> iteration(迭代) –> 根–> 頂級域名DNS–>二級域名DNS…

搭建域名解析服務器:
1.安裝bind

相關軟件包:bind、bind-chroot
]# yum install bind bind-chroot

  • BIND的服務名是 named,DNS默認協議是TCP與UDP協議,啓動後會佔用53/udp/tcp,953/tcp這兩個端口號

    953是rndc的端口,rndc是控制Bind啓動、關閉等行爲的工具
     rndc status|reload

  • 若安裝了bind-chroot,此時BIND的主配置文件會被封裝到一個僞根目錄內(安全目的),此時配置文件(鏈接)位置爲:
    /var/named/chroot/etc/named.conf   BIND服務主配置文件
    /var/named/chroot/var/named/*.zone    域的zone配置文件

  • 默認配置文件:
    主配置文件:/etc/named.conf
    區域配置文件:/var/named/*.zone


2.配置DNS服務器:

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

options {
   listen-on port 53 { 1localhost; };    監聽的端口及地址;localhost表監聽本機所有地址
   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";
   allow-query     { any; };    特定主機可發起查詢,any表所有可查
   allow-transfer { none; };    設置允許指定主機抓取所有記錄
   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";
};

// 根服務器定義
zone "." IN {
   type hint;
   file "named.ca";
};
// 包含配置文件
include "/etc/named.rfc1912.zones";    可在該文件中定義域
include "/etc/named.root.key";

配置一個域名的解析:

  1. 在配置文件中添加域定義  /etc/named.conf 或 /etc/named.rfc1912.zones中

  2. 添加該域的zone文件至/var/named/xx.zone

主配置文件添加域定義:
]# vi /etc/named.rfc1912.zones添加:

//正向解析域定義
zone "rick.com" IN {
   type master;     類型 master|slave|hint|forward
   file "rick.zone";    必須與/var/named/ 目錄下區域解析文件名相同
};
  //反向解析域定義,反寫的網段地址.in-addr.arpa
zone "1.10.in-addr.arpa" IN {
   type master;    
   file "10.1.zone";
};

創建正向區域配置文件:

區域數據庫文件各指令解釋:

$TTL:允許客戶端緩存來自查詢的數據的默認時間,單位秒
 $ORIGIN:自動補全

資源記錄類型:

A,AAAA,PTR,SOA,NS,CNAME,MX  
 SOA:Start Of Authority,起始授權記錄;一個區域有且只能有一個SOA記錄,須爲第一條
 NS:Name Service,域名服務器記錄;一個區域解析庫可以有多個NS記錄,其中一個爲主
 A:Address,地址記錄,FQDN > IPv4
 AAAA:FQDN > IPv6
 CNAME:Canonical Name,別名記錄
 PTR:Pointer,IP > FQDN 反向解析
 MX:Mail eXchanger,郵件交換器;郵件記錄必須有優先級:0-99,小優先級高

]# vi /var/named/rick.zone

$TTL 86400
$ORIGIN rick.com.
   IN     SOA    ns1.zz.com    root.zz.com. (
       16102204;序列號,可自定義;主服務器解析庫變化時序列遞增
       2H;與主服務器同步時間間隔
       20M;同步失敗重試時長
       1W;無法聯繫主服務器時,多久後停止服務
       1D )否定答案TTL
           IN  NS    ns1.zz.com.  
ns1.zz.com. IN  A     10.1.235.6
www         IN  A     10.1.235.54

 1.TTL可以從全局繼承
 2.@可表示當前區域的名稱
 3.相鄰兩條記錄name相同時,後面可省略
 4.同一個名字可以有多條記錄定義多個不同的值;DNS服務器會以輪詢方式響應
 5.區域文件屬性應修改爲
         -rw-r—– 1  root named 149 Sep 22 16:02 NAME.zone

反向解析:
]# vi /var/named/10.1.zone   主要爲PTR記錄

$TTL 86400
$ORIGIN 1.10.in-addr.arpa.
@    IN    SOA   ns1.zz.com.   root.zz.com.  ( 16101602 2H 10M 1W 1D )
        IN      NS     ns1.zz.com.
6.235    IN      PTR    ns1.zz.com.
54.235   IN      PTR    www.rick.com.

主配置文件語法檢查:
]# named-checkconf
解析庫文件語法檢查:
]# named-checkzone rick.com  /var/named/rick.com
]# named-checkzone 1.10.in-addr.arpa  /var/named/10.1.zone
啓動服務:
service named start


對DNS配置完成後就可以測試了,linux下有下列幾個測試工具:

  • dig

  • host

  • nslook

# dig [+trace] [-t A|AAAA..] name [@server]
   @server:指定主機解析
   +trace:跟蹤解析過程
   -t:指定類型
   -x:反向解析 不一定存在

]# dig -t axfr .1.10.in-addr.arpa @10.1.252.54
]# dig -t ptr 33.252.1.10.in-addr.arpa @10.1.252.54

# host [-t RR_type] name [server_IP]

]# host -t NS zjj.com @127.0.0.0

# nslookup [-options] [name] [server]   lnx/win
       交互模式:
           nslookup
               >server IP  指明使用哪個DNS server進行查詢
               >set q=RR_type  指明查詢的資源記錄類型
               >NAME  要查詢的名稱

管理:
# rndc named服務控制命令:start|stop|reload|status    狀態|flush    清空緩存





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章