推薦-DNS BIND初探

DNS BIND


  • DNS

  • BIND

    • 正向解析

    • 反向解析

    • 從服務器

    • 子域授權

    • 轉發

    • view


DNS

什么是DNS?

DNS是domain name system,域名系統的簡寫,負責實現域名與IP的轉換。

DNS的功能是什么?

DNS能夠將IP地址與域名相互雙向轉換,能夠實現域名訪問。

DNS的歷史:

 1. 初期網絡上的計算機極少,所以通過每臺計算機中自帶的hosts表來進行解析換算。    -- hosts
 2. 隨著發展,網絡上的計算機慢慢的增加,通過與DNS服務器同步更新hosts表來解析。   -- hosts
 3. 計算機增量速度加快,通過發送解析請求給一臺DNS服務器直接獲得回應。                --server
 4. 計算機數量爆炸式增長,將domain根據不同類型不同層分成多份,分工來緩解壓力。        --servers

客戶端順序流程:

查詢本地hosts表 --> 指向的DNS Server域查詢 --> Root根域迭代查詢 --> 每一級域服務器迭代 --> 指向的DNS server查詢到IP --> 返回給客戶端。

DNS的實現方式:

DNS

從根開始將每一個頂級域名都分為單獨的一臺name server來管理,每一個頂級域名又分為多個二級域名,以此類推,每當一個消息請求到達緩存DNS server時,如果無法查詢到就會去詢問根服務器,根服務器會去查詢此地址的top domain,然后返回此地址的top domain服務器地址,之后DNS server又會去詢問top domain服務器,top domain就會返回下一級的服務器地址,直到查詢到此主機所在的域的服務器,返回主機IP。

域名的格式:

FQDN(full qualitied domain name):完全解析域名,是用來標識域的,所以是從根開始的地址。
    N級域名...三級域名.二級域名.頂級域名.     

域名:標識一臺主機。    
    N級域名...三級域名.二級域名.頂級域名

inquire type:

遞歸請求(recursion inquire):經常是在用戶請求服務器的環境下,client直接請求server,直接得到回復。
迭代請求(iteration inquire):查詢DNS,要通過去詢問根服務器,一級一級的向下級域名服務器得到回復,直到得到目標主機IP。

DNS的域類型:

hint:根域服務器資料庫類型,用來表示這個域是一個指向根域服務器的域。
master:服務器主域,標識是一個域的主服務器。
slave:服務器從域,標識是一個域的從服務器。

DNS功能類型:

正向解析:解析域名到IP。
反向解析:解析IP到域名。
轉發:將特定網絡內容或者所有內容轉發給特定DNS服務器解析。
子域授權:授權一個子域。

智能DNS

根據發送請求的客戶端IP,來返回各自不同的IP地址,做到分布式訪問。

boot

BIND

什么是bind?

bind是Berkeley Internet Name Domain的縮寫,是一個DNS服務器軟件。

bind的功能是什么?

bind是目前互聯網上用來架設DNS服務器的主流方案,bind能夠提供雙向解析,轉發,子域授權,view等功能。

bind的文件:

