FreeBSD DNS服务器进阶篇


0.前言DNS有趣的地方有很多..^^如何管理的好,是一件有趣的事情 。1.DNS的資料讀取named啟動會讀取named.conf設定 。再分別由設定檔中所設定的正反解檔案取的資料 。DNS的設定講求細心、耐心,且需要上層的授權指向 。IP常用分區語法:語法 -> IP 範圍第1組0/24 -> 0-255第1組第2組0/25 -> 0-127128/25 -> 128-255第1組第2組第3組第4組0/26 -> 0-6364/26 -> 64-127127/26 -> 127-191 192/26 -> 192-255 2.下轄領域如圖,若今天單位下尚有連線單位 。且連線單位不一定自行負責解析,DNS的設定?分析:1.有三個下轄單位 jes hkes dnes 。2.不完整的class C,jes與hkes共用,而dnes暫時用半個class。3.163.19反解領域由不同單位共用? 苗、竹縣網 。4.是否有新增單位的可能? 當然..5.方便管理與辨讀為原則 。實作:思考:1.為了日後可能的連線單位擴增,將檔案另行建立資料夾集中存放 。zone -> 正解 ; rev -> 反解2.163.19.0.0./16不全部屬於單位所有,但為了設定方便暫時先視為自己所管轄 。3.為了管理方便,所以再行將每一連線單位建立一個檔案存放 。正解領域:1.單位下轄領域:設定檔:// 單位的下轄領域正解設定zone "mlc.edu.tw" {type master;file "zone/zone.mlc"; };----------------->此時named.conf設定檔zone.mlc說明:此部分設定mlc.edu.tw的子領域 。因為內部的機器沒有這個必要另行建置領域,因為會多一層 。如:*.cc.mlc.edu.tw (當然若要加上也無不可)為求網址簡潔,我將單位內的機器直接寫入此檔,好習慣:將需要的檔案照正反解順序完成,以免有所遺漏 。在此則將named.conf設定檔寫好及zone.mlc完成 。2.分割領域:將每一個領域透過NS指向分割出去 。舉凡NS指向出去,對方的named.conf中就必須要有相關的領域設定 。連線單位自行解析:若連線單位自行負責解析,所以就直接指向給該DNS伺服器即可 。記得除了將對方伺服器的FQDN加上,還要指向對方的IP位置 。由本單位負責解析連線單位在設定檔中,新增連線單位領域 。zone.mlc內容如圖示:jes的領域設定因為zone.mlc中設定jes領域由本單位解析(步驟1),所以本機named.conf中需加上其設定內容 。設定檔:// jes 的正解設定zone "jes.mlc.edu.tw" {type master;file "zone/zone.jes"; };----------------->此時named.conf設定檔hkes&dnes的領域設定由於並非由本單位負責解析,所以在zone.mlc設定指向後即可 。如上圖2、3步驟,只要設定對方負責解析伺服器的FQDN及IP位置 。反解領域:// 單位下轄領域反解設定zone "163.19.in-addr.arpa" {type master;file "rev/rev.mlc"; };----------------->此時named.conf設定檔其實反解大可以全部寫在rev.mlc這個檔案,如圖,指是不分層負責的話,資料一多會很難處理:可以看到這樣要進行辨讀不容易 。因為我們下轄許多單位,為方便分層負責:將每一個子領域(*.mlc.edu.tw)都透過NS記錄指向到其dns伺服器 。rev.mlc內容如圖示:說明:透過NS指向將全部的反解指向指往本機 。因為jes與hkes共用一個C,而jes需本機解析;且dnes不滿一個C 。為方便管理,全部指向本機,再依照需求分割 。所以必須再設定檔分別對這三個C進行解析 。// 單位內部的反解設定zone "163.19.163.in-addr.arpa" {type master;file "rev/rev.mlcnet"; };----------------->此時named.conf設定檔// 203.19 的反解設定(jes與hkes共用此class C)zone "203.19.163.in-addr.arpa" {type master;file "rev/rev.20319"; };----------------->此時named.conf設定檔rev.20319內容如圖示:說明:這裡用到了一個特殊的語法$GENERATE語法:$GENERATE $generate0-127$CNAME$.0-25$GENERATE表示區段以數字(正整數)呈現,通常採用start-stop (表示開始到結束的ip範圍) 。LHS 表示左手邊,其值會以$代表 。目前支援的型態只有PTR、CNAME 和 NS。同LHS但是表示右手邊 。代表領域名稱(domain name) 。解說:依據BIND說明文件及RFC 2317 中的說明,$generate 0-127 表示一個區段,代表0、1、2、3 ... 125、126、127 。第三個欄位中的 $,表示的就是上面的這個區段 。但因沒有加上.,會附加上@所代表的領域,也就是.203.19.163.in-addr.arpa. 。所以真正的意思代表:0.203.19.163.in-addr.arpa.藍色的0為可替換數字(在此例中為0到127)CNAME表示別名...第五欄位中的 $,仍代表0到127的任一數字,但是其沒有加上完整的領域所以 $.0-25 的意思: 0.0-25.190.19.163.in-addr-arpa.綜合來說: 0.203.19.163.in-addr.arpa. 有一別名為 0.0-25.203.19.163.in-addr-arpa.透過這一個方式,就多出了0-25.203.19.163.in-addr.arpa.這個一個領域(hkes)相對的jes也多了128-25.203.19.163.in-addr.arpa.的領域 。如此就可以將這兩個領域透過NS記錄分派出去^^ 。hkes反解設定:透過NS記錄指向對方伺服器的FQDN即可,不用再加上IP位置 。因為在正解設定時已經寫入IP 。jes反解設定:由於是本機負責解析,所以將其NS記錄省略,並在named.conf中加設其反解檔 。// jes 的反解設定zone "128-25.203.19.163.in-addr.arpa" {type master;file "rev/rev.jes"; };----------------->此時named.conf設定檔此時的反解設定,就很簡單,直接指向就可以了 。dnes反解設定:由於dnes是單獨使用224.19.163.in-addr.arpa.這個領域,但未來可能有單位共用 。所以仿照先前203.19.163.in-addr.arpa.的方式設定 。// 224.19 的反解設定 (dnes與...共用)zone "224.19.163.in-addr.arpa" {type master;file "rev/rev.22419"; };----------------->此時named.conf設定檔 終於,我們已經將全部的領域依照需求建立完成了 。最後就是進行測試 。有沒有注意到,我們的反解設定檔還有一個問題. 那就是不是全部的ip範圍都屬於我們所有. 這時候可以這樣處理.在反解設定檔中加上那些ip位置的真正解析的來源. 此例為rev.mlc為了管理方便,將設定檔重新整理,此時named.conf設定檔 3.相關資源 再次強調!!O"Reilly出版 BIND&DNS 第四版 (英) ㄜ..有中文版=.=||comp.protocols.tcp-ip.domains Frequently Asked Questions (英)DNS messages for 8.x.x named and named-xfer (英)Home Networking Ask Mr. DNS Questions (英)

推荐阅读