- 工信部備案號 滇ICP備05000110號-1
- 滇公安備案 滇53010302000111
- 增值電信業務經營許可證 B1.B2-20181647、滇B1.B2-20190004
- 云南互聯網協會理事單位
- 安全聯盟認證網站身份V標記
- 域名注冊服務機構許可:滇D3-20230001
- 代理域名注冊服務機構:新網數碼
DNS軟件bind
我們說DNS是一種協議,而對于每一種協議的實現都需要程序員開發出遵循這種協議規范的軟件程序來實現,這里要介紹的BIND就是DNS協議的一種開源實現。據統計,使用bind作為DNS服務器軟件的DNS服務器大約占所有DNS服務器的九成。BIND全稱為Berkeley Internet Name Domain,因為當今互聯網上的通信幾乎都必須借助于DNS服務器來解析主機名,得到通信對方的IP地址,而在DNS服務器上最常用的軟件就是bind,所以,bind這款軟件幾乎可以說是當今互聯網上常用的軟件了。
目前bind由ISC.org(Internet Systems Consortium,互聯網系統協會)負責開發與維護。
bind包相關工具
dns服務, 程序包名:bind, 程序名:named
bind #提供dns server程序,以及幾個常用的測試工具。
bind-libs #提供bind和bind-utils包中的程序共同用到的庫文件。
bind-utils #bind客戶端程序集,例如提供host, nslookup, dig等工具。
bind-chroot #類似chroot,把dns服務限制在某個范圍之類. 安全包
bind相關文件
服務腳本:/etc/rc.d/init.d/named
主配置文件:/etc/named.conf,/etc/rfc1912.zones,/etc/rndc.key
解析文件:
/var/named/ZONE_NAME.ZONE
根區域解析庫文件:named.ca.
注意:
一臺物理服務器可同時為多個區域提供解析;
必須要有根區域文件;named.ca
應該有兩個(如果包括ipv6的,應該更多)實現localhost和本地回環地址的解析庫;
rndc: remote name domain controller,默認與bind安裝在同一主機,且只能通過127.0.0.1來連接named進程;提供輔助性的管理功能;監聽端口:953/tcp
bind配置文件說明
主配置文件:
/etc/named.conf
全局配置:option {}
日志配置:logging{}
區域配置配置文件:
/etc/rfc1912.zones
區域配置:本機能夠為哪些zone進行解析,就要定義哪些zone;例如:zone "ZONE_NAME" IN {}
默認CentOS會默認配置回環地址
至于options內的比較重要的子參數簡單敘述如下:
listen-on port 53 { any; };
監聽在當前主機上的哪個網絡接口。默認是監聽在localhost,也就是只有本機才能夠查詢,這顯然是不符合現實需要的,因此可以改為any,表示可以監聽多個網絡接口,any之后要加上分號才算結束。只要監聽在能夠與外網主機進行通信的網絡接口上,就可以為外網主機提供解析服務,當前前提是別人知道自己主機的IP地址。這里也可以監聽在指定的網絡接口上,可以監聽多個接口,每個地址后面都需要加上分號。
directory "/var/named";
這里的意思是如果在/etc/named.conf(包括被包含進來的配置文件)中定義了正反解區域解析庫文件的文件名時,該文件名默認應該存放于哪個目錄下,默認是存放在/var/named/目錄下。需要注意的是,如果安裝了bind-chroot程序包,則這些區域解析庫文件最終會被主動鏈接到/var/named/chroot/var/named/這個目錄。
*dump-file、statistics-file、memstatistics-file
與named這個服務有關的許多統計信息,如果想要輸出為文件的話,默認的文件名就由這三項指定。
allow-query { any; };
這是針對DNS客戶端的設置,表示誰可以向我的DNS服務提出查詢請求的意思。默認設置為localhost,表示僅允許本地查詢,這里修改為any,表示對所有的用戶開放(當然,防火墻必須放行才行)。
allow-transfer { none; };
當架設主-從DNS服務器時,允許哪臺從DNS服務器向我的這臺DNS服務器轉發區域解析庫文件的數據。
recursion yes;
是否允許為DNS客戶端做遞歸查詢。默認為yes.
rndc命令管理dns服務器
我們知道,DNS服務默認的監聽端口是53,當我們在主機上啟動DNS服務之后,用netstat查看監聽端口,顯示如下:
[root@localhost ~]# netstat -tunlp | grep named
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 1387/named
tcp 0 0 192.168.1.120:53 0.0.0.0:* LISTEN 1387/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1387/named
tcp6 0 0 ::1:953 :::* LISTEN 1387/named
tcp6 0 0 ::1:53 :::* LISTEN 1387/named
udp 0 0 192.168.1.120:53 0.0.0.0:* 1387/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 1387/named
udp6 0 0 ::1:53 :::* 1387/named
復制
上面結果顯示,除了能夠看到53號端口之外,還能看到953端口,那是namd在953端口多啟動了一個服務,這就是rndc了。 這個rndc的全稱是Remote Name Domain Controller,它可以幫助用戶更方便地管理DNS服務器,包括可以檢查DNS服務器的狀態與統計信息、重載配置文件及zone或單獨重載某個區域而不需要重新啟動整個DNS服務,還有查看已存在DNS緩存當中的資料等。 rndc服務默認監聽在tcp的953端口,且默認監聽于127.0.0.1地址,因此默認僅允許本地使用。
rndc的常見用法:
rndc reload:在不重新啟動DNS服務的情況下,重新加載配置文件及zone.
rndc reload zone:重新加載指定的zone.
rndc status:查看當前DNS服務器的狀態。
rndc stats:將當前系統的DNS統計數據記錄下來,默認會將數據存儲為一個文件:/var/named/data/named_stats.txt.
rndc dumpdb:將當前DNS高速緩存中的數據記錄下來,與stats類似,默認會將數據存儲為一個文件:/var/named/data/cache_dump.db.、
rndc flush:清空當前DNS服務器上的所有緩存。
售前咨詢
售后咨詢
備案咨詢
二維碼
TOP