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的實現方式:
從根開始將每一個頂級域名都分為單獨的一臺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地址,做到分布式訪問。
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
恭喜加入免檢一族