1. 程式人生 > >DNS域名解析服務(正向解析、反向解析)

DNS域名解析服務(正向解析、反向解析)

DNS bind named 域名解析 nslookup

介 紹

Internet發展至今,在網的服務器和個人主機數量龐大,每個用戶通過記憶IP地址訪問網絡資源並不現實了。

目前大家訪問互聯網進行上網瀏覽信息時,正常是通過域名進行訪問(例如:www.baidu.com),而實際上網絡中的計算機之間只能基於IP地址來相互訪問識別對方的身份,而且要想在互聯網中傳輸數據,也必須基於外網的IP地址來完成。這裏就出現了DNS域名系統技術來幫我們簡化此過程,以此來降低用戶訪問網絡資源的門檻。為什麽呢?因為它相對於IP地址,域名更容易被理解並記憶,這樣大家便可以通過域名來訪問互聯網中各項服務了。

簡單來說,就是能夠接受用戶輸入的域名或IP地址,然後自動查找與之匹配的IP地址或域名,即將域名解析為IP地址(正向解析

),或將IP地址解析為域名(反向解析)。這樣我們只需要在瀏覽器中輸入域名就能打開想要訪問的網站了。目前,DNS域名解析技術的正向解析也是我們最常使用的一種工作模式。

層次結構

鑒於互聯網中的域名和IP地址對應關系數據庫太過於龐大,DNS域名解服務器采用了類似目錄樹的層次結構來記錄域名與IP地址之間的對應關系,從而形成了一個分布式的數據庫系統,如下圖。
技術分享圖片

域名後綴一般分為國際域名和國內域名,常見的域名後綴有.com(商業組織)、.org(非盈利組織)、.gov(政府部門)、.net(網絡服務商)、.edu(教研機構)、.pub(公共大眾)、.cn(中國國家頂級域名)等。

三種類型

DNS域名系統技術作為互聯網基礎設施中的重要一環,為了提供不間斷、穩定且快速的域名查詢服務,保證互聯網的正常運轉,提供了以下三種類型的服務器;

  • 主服務器: 在特定區域內具有唯一性,負責維護該區域內的域名與IP地址之間的對應關系;

  • 從服務器: 從主服務器中獲得域名與IP地址的對應關系並進行維護,以防主服務器宕機等情況;

  • 緩存服務器: 通過向其他域名解析服務器查詢獲得域名與IP地址的對應關系,並經常查詢的域名信息保存到服務器本地,以此來提高重復查詢的效率。

主服務器是用於管理域名和IP地址對應關系的真正服務器,從服務器幫助主服務器“打下手”,分散部署在各個國家、省市或地區,以便讓用戶就近查詢呢域名,從而減輕主服務器的負載壓力。緩存服務器不太常用,一般部署在企業內網的網關位置,用於加速用戶的域名查詢請求。

DNS域名解析服務采用了分布式的數據結構來存放海量的“區域數據”信息,在執行用戶發起的域名查詢請求時,具有遞歸查詢叠代查詢兩種方式。所謂的遞歸查詢,是指DNS服務器在收到用戶發起的請求時,必須向用戶返回一個準確的查詢結果。如果DNS服務器本地沒有存儲與之對應的信息,則該服務器需要詢問其他服務器,並將返回的查詢結構提交給用戶。而叠代查詢則是指,DNS服務器在收到用戶發起的請求時,並不直接回復查詢結果,而是告訴另一臺DNS服務器的地址,用戶再向這臺DNS服務器提交請求,這樣依次反復,直到返回查詢結果。

技術分享圖片

實驗環境

  1. rhel6.5操作系統
  2. DNS服務器IP地址:192.168.100.5
  3. rhel6.5的鏡像光盤掛載至/mnt/cdrom/

實驗內容

  1. 正向解析
  2. 反向解析

