天天看點

DNS基礎配置+執行個體

概述:

任何主機要想在網絡上通信都要借助IP位址來實作,IP位址是以數字的形式出現,如:202.202.96.39,但是人們使用網絡時難于記憶這樣的數字,這給網絡的發展帶來了不便,後來人們想出了一個辦法:用具有實際意義的名字來代替IP位址,這就與網絡通信相沖突了?必須要設計出一種能在名字與IP位址互相轉換的機制,DNS(域名解析系統)就是在這樣的一個需求環境下出現的。當我們在浏覽器位址欄裡輸入

www.wudionline.com時,它會主動查詢DNS伺服器索要www.wudionline.com的IP位址,然後根據傳回的IP位址找尋找相應的網頁,再把浏覽結果回傳給用戶端浏覽器。

DNS(Domain Name System)域名系統将主機名解析成IP位址使用了一個層次結構的分布式資料庫系統,資料庫層次性允許将域名空間劃分成獨立的管理區域,這樣各域名伺服器可以實作獨立的管理,它是以點分的形式出現,通常劃分時按照位址域和通用域劃分,如:cn代表中國、tw代表台灣、hk代表香港、com代表商業機構、edu代表教育機構、org代表非利組織等,完整的域名像一模倒挂的樹,由點來分隔,最右邊代表根域(實際上當點出現在最右邊時常常省略掉),從後面起第一個區域名叫頂級域、第二個區域名叫二級域...,協定後第一個名稱叫主機名。如

www.wudionline.com www是主機名,wudionline叫二級域、com叫頂級域

工作原理:

1、用戶端提出請求并将請求發送給本地域名伺服器

2、本地域名伺服器收到請求後,先查詢本地緩存是否有用戶端請求的記錄位址,如果有就直接把查詢結果傳回給用戶端

3、如果本地緩存沒有相應的記錄,則本地伺服器直接把請求發送給根域名伺服器

4、根域名伺服器根據查詢的記錄傳回一個所查詢域(子域)的IP位址,直到查詢到該域伺服器

5、該域伺服器根據請求的主機名傳回該主機對應的IP位址

6、本地域名伺服器收到傳回的IP位址後将其存入本地緩存中,備下次使用不用再重複上述過程

7、把結果傳回給用戶端

常用的域名伺服器軟體為BIND(Berkeley Internet Name Domain),一般分為三種類型的伺服器:唯緩沖伺服器(caching-forward)、主域名伺服器(server)、輔助域名伺服器(second server)

唯緩存伺服器:唯緩存伺服器有一塊緩存空間用來緩存DNS的對應記錄,當接收到請後先是檢視自己的緩存空間是否有對應的記錄,如果有就直接傳回,如果沒有就轉發到指定的伺服器查詢,自己就相當于一台DNS用戶端,每次都将查詢的結果保留一份到緩存空間裡,以便下次不用再重複查詢,适當設定唯緩存伺服器可以減少網絡的負擔和提高通路速度(唯緩存伺服器不具有權威性)

主域名伺服器:主域名伺服器負責查詢本區域域名解析服務(它是最權威的伺服器)

輔助域名伺服器:輔助域名伺服器負責本區域主域伺服器的備份工作,當主域名伺服器遇到故障時輔助伺服器可以代替主域伺服器工作

NDS在Linux下的守護程序名稱叫named,它開放tcp、udp53端口,如果開啟了防火牆就要允許tcp、udp53端口,開啟端口方法:

iptables -A FORWARD --dport 53 -j ACCEPT

安裝DNS的封包件:

bind-9.3.3-7.el5 主程式檔案

ypbind-1.19-7.el5

bind-libs-9.3.3-7.el5

bind-chroot-9.3.3-7.el5 牢籠程式,可以把BIND限制在籠子裡,加強安全

bind-utils-9.3.3-7.el5 所需的單元檔案

bind-sdb-9.3.3-7.el5

caching-nameserver-9.3.3-7.el5

安裝好後所涉及的檔案:

主程式檔案/etc/rc.d/init.d/named

named.conf主配置檔案

named.caching-nameserver.conf

named.ca指明根域名伺服器IP位址

named.local回送檔案

啟動named:

1、service named start

2、/etc/rc.d/init.d/named start

檢視是否啟動成功:

1、service named status 檢視運作狀态

2、netstat -anp |grep named 檢視開啟端口号

開機自動啟動:

chkconfig --level 345 named on 如果要取消開機自啟動把on改成off即可

ntsysv

配置檔案:

配置檔案存放在/etc目錄下,如果安裝了牢籠(chroot)的支援,配置檔案放在/var/named/chroot/etc目錄下,區域檔案(區域資料庫)存放

在/var/named/chroot/var/named目錄下,注意:named配置檔案權限需要加入named組才能正确運作.為友善我們可以直接複制、修改原來配置檔案,不要忘記權限啊:).

cp -p /var/named/chroot/etc/named.caching-nameserver.conf /var/named/chroot/etc/named.conf

