1、DNS服務器的百科名片
linux
DNS服務器是計算機域名系統 (Domain Name System 或Domain Name Service) 的縮寫,它是由解析器和域名服務器組成的。域名服務器是指保存有該網絡中全部主機的域名和對應IP地址,並具備將域名轉換爲IP地址功能的服務器。其中域名必須對應一個IP地址,而IP地址不必定有域名。域名系統採用相似目錄樹的等級結構。域名服務器爲客戶機/服務器模式中的服務器方,它主要有兩種形式:主服務器和轉發服務器。將域名映射爲IP地址的過程就稱爲「域名解析」。web
BIND(Berkeley Internet Name Daemon)是現今互聯網上最常使用的DNS服務器軟件,使用BIND做爲服務器軟件的DNS服務器約佔全部DNS服務器的九成。BIND如今由互聯網系統協會(Internet Systems Consortium)負責開發與維護。數據庫
注:DNS服務器經過BIND軟件進行階層式的管理主機名與其對應的IP地址。vim
2、DNS服務器的類型緩存
一、 主DNS服務器(primary name server):它是特定域全部信息的權威性信息源。它從域管理員構造的本地磁盤文件中加載域信息,該文件(區文件)包含着該服務器具備管理權的一部分域結構的最精確信息。主服務器是一種權威性服務器,由於它以絕對的權威去回答對其管轄域的任何查詢。bash
二、 輔助DNS服務器(secondary name server):即從DNS服務器,它可從主服務器中複製一整套域信息。區文件是從主服務器中複製出來的,並做爲本地磁盤文件存儲在輔助服務器中。這種複製稱爲"區文件複製"。在輔助域名服務器中有一個全部域信息的完整拷貝,能夠有權威地回答對該域的查詢。所以,輔助域名服務器也稱做權威性服務器。配置輔助域名服務器不須要生成本地區文件,由於能夠從主服務器中下載該區文件。服務器
三、 高速緩存服務器(caching-only server):可運行域名服務器軟件,可是沒有域名數據庫軟 件。它從某個遠程服務器取得每次域名服務器查詢的結果,一旦取得一個,就將它放在高速緩存中,之後查詢相同的信息時就用它予以回答。高速緩存服務器不是權威性服務器,由於它提供的全部信息都是間接信息。對於高速緩存服務器只須要配置一個高速緩存文件,但最多見的配置還包括一個回送文件,這或許是最多見的域名服務器配置。網絡
3、DNS服務器如何查詢負載均衡
一、DNS服務器利用BIND軟件實現的層次化管理既能處理海量客服端的請求,又能完成局部名稱配。ide
二、DNS的查詢分爲迭代查詢和遞歸查詢。
迭代查詢:須要發出N次請求前N-1次都爲參考答案:
緩存服務器迭代而來的答案保存在公共緩存中,但卻有緩存生存時間的限制,且客服端請求時緩存服務器遞歸給客服端的答案也爲參考答案(非權威答案),只有從原始服務器上能獲得權威答案。
4、域名解析
一、DNS的名稱解析庫: /var/named
二、解析中資源記錄的格式
name [ttl] IN 資源記錄類型 ralue (對應IP值)
三、DNS的解析類型:正向解析,反向解析
正向解析:FQDN--->IP 由主機名查詢其相應的IP;
正向解析庫文件:/var/named/magedulinux.org.zone
反向解析:IP--->FQDN 由IP查詢其相應的主機名;
反向解析庫文件:/var/named/172.16.20.zone
四、經常使用的解析資源記錄類型
A記錄(ipv4) :FQDN(完整主機名)--->ipv4 IP地址 說明一個主機的ip地址;
NS記錄 :Domain(域)--->DNS Server 說明一個域的DNS服務器是誰;
SOA記錄 : Domain ----> Master DNS 說明一個域內主DNS是誰;
CNAME記錄 :FQDN --->FQDN 一個主機名能夠有多個別名;
PTR記錄 :IP --->FQDN;
MX記錄 :Domain--->MailServer MX有優先級(0-99);5、子域受權
一、DNS服務器的子域:父域內劃分出來的小域即爲子域。
二、子域的受權:父域創建子域並將子域的解析工做委派到額外的域名服務器,並在父域的權威DNS服務器中登記相應的委派記錄,創建這個操做的過程稱爲區域委派。
三、子域受權流程
1)在父域中劃分出一個小域並聲明子域;
# vim /var/named/magedulinux.org.zone在此文件中的後兩行添加
dns.magedulinux.org IN NS dep1 dep1 IN A 192.168.20.1
2)建立子域的主配置文件
# vim /etc/named.conf
zone "dep1.magedulinux.org" IN { type master; file "dep1.magedulinux.org.zone"; }; zone "20.168.192.in-addr.arpa" IN { type master; file "192.168.20.zone"; };
3)建立子域的區域文件:建立正向區域文件和反向區域文件;
正向區域文件: /var/named/magedulinux.org.zone
$TTL 3600 @ IN SOA dns.magedulinux.org. admin.magedulinux.org. ( 2013081402 2H 5M 7d 1d ) IN NS dns IN MX 10 mail dns IN A 172.16.20.1 mail IN A 172.16.20.2 www IN A 172.16.20.3 www IN A 172.16.20.4 web IN CNAME www dns IN NS dep1 dep1 IN A 192.168.20.1
4)重啓服務,進行測試。
# vim /etc/resolv.conf
設置nameserver 172.16.20.1
# service named restart # rndc reload # dig -t A dep1.magedulinux.org
6、DNS服務器的相關命令
一、dig 命令
1)正向解析:dig -t 資源記錄類型 名稱 @server-IP
2)反向解析:dig -x IP @server-IP
3)dig +trace 跟蹤解析過程
4)dig -t axfr zone 徹底區域傳送
5) dig -t ixfr zone 增量區域傳送
二、host命令
host -t 資源記錄類型 名稱
三、rndc命令
1) rndc reconfig 只重讀配置文件
2)rndc reload 既重讀配置文件又重讀區域數據解析庫
3) rndc status 查看狀態
4) rndc flush 清除DNS中的緩存
5) rndc querylog 打開查詢日誌
四、allow 命令
allow 命令寫入區域配置文件內 /etc/named.rfc1912.zones
1)allow-transfer { } 容許區域傳送
2)allow-query { } 容許查詢
3)allow-update { } 容許更新
4)allow-recursion { } 容許遞歸查詢
7、DNS中使用acl,view及轉發
一、基於BIND使用acl(訪問控制列表)功能
acl string { address_match_element; ... };
any,none, local, localnet
acl功能定義在區域配置文件的最上方,要先定義才能使用。
二、如何使用轉發將請求轉發出去
1)轉發類型
a/轉發全部對非本機負責解析的區域請求;
定義與 option 段 轉發全局請求
b/僅轉發對特定區域的請求;
定義與 zone 段 只轉發特定的區域請求
2)轉發的前提:接收轉發請求的服務器必須可以爲請求者作遞歸查詢。
forwarders only
forwarders {IP;};
三、如何實現view (視圖化) bind view
1)view要定義多個;
2)先定義區域內的客服端 (internal內網);
# view "myview" { zone "magedulinux.org" IN { type master; file "internal"; }; } # view "VIEW_NAME" { match-client { any;} zone "magedulinux.org" IN { type master; file "external"; }; }
3)再定義任意的客服端 (external外網);
4)定義的規則由內至外的次序不能顛倒。
8、如何使用DNS中的日誌系統
一、日誌系統由channel和categroy組成。
二、categroy:記錄哪一個功能產生的日誌信息,一共內置有15種功能。
三、channel:日誌信息記錄到何處,通常有兩種形式,file和syslog。同時還須要指定日誌級別。
四、使用serverity定義日誌級別
critical > error > warning > notice > info debug (level)
通常狀況下默認爲 info ,也可默認爲dynamic
五、一個categroy產生的日誌能夠發往多個channel;而一個channel只能爲一個categroy記錄日誌。
9、DNS服務器 BIND的配置
BIND的配置流程,
1)主配置文件 /etc/named.conf中的每一個語句都要使用;結尾
2)定義區域
3)定義各區域的全局配置
4)定義視圖
5)定義日誌
一、修改主配置文件
主配置文件 /etc/named.conf的修改,註釋掉以下選項也能夠修改
檢測主配置文件的語法錯誤 named checkconf
啓動named服務,緩存DNS服務器
二、定義新區域
在區域配置文件 /etc/named.rfc1912.zones新建一個區域
檢測區域文件語法錯誤 named-checkzone
三、建立新區域配置文件
在 /var/named 下創建「ZONE_NAME.zone」文件
一般只包含宏定義和資源記錄,並且第一個記錄必須是SOA記錄
1)一個FQDN可對應於多個IP;(負載均衡)
2)多個FQDN可對應一個IP; (一臺主機能夠有多個名稱)
四、確保主配置文件和各區域解析庫文件的權限爲640,屬主爲root,屬組爲named