dns

DNS:
域名協議 ,工作在應用層
監聽端口 tcp  udp  監聽53 端口
/etc/hosts

   最頂級  .
一級域名  .com
二級域名  ibm   hp
           www
 只有上級知道下級 路徑 

查詢類型: 遞歸查詢  例如 a發數據給b,b沒有但b知道c有,所以就發給c,於是c拿着答案給b,b在給a

        迭代查詢   假如 a發送數據給b,b沒有就告訴a我沒有c有,a就去找b


  把主機名稱轉換成 ip  : 正向解析
  把ip地址轉換成主機名 :反向解析


全球 13個 根節點   日本  澳洲  其餘都在美國


記錄類型:

1,用戶名 轉換ip  :A 記錄
2,ip 轉換用戶名:PTR指針記錄
3,域 的域名服務器是誰的   : NS 
4,域的 郵件服務 MTA   :MX 郵件交換器
5,別名        :  CNANE 正式名稱

DNS 服務器類型:

區域傳送: 完全 axfr
           增量  ixfr  表示只傳輸變化的內容

 
  只要修改主服務器,輔助服務器過來同步過程就叫 區域傳送
    
主的只能有一個 ,輔助服務器不一定非同步主服務器,也可以從別的地方同步


名稱解析:
正向 :需要一個單獨數據庫文件
反向  :也需要一個單獨的數據庫
 反向解析  把網絡地址 反過來寫
區域: 是 物理概念
域 :是邏輯概念


查詢 步驟
1, 找 /etc/hosts
2, 找緩存  dns cade
3,找server 緩存
4,權威解析 authuritiue

注 有緩存的 就是非權威


DNS 軟件
bind: 最新版本 9.8.0


 查看bind軟件包 yum list all bind*
 
 
   最主要 兩段  1,全局選項段 用 options {
                                           如果有字段 ,字段後需加;號
                                  };       要求格式非常嚴格
          對全服務器都生效
            
    只對某個區域生效      
           zone "a.org" {
                          
           };                                 
                             
 數據文件存放:
            /var/named          
 主配置文件 :/etc/named.conf
   
   
建立一個基本的配置文件
    首先 建立  vim /etc/named.conf
    options {
                   directory "/var/named";   用於定義工作目錄的
    };            
                                    定義區域  需要三個區域
     zone "." IN {            定義根區域
                    type hint;     類型   固定的
                    file "namecd.ca"   named.ca 隨便起的名
     };
          
     zone "localhost" IN {                注 正向
                     type master;      類型
                    file "localhost.zone";   注 localhost.zone 需要建立
     };                                                  以下有介紹
                                             
      zone "0.0.127.in-addr.arpa" IN {            注 反向的
                               type master
                               file "named.local";
      };
                                    
查詢 13個根節點
 dig -t NS
   
  前提是能上網               
 把查詢的結果保存在 named.ca 
dig -t NS . @a.root-servers.net > /var/named/named.ca
在named 下  看一下 cat named.ca


接下來該建第二個文件
vim localhost.zone

第一 ,宏定義  $TTL 86400 記錄生存86400
第二 , 解析記錄  name [ttl] IN 記錄類型 value
             例 格式  www.a.org  86400  IN A 1.1.1.1

第一條記錄: 類型爲 SOA ,對於一個文件來講,SOA通常只能有一個。

 編輯 vim localhost.zone
$TTL 86400                            
@   600   IN   SOA   localhost. admin.localhost.(     :@表示特殊意義就表示localhost.
                                 2011081601 數據版本號 不能超過 10位
                                  1H        每1小時來檢查一次
                                  10k       重試 鏈接服務器  
                                  7D         7天過期時間 ,停止工作
                                  1D )      否定回答    
          IN    NS               localhost.    注localhost 隨便起的名          
localhost. IN    A               127.0.0.1     本機地址   
                                          解析的就是本機到本機
                                          所以用的是本機地址


注 :數據版本號 就是主服務器 號比輔助服務器號大, 輔助服務器就要去同步


該建第三個了   反向
cp localhost.zone named.local

編輯  vim named.local
在最後改爲
1        IN      PRT          localhost   對應固定格式
 
注 :1 表示 前邊寫過 0.0.127 ,在這裏只需添加1就 ok了

檢查以下語法:
named-checkconf

named-chechkzone "localhost" /var/named/localhost.zone


沒問題 就 開始啓動服務
    service named start
    
查看53 端口
netstat -tunl | grep :53

可以當做緩存服務器來用了


在這裏做一下驗證:
 
 把服務器指向自己
 編輯一下客戶端
vim /etc/resolv.conf

nameserver 127.0.0.1  指向自己
  
  dig -t A www.baidu.com   只是例子

緩存服務器 建好了

 

 

解析一個域的所有相關聯的記錄
做正向 反向 解析
編輯 vim /etc/named.conf

  添加個區域
  
  zone "a.org" IN {
             type master;
             file "named.local";
  };            
               
   先做正向解析的 
 cd /var/named/
 
 vim a.org.zone
 
$TTL 1200
@    IN   SOA   nsl.a.org   admin.aorg. (
                              2011081601
                              1H
                              10M
                              7D
                              1D
           IN                 NS   ns1.a.org
           IN                 NS   ns2.a.org   輔助的
           IN                 MX   mail.a.org  郵件服務             
ns1.a.org.  IN                 A  172.17.100.1   注 如果有兩臺郵件服務
ns2.a.org.  IN                 A  172.16.100.2    優先級高的臺收,
mail.a.org. IN                 A  172.16.100.1                                             
www.a.org.  IN                 A   172.16.100.3  
bbs.a.org. IN                 CNAME  www.a.org.
做正向解析的

改屬組 chown :named a.org.zone

 service named relocal
 
 可以用 windows 來測試  
 在運行命令
 輸入 nslookup
   Server 172.16.100.1
    set q=A
    www.a.org
   測試出來 ip地址 
    
在主機上測試:

host -t NS a.org

host -t A bbs.a.org
顯示信息  這是個別名 ,還顯示對應的ip地址


反向查詢:

編輯 vim /etc/named.conf
 
 添加 
zone "16.172.in-addr.arpa" IN {
           type master;
           file "172.16.zone";
};

切換到
cd  /var/named/

vim 172.16.zone

可以 拷貝 cp a.org.zone 172.16.zone在編輯
  再編輯
$TTL 1200
@    IN   SOA   nsl.a.org   admin.aorg. (
                              2011081601
                              1H
                              10M
                              7D
                              1D
           IN                 NS   ns1.a.org
           IN                 NS   ns2.a.org  
1.100      IN                 PTR   ns1.a.org          
2.100      IN                PTR    ns2.a.org  
1.100      IN                 PTR   mail.a.org    
3.100      IN                 PTR  www.a.org                                             
100.100    IN                 PTR   ftp.a.org  

檢查語法

named-checkzone "16.172.in-addr.arpa" /var/named/172.16.zone

重啓
service  named restart

測試 在windows
 輸入 nslookup
 
 server172.16.100.1
 
 set q=PTR
 172.16.100.1
 
顯示信息 name = nsl.a.org

 
在主機上測試:
dig -x 172.16.100.1

反向解析 很關鍵


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