部署bind服務

  1. 安裝bind軟件包
    rpm -ivh /mnt/cdrom/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm

    2.bind服務程序的主要配置文件

    在bind服務程序中有三個重要的配置文件:

    1. 主配置文件(/etc/named.conf):主要用來定義bind服務程序的運行;
    2. 區域配置文件(/etc/named.rfc1912.zone):用來保存域名和IP地址對應關系的所在位置;
    3. 數據配置文件目錄(/var/named):用來保存域名和IP地址真實的對應關系的數據配置文件。

1. 正向解析

在DNS域名解析服務中,正向解析是指根據域名(主機名)查找到對應的IP地址。

  1. 修改主配置文件
    vim /etc/named.conf

技術分享圖片

  1. 修改區域配置文件
    vim /etc/named.rfc1912.zones

zone "test.com" IN {
type master;
file "test.com.zone";
allow-update { none; };
};

技術分享圖片

  1. 編輯數據配置文件,從/var/named目錄中復制一份正向解析模板文件(test.com.zone),在復制時加上-a參數,保留原始文件的權限等信息
[root@localhost named]# cd /var/named
[root@localhost named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@localhost named]# cp -a named.localhost test.com.zone
  1. 把域名和IP地址的對應數據填寫數據配置文件中並保存
vim test.com.zone

$TTL 1D //生存周期為1天
@ IN SOA test.com. admin.test.com. (
0 ; serial //更新序列號
1D ; refresh //更新時間
1H ; retry //重試延時
1W ; expire //失效時間
3H ) ; minimum //無效解析記錄的緩存時間
NS test.com. // 域名服務器記錄
A 192.168.100.5 // 地址記錄
AAAA ::1
IN MX 5 test.com. //郵箱交換記錄
www IN A 192.168.100.2 //地址記錄(www.test.com.)
mail IN A 192.168.100.3 //地址記錄(mail.test.com.)

  • IN A 8.8.8.8 //以上都沒有解析成功就使用泛域名地址
  1. 開啟named服務並重啟使其生效
chkconfig named on
service named restart
  1. 檢驗解析結果
    註意:需要先將網卡中的DNS地址參數修改為本機IP地址(192.168.100.5),這樣子才可以正常使用本機提供的DNS服務。
    這裏我們通過nslookup命令檢查能否從DNS服務器中查詢到域名與IP地址的解析記錄,進而確定檢測DNS服務器是否已經正常為用戶提供服務。

技術分享圖片

2.反向解析

在DNS域名解析服務中,反向解析的作用是將用戶提交的IP地址解析為對應的域名信息,它一般用於對某個IP地址上綁定的所有域名進行整體屏蔽,屏蔽由某些域名發送的垃圾郵件。也可以判斷某虛擬主機上運行了多少個網站。

  1. 編輯區域配置文件
vim /etc/named.rfc1912.zones

zone "100.168.192.in-addr.arpa" IN {
type master;
file "test.com.arpa";
allow-update { none; };
};

技術分享圖片

  1. 編輯數據配置文件,從/var/named目錄中復制一份反向解析模板文件(test.com.arpa),在復制時加上-a參數,保留原始文件的權限等信息
[root@localhost ~]# cd /var/named
[root@localhost named]# ls
data     named.ca     named.localhost  slaves         test.com.zone
dynamic  named.empty  named.loopback   test.com.arpa
[root@localhost named]# cp -a named.localhost test.com.arpa
  1. 把IP地址的對應數據填寫數據配置文件中並保存

$TTL 1D
@ IN SOA test.com. admin.test.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.test.com.
A 192.168.100.5
AAAA ::1
ns A PTR ns.test.com.
3 PTR mail.test.com.
2 PTR www.test.com.

  1. 重啟named服務使其生效
service named restart
  1. 檢驗解析結果
    註意:需要先將網卡中的DNS地址參數修改為本機IP地址(192.168.100.5),這樣子才可以正常使用本機提供的DNS服務。
    這裏我們通過nslookup命令檢查能否從DNS服務器中查詢到域名與IP地址的解析記錄,進而確定檢測DNS服務器是否已經正常為用戶提供服務。

技術分享圖片

DNS域名解析服務(正向解析、反向解析)