打開配置檔案:

cd /var/named/chroot/etc

vi named.conf

options {

        listen-on port 53 { any; }; 監聽端口

        listen-on-v6 port 53 { ::1; }; 在IP_V6上監聽的端口号

        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";

        query-source    port 53; 在ip_V4上查詢端口

        query-source-v6 port 53; 在ip_V6上查詢端口

        allow-query     { 192.168.2.0/24; }; 允許查詢的用戶端,一般企業内部用時,為提高安全性通常指定允許範圍

        version "unsupported on this platform"; 指明DNS版本号,最好别讓有心之人知道具體版本号,為提高安全性

};

logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

view localhost_resolver {

        match-clients      { localhost; };

        match-destinations { localhost; };

        recursion yes;

#       include "/etc/named.rfc1912.zones"; 這個行本來是有,可以注釋掉,加入根域就夠了

zone "." { 指明是根域

type hint;

file "named.ca"; 根域檔案名

zone "wudionline.com" IN { 正向解析檔案

type master; 區域資料庫檔案類型

file "wudionline.com.zone"; 區域資料庫檔案名

allow-update {none;}; 是否允許更新

zone "2.168.192.in-addr.arpa" IN { 反向解析檔案,.in-addr.arpa不要寫錯啊

type master; 類型

file "192.168.2.zone"; 區域資料庫檔案名

這個是主配置檔案,還有兩個區域資料庫檔案,正向區域檔案名:wudionline.com.zone,反向區域解析檔案名:192.168.2.zone

vi /var/named/chroot/var/named/192.168.2.zone

$TTL    86400

@       IN      SOA     localhost. root.localhost.  (

                                      2009053100 ; 同步号

                                      28800      ; 重新整理時間

                                      14400      ; 重試時間

                                      3600000    ; 過期時間

                                      86400 )    ; 最小生存時間

         IN      NS      www.wudionline.com.

12       IN      PTR     wudionline.com.

12       IN      PTR     www.wudionline.com.

12       IN      PTR     ftp.wudionline.com.

12       IN      PTR     mail.wudionline.com.

解釋:

$TTL 後面跟記錄生存時間,是秒為機關

@       IN      SOA     localhost. root.localhost.

@ 相當于本域名

IN定義記錄類型,記錄類型可以有SOA、PTR、A、MX,SOA是起始授權記錄,PTR是反向域名解析、A是正向域名解析、MX是郵件交換記錄

SOA 起始授權記錄,任何區域都需要SOA記錄,且一般列在第一個資源記錄

localhost.是本機完全合格域名,不要忘記後面有個點

root.localhost是管理區域資料檔案的管理郵箱位址,為防止與前面的@混淆,特地把@定義成.(點)

2009053100 ; 同步号,同步主、輔助域名伺服器的編号,輔助伺服器根據編号來确認是否要更新區域資料庫内容

28800      ; 重新整理時間,每隔2880秒同步一次

14400      ; 重試時間,如果同步失敗,則經過14400秒再重試一次

3600000    ; 過期時間,當第一次重試失敗後3600000秒,如果仍無法同步主域伺服器,則放棄

86400 )    ; 最小生存時間,記錄生存時間

IN      NS      www.wudionline.com. 說明本區域由www.wudionline.com這台伺服器負責,後面有點号

12       IN      PTR     wudionline.com. 反向解析位址,指明IP位址為192.168.2.12對應的域名是wudionline.com,注意後面的點号

vi /var/named/chroot/var/named/wudionline.com.zone

@               IN SOA  localhost root (

                IN NS           localhost

wudionline.com. IN A            192.168.2.12

www (也可以寫成www.wudionline.com.)   IN A     192.168.2.12

ftp             IN A            192.168.2.12

wudionline.com. IN MX 5         mail.wudionline.com

mail            IN A            192.168.2.12

同上,IN A記錄說明是正向解析

wudionline.com. IN A            192.168.2.12,這句說明wudionline.com對應的IP位址是192.168.2.12,當用完全合格域名是請不要忘記域

名後面跟一個點号

www             IN A            192.168.2.12當簡化域化域名時隻寫主機名,後面不加點号

還有一種類型:IN CNAME 它是定義别名的寫法,格式如下:

别名        IN    CNAME    完全合格域名(或主機名)

MX郵件記錄:

區域名   IN   MX   郵件記錄優先級   郵件伺服器的完全合格域名

測試:

測試區域檔案的正确性:named-checkzone

測試配置檔案的正确性:named-checkconf

如果沒有問題的話會顯示“OK“字樣

把DNB設定為自己的DNS伺服器位址

vi /etc/resolv.com

nameserver 192.168.2.12  192.168.2.12是DNS伺服器的IP位址

host www.wudionline.com

host ftp.wudionline.com

host -t mx wudionline.com

host 192.168.2.12

nslookup www.wudionline.com

nslookup ftp.wudionline.com

nslookup

set t=mx

wudionline.com

下一篇将介紹執行個體操作

繼續閱讀