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