推薦-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 11:38

相關推薦

  • 內核編譯安裝

    編譯內核前期準備工作 (1)準備好開發環境 (2)獲取目標主機航硬件設備的相關信息 (3)獲取目標主機系統功能的相關信息 (4)獲取內核源代碼包     可以從www.kernel.com上下載 (5)安裝好需要使用的包組     Server Platform&nbs…

    Linux干貨 2016-09-13
  • N22-第三周博客作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 sort -u 在輸出結果中去除重復行 2、取出最后登錄到當前系統的用戶的相關信息。 3、取出當前系統上被用戶當作其默認shell的最多的那個shell。 uniq -c 在輸出行前面加上每行在輸入文件中出現的次數。 sort -rn : -n  …

    Linux干貨 2016-08-29
  • 高級文件系統的管理

    接上一篇文章http://www.www58058.com/40874 移動介質     掛載意味著 使外來的文件系統看起來如同是主目錄樹 的 一部分     訪問前、介質必須被掛載     摘除時,介質必須被卸載   …

    Linux干貨 2016-09-08
  • MapReduce數據流

    Hadoop的核心組件在一起工作時如下圖所示: 圖4.4高層MapReduce工作流水線   MapReduce的輸入一般來自HDFS中的文件,這些文件分布存儲在集群內的節點上。運行一個MapReduce程序會在集群的許多節點甚至所有節點上運行mapping任務,每一個mapping任務都是平等的:mappers沒有特定“標識物”與其關聯。因此,任意的map…

    Linux干貨 2015-05-13
  • 8-8 sed 練習

    8-8 作業 1. 如何設置tab縮進為4個字符? 2. 復制/etc/rc.d/init.d/functions文件至/tmp目錄;替換/tmp/functions文件中的/etc/sysconfig/init為/var/log; 3. 刪除/tmp/functions文件中所有以#開頭,且#后面至少有一個空白字符的行的行首的#號;

    Linux干貨 2016-08-12
  • CentOS6.6上編譯安裝httpd2.4

    簡介    現在apache軟件基金會正在維護的httpd項目有三個版本,分別為Version 2.4,Version 2.2與Version 2.0。    三個版本的區別暫不一一介紹,有興趣的可以去httpd.apache.org了解,下面著重介紹httpd 2.4版本。新特性 &nb…

    Linux干貨 2015-06-26

評論列表(1條)

  • stanley
    stanley 2016-04-19 11:39

    恭喜加入免檢一族

欧美性久久久久