DNS服務器

一、  DNS服務器:

  計算機網絡系統只認識IP,但是,使用計算機時是否能記住網絡上所有主機的IP呢?顯然不可能。。。人腦對於數字組成的IP的記憶較差,相比起來,記住相應的主機名就容易的多。。這就發展成爲現在的DNS服務器。

  DNS,Domin Name System 域名系統。是由柏克萊大學發展的BIND軟件所提供的。基本上DNS最主要的工作就是將Host Name與IP相對應。

二、 DNS的查詢過程
  
  1、DNS架構
   
一般最上層域名(Generic TLDs): .com、.org、.gov、.edu、.mil、.net等
國碼或區碼最上層域名(Country Code TLDs):.uk、.jp等
   域名及其意義:
   com        公司、行號、企業
   org        組織、機構
   edu        教育單位
   gov        政府單位
   net        網絡、通信
   mil        軍事單位
全球有13個根DNS服務器:(可以用# dig -t NS . 命令查看)
b.root-servers.net. 603213 IN A 192.228.79.201
c.root-servers.net. 603214 IN A 192.33.4.12
d.root-servers.net. 603214 IN A 128.8.10.90
d.root-servers.net. 603214 IN AAAA 2001:500:2d::d
e.root-servers.net. 603216 IN A 192.203.230.10
f.root-servers.net. 603216 IN A 192.5.5.241
f.root-servers.net. 603216 IN AAAA 2001:500:2f::f
g.root-servers.net. 603218 IN A 192.112.36.4
h.root-servers.net. 603218 IN A 128.63.2.53
h.root-servers.net. 603218 IN AAAA 2001:500:1::803f:235
i.root-servers.net. 603220 IN A 192.36.148.17
i.root-servers.net. 603219 IN AAAA 2001:7fe::53
j.root-servers.net. 603221 IN A 192.58.128.30
j.root-servers.net. 603220 IN AAAA 2001:503:c27::2:30
 
2、DNS的搜索流程
 (1)先查看本身有沒有記錄(查看本機Hosts文件)
 (2)向最頂層(root)查詢
 (3)向第二層查詢
 (4)向下層持續查詢
 (5)記錄暫存內存
本機緩存---本機hosts文件-----DNS服務器緩存-----DNS hosts文件-----DNS 所解析的主機--
3、DNS使用的端口號:
 DNS使用的是網絡查詢,即開通監聽狀態的端口。
 啓動DNS的Named時,會同時啓動TCP和UDP的53號端口。
# netstat -tunlp | grub :53 檢查端口號
4、子域授權
設置方法:
 上層DNS授權,自己設置DNS主機
 直接請求上層DNS主機爲自己設置DNS
三、DNS主機的詳細設置
   詳細設置:
   1、主要配置文件是/etc/named.conf
   2、每個正向解析、反向解析都需要一個文件,而文件名是由/etc/named.conf設置的。其所在路徑是由/etc/named.conf定義的。
  3、目前的BIND程序可以進行chroot,其配置文件爲/etc/sysconfig/named
  4、當DNS查詢時,若本身沒數據庫,則前往root(.)或Forwarders主機查詢。
  5、DNS服務器的架設需要上層DNS的授權纔可以成爲合法的DNS服務器。
  6、判斷named是否啓動成功,一定要查閱/var/log/messages內的信息。
注:沒有向上層ISP註冊合法的域名,就沒有權利架設合法的DNS服務器。
四、簡單的案例
 以RedHat系列主機上DNS的架設爲例:
 1、首先查看本機上是否有DNS服務(若無這項服務並安裝DNS服務):
# lsmod
# yum list all bind*
# yum install bind
 2、/etc/named.conf配置文件
 /etc/named.conf配置文件是整個Linux上DNS的核心,其主要有三部分:
    (1)規範DNS服務器的使用權限,包括能否查詢、forward是否安裝、Master/Slave架構等。
    (2)設置Zone(子域)以及Zone File的所在。
    (3)設置DNS本機管理接口以及其相關的金鑰文件(Key File)。
具體設置爲:
# vim /etc/named.conf
options {
   directory "/var/named";
};
 
zone "." IN  {
   type hint;
   file "named.ca";
};   
   
zone "localhost" IN  {
   type master;
   file "localhost.zone";
};  
 
zone "0.0.127.in-addr.arpr" IN  {
   type master;
   file "named.local";
};  
 
zone "magedu.com" IN {
   type master;
   file "magedu.com.zone";
};   
3、最上層DNS(root)數據庫文件的設置
一般此文件的最上層DNS爲13個根DNS服務器。
# dig -t A NS . > named.ca
4、正向解析數據庫的設置
# vim /var/named/localhost.zone
$TTL 600
@           IN    SOA        localhost.      admin.localhost. (
                             2012030501
                             1H
                             10M
                             1W
                     1D)
                IN     NS        localhost.
localhost. IN     A         172.0.0.1
注:$TTL 用於設置當外部DNS服務器對自己的DNS領域進行查詢時,記錄會放置在對方DNS服務器內幾秒鐘。
    $ORIGIN 重新指定Zone的定義。
    @  這個符號代表Zone的意思。
    . 它代表一個完整的主機名稱(FQDN),而不僅僅是Host Name。
   SOA SOA是Start Of Authority的簡稱,代表Master/Slave相關的認證、授權資料
   DNS自己的領域的名稱解析器: A     正向解析標誌
                               PTR   反向解析標誌
                               NS    後面一定是主機名稱,向後面的主機要求                                      Zone查詢。
                               MX    Mail eXchanger: 郵件交換器
                                    (有優先級 0-99)
                               CNAME 正式名稱。 建立主機別名
   2012030501   版本號
   1H         刷新時間爲一個小時
   10M        重試時間爲10分鐘
   1W         超時時間爲一個月
   1D         否定時間爲一天
4、反向解析配置文件設置
# vim /var/named/named.local
$TTL 600
@     IN    SOA        localhost.      admin.localhost. (
                        2012030501
                        1H
                        10M
                        1W
                 1D)
IN          NS        localhost.
1           IN          PTR       localhost.
5、解析其它主機的配置文件的設置
# vim /var/named/magedu.com.zone
$TTL  600
$ORIGIN magedu.com
@          IN        SOA      ns.magedu.com.    admin.magedu.com.   (
                           2012030501
                              1H
                              10M
                              1W
                      1D)
                      IN       NS NS
                      IN       MX     10    mail
ns                    IN       A            172.16.100.1
mail                  IN       A            172.16.0.1
www                   IN       A            1.1.1.1
ftp                   IN       A            1.1.1.2
pop                   IN       CNAME        mail
www                   IN       A            1.1.1.10
imap                  IN       A            1.1.1.10
6、文件數組修改
把配置文件的數組修改爲named。
# chown :named /etc/named
# chown :named /var/named/named.ca
# chown :named /var/named/localhost.zone
# chown :named /var/named/named.local
# chown :named /var/named/magedu.com.zone
7、DNS的啓動與觀察
測試配置文件是否有語法錯誤:
# service named configtest
DNS服務的啓動:
# service named start
若修改了配置文件,添加DNS功能,可以重新載入數據文件:
# service named reload
五、DNS的查詢指令:host、    nslookup、        dig。
host  -a  列出主機的所有相關信息,包括IP、TTL等。
host  -t  跟解析的標誌。
nsloop  後可以跟上待查詢的主機名稱或IP等參數。
dig   -t  跟解析的標誌。
dig +trace -t A 正向解析時顯示其解析過程 
例如:   
# dig -t localhost
# dig -x 127.0.0.1
# dig -t A www.baidu.com
# dig +trace -t A www.baidu.com
# dig -t A www.magedu.com @172.16.100.1
# host -t A www.magedu.com
# host -t NS magedu.com
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章