电脑技术学习

FreeBSD DNS服务器进阶篇

dn001

0.前言 DNS有趣的地方有很多..^^ 如何管理的好,是一件有趣的事情。 1.DNS的資料讀取 named啟動會讀取named.conf設定。 再分別由設定檔中所設定的正反解檔案取的資料。 DNS的設定講求細心、耐心,且需要上層的授權指向。 IP常用分區語法:語法 -> IP 範圍 第1組 0/24 -> 0-255 第1組 第2組 0/25 -> 0-127 128/25 -> 128-255 第1組 第2組 第3組 第4組 0/26 -> 0-63 64/26 -> 64-127 127/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 <range> <lhs> <type> <rhs> $generate 0-127 $ CNAME $.0-25 $GENERATE 表示區段 <range> 以數字(正整數)呈現,通常採用start-stop (表示開始到結束的ip範圍)。 <lhs> LHS 表示左手邊,其值會以$代表。 <type> 目前支援的型態只有PTR、CNAME 和 NS 。 <rhs> 同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 (英)

标签: