天天看點

linux之DNS基礎配置

DNS:domain Name Service  監聽在53/udp, 53/tcp

        C/S架構:S(bind)、C(共享)

        bind:bekerley internet name domain

FQDN:Full Qualified Domain Name完全限定域名

www.magedu.com.: FQDN      

magedu.com:域名      

主機名解析 :把一種名稱轉換為另一種名稱的過程 ,一般指字串和數字之間的轉換。      

解析庫:某種存儲      

        username (主機名)<--> uid(IP) 

某種存儲:      

        文本檔案      

        關系型資料庫      

        LDAP:Lightweight Directory Access Protocol(輕量目錄通路協定),監聽在 389/tcp

解析:根所使用者所提供一種名稱,去查詢解析庫,以得到另一種名稱      

解析的過程為,先讀取hosts檔案中有沒有定義,如果沒有去本地緩存查找,再去權威伺服器緩存查找,最後向根伺服器送出請求,中心伺服器傳回查找路徑資訊,再由權威伺服器發起請求。知道傳回請求IP。

linux之DNS基礎配置

根域:root domain      

一級域:top-level domain      

二級域:公司、組織、個人使用      

主機:www      

遞歸:      

A --> B --> C --> D      

疊代:      

A --> B      

A --> C      

A --> D      

DNS解析過程中:主機向權威DNS伺服器請求是遞歸,權威伺服器請求解析的過程是疊代。 

DNS中的名稱與對應的主機的主機名不要求是一樣的。      

一個名稱可以對應多個IP      

一個IP上也可以多個名稱

一級域:      

組織域:.com, .org, .net, .mil, .edu, .gov, .info, .cc, .me, .tv      

國家域:.cn, .us, .uk, .jp, .tw, .hk, .iq, .ir      

反向域:.in-addr.arpa      

域:domain, 區域:zone

域:每一個域都要有正反向解析檔案,是一個實體概念,域和域之間是互聯的

區域:是一個域的範圍,裡邊包含這個區域的所有主機。      

DNS正向解析:FQDN --> IP      

正向解析庫      

DNS反向解析:IP --> FQDN      

反向解析庫 

區域解析庫:      

資源記錄:rr(resource record)      

有類型的概念:用于此記錄解析的屬性      

SOA: Start Of Authority,主DNS伺服器 起始授權記錄,一個區域檔案隻能有一個;      

NS:Name Server ,從DNS伺服器。      

MX: Mail eXchange, 郵件交換器,MX記錄有優先級屬性(0-99);      

A:FQDN --> IP,專用于正向解析庫      

PTR: IP --> FQDN,專用于反向解析庫      

AAAA:FQDN --> IPv6,專用于正向解析庫      

CNAME: Canonical Name,正式名稱      

解析庫檔案同步的過程:區域傳送 (單方向傳送) zone transfer      

完全區域傳送:axfr      

增量區域傳送: ixfr      

主從伺服器之間解析庫的同步是通過:周期性檢查 + 通知 維護的,查詢基于UDP協定,傳送基于TCP協定。      

資源記錄類型:      

        任何解析庫檔案的第一個記錄的類型必須是SOA      

        格式:name [ttl] IN RRType value(IP位址)      

        name: 區域名稱,通常可以簡寫為@      

        value: 主DNS伺服器的FQDN,也可以目前區域的區域名稱;      

主DNS伺服器配置:

例如:@	 IN SOA ns.magedu.com. admin.magedu.com. ( 
           serial number ;解析庫的版本号,例如2014080401 
           refresh time ;周期性同步的時間間隔 
           retry time ;重試的時間間隔 
           expire time ;過期時長 
           negative answer ttl ;否定答案的統一緩存時長 
            )
           

從DNS伺服器配置:

NS:name server

name: 區域名稱

value: DNS伺服器的FQDN

例如:@ IN NS ns.magedu.com.

        注意:

        如果有多台NS伺服器,每一個都必須有對應的NS記錄;

        對于正向解析檔案來講,每一個NS的FQDN都應該有一個A記錄;

MX:Mail eXchanger

name: 區域名稱

value: 郵件伺服器的FQDN

        例如:

        @ IN MX 10 mail.magedu.com.

        @ IN MX 20 mail2.magedu.com.

        注意:

        如果有多台MX伺服器,每一個都必須有對應的MX記錄;但各MX記錄還有優先級屬性

        對于正向解析檔案來講,每一個NS的FQDN都應該有一個A記錄;

A: Address

        name: FQDN

        value: IP

        例如:

www.magedu.com. IN A 1.1.1.1

www.magedu.com. IN A 1.1.1.2

pop3.magedu.com. IN A 1.1.1.3 

imap.magedu.com. IN A 1.1.1.3 

CNAME: Canonical Name

        name: FQDN

        value: FQDN

        例如:

        www.magedu.com. IN A 1.1.1.5

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

linux之DNS基礎配置

PTR: pointer

        name: 逆向的主機IP位址加字尾in-addr.arpa,例如172.16.100.7/16, 網絡位址為172.16, 主機位址為100.7,其name為7.100.in-addr.arpa.

        value: FQDN

        例如:

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

DNS伺服器的基本配置步奏: 

(1)首先安裝bind程式包。

(2)修改主配置檔案。

        1)定義區域

        /etc/named.conf

options {  
                    全局配置段;  
                    // directory "/var/named";  
                    };  
        zone "ZONE_NAME" IN {  
                    type {master|slave|hint|forward};  
                    file "mageedu.com.zone";  
                    };  
        logging {  
                    日志; 
                    };      
linux之DNS基礎配置

服務腳本:/etc/rc.d/init.d/named

主配置檔案:/etc/named.conf, /etc/named.rfc1912.zones

zone "localhost.localdomain" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};                                              ------------------>解析式解析為/etc/named.conf中定義的IP
zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};                                              ------------------->解析式解析為/etc/named.conf中定義的IP
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};                                             -------------------->ipv6本地位址的反向解析
zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};                                             --------------------->127.0.0.1的反向解析
zone "0.in-addr.arpa" IN {
        type master;
        file "named.empty";
        allow-update { none; };
};                                            ----------------------->空位址的反向解析
zone "aolens.com" IN {
        type master;
        file “/etc/named/aolens.com.zone";    -------->aolens.com.zone檔案存在于directory定義的目錄下/etc/named/
};                                            ------------------------>自定義的解析名      

檢查name.conf檔案有沒有錯誤

name-checkconf

service named configtest

還可以檢查某一塊是否有錯誤;

linux之DNS基礎配置

如果應為随機數不夠而卡在這個步奏,一個是多敲鍵盤,另一個是改變/etc/rc.d/init.d/named檔案中在

linux之DNS基礎配置

service named status

linux之DNS基礎配置

rndc: remote name domain controller 遠端域名控制   監聽在953/TCP端口。

重新載入檔案rndc redoad

區域解析庫檔案:/var/named/zone_name.zone

我們在/etc/named.conf, /etc/named.rfc1912.zones 中配置了aolens.com.zone檔案,那麼便要配置此檔案,沒有建立,命名為aolens.com.zone

linux之DNS基礎配置

并且配置此檔案的屬組和權限

屬組要求為named

權限要求644

linux之DNS基礎配置

檢測配置檔案是否有錯

service named configtest或

named-checkconf檢測完整檔案

named-checkzone "aolens.com" /var/named/aolens.com.zone檢測部分塊

linux之DNS基礎配置

service named reload重新載入    或者    rndc  reload       隻有不改監聽的端口就可以使用reload

linux之DNS基礎配置

第一次ping www.aolens.com 沒有ping通,我們發現是/etc/resolv.conf檔案中IP沒有指向自己,改為aolens.com指向的IP就可以了。

linux之DNS基礎配置

而ping指令測試略顯拙劣,我們bind-utils程式包裡有一下測試工具,常用的就 dig、host、nslookup

linux之DNS基礎配置

而使用這三款工具時/etc/resolv.conf中的IP指向誰都沒問題。

(1)host

host -t RRType NAME [SERVER]

解析出www.aolens.com

linux之DNS基礎配置

檢視aolens.com的DNS伺服器的域名是什麼?

linux之DNS基礎配置

(2)nslookup

nslookup >

server IP

set type={A|SOA|NS|MX|...}

name      例如在此例子中是www.aolens.com

linux之DNS基礎配置

(3)dig

dig -t TYPE name @server 

dig -t A www.aolens.com @192.168.1.159

linux之DNS基礎配置

AXFR完全區域傳送

linux之DNS基礎配置

我們連上網

dig -t A www.baidu.com     下邊便是www.baidu.com的解析過程

linux之DNS基礎配置

dig: 查詢選項

+trace

+notrace

+recurse

+norecurse

反向區域:

區域名稱為逆向網絡位址加.in-addr.arpa做字尾

在主配置檔案:/etc/named.conf, /etc/named.rfc1912.zones

添加

zone "1.168.192.in-addr.arpa." IN {
        type master;
        file "1.168.192.zone";
};      

named-checkconf檢測有無文法錯誤

建立1.168.192.zone檔案在/var/named/

内容:

$TTL 3600 
@ IN SOA ns.aolens.com. admin.aolnes.com. ( 
              2014080401 
              2H 
              10M 
              7D 
              2D ) 
      IN NS ns.aolens.com. 
159   IN PTR ns.aolens.com. 
161   IN PTR www.aolens.com      

named-checkzone "1.168.192.in-addr.arpa" /var/named/1.168.192.zone檢測有無文法錯誤。

service named reload加載

linux之DNS基礎配置

host -t PTR 192.168.1.161 192.168.1.159解析161的主機名

linux之DNS基礎配置

反解成功!!!

轉載于:https://blog.51cto.com/aolens/1536624

繼續閱讀