/etc/named.conf        bind的主要配置,區域配置文件,其中不包含在區域中的配置為全局配置。
/var/named/*.zone        區域解析庫文件,其中的配置僅為當前區域有效。

named的一些屬性:

listen-on port 53 { 192.168.1.1; 201.0.0.1;  }; 指定named監聽的端口和IP。
listen-on-v6 port 53 { ::1; }; IPV6監聽設定。
directory   "/var/named"; 指定區域解析庫文件存放目錄。
recursion {yes|no};是否允許去迭代查詢。

allow-query { address_match_list }; 允許查詢本DNS的客戶端地址或列表。
allow-transfer { address_match_list }; 允許從服務器進行區域傳送的地址或列表。
allow-recursion { address_match_list }; 允許遞歸查詢的客戶端地址或列表。
allow-update { address_match_list }; 允許更新本DNS的主機地址,即可以修改,刪除,新增zone。

//  dnssec-enable no;   DNS安全擴展機制,建議關閉或者直接注釋掉。
//  dnssec-validation no;
//  dnssec-lookaside no;
//  bindkeys-file "/etc/named.iscdlv.key";
//  managed-keys-directory "/var/named/dynamic";

區域文件格式:

zone "ZONE_NAME" IN {
type {hint|master|slave|forward};        
file "ZONE_FILE";
};

解析庫文件格式:

解析庫中的類型與其格式:

SOA:起始授權機構
    [ZONE_NAME] IN SOA [ZONE_NAME] [ADMIN_MAIL_ADDRESS] (virson 更新時間 重試時間 過期時間 錯誤緩存時間)
NS:文件服務器
    [ZONE_NAME] IN NS [NAME_SERVER]
A:address
    [NAME_SERVER] IN A [IPADDRESS_IPV4]
AAAA:ipv6 address
    [NAME_SERVER] IN AAAA [IPADDRESS_IPV6]
CNAME:主要名稱
    [CNAME] IN CNAME [NAME_SERVER]
PTR:反向解析
    [IP] IN PTR [DOMAIN NAME]
MX:郵件交換服務器
    [ZONE_NAME] IN MX [MX_NAME_SERVER]

從服務器:

zone "ZONE_NAME" IN {                
type slave;                    指定類型為從服務器;
file "slaves/ZONE_FILE";        由于從服務器會從主服務器直接同步解析庫,所以無需設置,但是還是要將同步文件指向存放到指定目錄下。
};

子域授權

父域解析庫:    
    ops.xiao.com IN NS ns1.ops.xiao.com        指定子域的NS
    ns1.ops.xiao.com IN A [IP_ADDRESS]     指定子域NS的地址。

子域設置為正常的DNS服務器流程即可。

轉發

zone "ZONE_NAME" IN {
type forward;                指定類型為轉發。
forward {only|first};        指定轉發的方式,only表示將指定范圍內的所有查詢都轉發,first只轉發一次,無回應則自己完成查詢。
forwarders { "acl" };        指定轉發的范圍。
};

view

view [NAME] {                如果在服務器上設定了view,則所有的區域設定都要包含在view中。
match clients { "acl"; };    指定view所負責的范圍。
 zone "name" {};
 ...                            包含的區域。
};

原創文章,作者:Net18_肖肖,如若轉載,請注明出處:http://www.www58058.com/14849

(0)
Net18_肖肖Net18_肖肖
上一篇 2016-04-19 11:36
下一篇 2016-04-19

相關推薦

  • RPM與YUM命令異同詳解

    RPM和YUM都是用來安裝程序的工具,但是它們有太多相似的用法以至于有事很難分清應該哪個那就來一起詳細的了解一下他們的功能及用法,以及他們的相同以及不同之處。 RPM 軟件包管理器功能:安裝,卸載,升級,查詢,校驗,打包,數據庫管理RPM在安裝時不能處理程序之間復雜的依賴關系RPM可以驗證軟件包來源的合法性、完整性。常用選項: -i:表示安裝。(常用:-iv…

    2017-06-18
  • 馬哥教育網絡班21期+第六周課程練習

    1、描述計算機的組成及其功能 答: (1)計算機組成: 輸入(鍵盤)、輸出(顯示器),存儲器(硬盤),運算器,控制器(CPU) (2)實現功能:    1)文件系統    2)內存管理    3)網絡功能    4)進程管理    5)驅動程序 2、按系列羅列…

    Linux干貨 2016-08-15
  • Linux基礎操作-week5

    1、顯示當前系統上root、fedora或user1用戶的默認shell; 方式一: # whoami root # echo $SHELL /bin/bash 方式二: #grep user1 /etc/passwd|awk -F “:” ‘{print $7}’ /bin/bash 2、找出/etc/rc.…

    Linux干貨 2016-11-27
  • Linux基礎目錄名稱命名法則及功用規定

    FHS:文件系統層級結構標準 – Filesystem Hieracry Standard 參考這篇文檔: http://refspecs.linuxfoundation.org/FHS_2.3/fhs-2.3.html  /bin:供所有用戶使用的基本命令文件 /sbin:系統管理使用的工具程序 /boot:引導加載器必須用的靜態文件…

    Linux干貨 2016-08-15
  • 學習宣言

    生命太過于短暫,今天放棄了明天不一定能得到。

    Linux干貨 2016-10-27
  • linux下正則表達式的學習

    linux 下正則表達式用法總結 正則表達式作為一個模板,將某個字符模式與所搜索的字符串進行匹配。簡單的說,正則表示式就是處理字符串的方法。常用來匹配字符的元字符總結如下: Paste_Image.png 有了以上這些元字符原則上可以搜索出任務想要表達的字符,可為了更靈活使用,往往還要搭配一些次數匹配的用法 Paste_Image.png 例如:a&nbsp…

    Linux干貨 2017-06-04

評論列表(1條)

  • stanley
    stanley 2016-04-19 11:39

    恭喜加入免檢一族

欧美性久久久久