77范文网 - 专业文章范例文档资料分享平台

LIUNX 鸟哥的架设 DNS教程适合菜鸟从零开始(2)

来源:网络收集 时间:2019-03-16 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

要注意的是,不論是 cache-only 還是 forwarding DNS 主機,他們本身都沒有管理 zone (那個 root DNS 例外) 的設定檔, 所以說,基本上這兩個 DNS 主機只是作為一個中間傳遞資料的角色罷了!那麼為什麼要架設這樣的一個 DNS 主機呢?閒閒沒事幹?當然不是!這是有原因的啦!底下說給您聽囉! ? 什麼時候使用 cache-only DNS? 在某些公司行號裡頭,為了預防員工利用公司的網路資源作自己的事情,所以都會針對 Internet 的連線作比較嚴格的限制。當然啦,連 port 53 這個 DNS 會用到的 port 也可能會被擋在防火牆之外的~這個時候, 您可以在『防火牆的那部機器上面,加裝一個 cache-only 的 DNS 服務!』這是什麼意思呢?很簡單啊!就是您自己利用自己的 防火牆主機上的 DNS 服務去幫您的 Client 端解譯 hostname <--> IP 囉!因為防火牆主機 可以設定放行自己的 DNS 功能,而 Client 端就設定該防火牆 IP 為 DNS 主機的 IP 即可! 哈哈!這樣就可以取得主機名稱與 IP 的轉譯啦!

那如何在你的 Linux 主機上架設一個 cache-only 的 DNS 主機呢? 其實真的很簡單的啦!因為不需要設定正反解的 Zone ,所以只要設定一個檔案 (就是 named.conf) 即可!真是快樂得不得了吶! 另外,Cache-only 只要加上個 Forwarders 的設定即可指定 Forwarding 的資料, 所以底下我們將設定具有 Forwarding 的 cache-only DNS 伺服器吧!

1. 編輯主要設定檔 /etc/named.conf 在這個檔案中,主要是定義跟主機有關的事項,以及各個 Zone 的代表含意與檔案,在鳥哥的這個案例當中, 因為使用了 forward 的機制,所以鳥哥的這個 cache-only DNS 伺服器並沒有 Zone ,所以我們只要設定好跟主機有關的設定即可。設定這個檔案的時候請注意:

註解資料是以兩條斜線『 // 』來作設定的! o 每個段落之後都需要以『 ; 』來做為結尾!

o

那麼您可以這樣設定這個檔案啦!

[root@linux ~]# vi /etc/named.conf // 雖然 CentOS 將這個檔案放置到 /var/named/chroot/etc 當中, // 不過他很好心的幫我們作了個連結,所以你還是可以直接編輯這個檔案啦! options { directory \ dump-file \ statistics-file \ pid-file \ forward only; //只允許 forward! forwarders { 168.95.1.1; //我這裡使用 hinet 的 DNS ! 139.175.10.20; //這個是 seednet 的 DNS ! }; }; include \鳥哥在上頭的設定當中含有 pid-file 的設定,所以得要特別注意了!因為 pid-file 所在的目錄下,也就是那個 /var/run/named 目錄,我的 bind 執行檔程序的擁有人 (一般應該是 named 這個使用者) 必須要 能夠寫入!也就是說, /var/run/named 的 owner 必須 是 named 這個 user 才行喔!但由於我們有使用 chroot , 因此實際的目錄會是 /var/named/chroot/var/run/named 喔!所以你還得要這樣確認: [root@linux ~]# ls -ald /var/named/chroot/var/run/named drwxrwx--- 2 named named 4096 Oct 12 11:48 /var/named/chroot/var/run/named 我們僅動用到 option 這個參數而已,裡面的設定值意義為:

pid-file

指的是每一個 services 記錄自己的 PID (Process ID) 的檔案囉!這個檔案通常用在重新啟動或者是 reload 整個 services 最常被使用到的!因為可以使用 kill -1 PID 來重新啟動啊!嗄!忘記什麼是 PID ?趕快拿出基礎篇複習一下! o forwarders

(不要忘記那個 s 喔!)就是要設定往前尋找的那個『合法』的 DNS 囉!每一個 forward 的主機之 IP 都需要有『 ; 』來做為結尾! o forward only

這個設定可以讓您的 DNS 主機僅進行 forward 而已!是 Cache-Only 主機最常見的設定了!

o

很簡單吧!至於更多的參數我們會在後續篇幅當中慢慢介紹的。 這樣就已經設定完成了最簡單的 cache-only 的 DNS 主機了!

2. 啟動 named

啟動總不會忘記吧!?趕快去啟動一下吧! [root@linux ~]# /etc/init.d/named start Starting named: [ OK ] 3. 4.

5. 觀察 port 的變化

請特別的注意喔!並不是啟動的時候顯示 OK 你的 DNS 就會成功的!所以,還要趕快的來看一下您的 port 53 有沒有啟動ㄋㄟ~

[root@linux ~]# netstat -utln Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 192.168.1.254:53 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN udp 0 0 192.168.1.254:53 0.0.0.0:* udp 0 0 127.0.0.1:53 0.0.0.0:* 特別需要留意的是,如果沒有指定介面的話,那麼所有的網路介面,包含 lo, eth0, ... 等介面都會被設定為可以接受 domain name 要求的回應介面!此外, 還記得我們在前面提到的,每個介面同時都會提供 TCP 與 UDP 封包的服務喔! 這樣看起來似乎真的有啟動的樣子,不過,我們還是得瞧一瞧設定方面有沒有什麼大問題呢?

6. 檢查 /var/log/messages 的內容訊息

named 這個服務的記錄檔就直接給他放置在 /var/log/messages 裡面啦,所以來看看裡面的幾行吧!

[root@linux ~]# tail -n 15 /var/log/messages | grep named Oct 16 15:08 linux named[76]: starting BIND 9.2.4 -u named -t /var/named/chroot Oct 16 15:08 linux named[76]: using 1 CPU Oct 16 15:08 linux named[76]: loading configuration from '/etc/named.conf' Oct 16 15:08 linux named[76]: listening on IPv4 interface lo, 127.0.0.1#53 Oct 16 15:08 linux named[76]: listening on IPv4 interface eth0, 192.168.1.254#53 Oct 16 15:08 linux named[76]: command channel listening on 127.0.0.1#953 Oct 16 15:08 linux named[76]: command channel listening on ::1#953 Oct 16 15:08 linux named[76]: running Oct 16 15:08 linux named: named startup succeeded Tips:

如果你在 /var/log/messages 裡面一直看到這樣的錯誤資訊:

couldn't add command channel 127.0.0.1#953: not found 那表示你還必需要加入 rndc key ,請參考本章後面的 利用 RNDC 指令管理 DNS 伺服器 的介紹,將他加入你的 named.conf 中!

8. 由上面第一行出現的那個『 -t ... 』可以瞭解到 chroot 的主要目錄啦!你可以使用 man named 去查閱一番。 呵呵!看起來似乎是沒有問題的樣子了!那麼就直接來測試看看吧! 9. 10.測試:

這部分請參考: Client 端的測試項目

? 特別說明:Forwarders 的好處與問題分析

關於 forwarder 的好處與壞處,其實有很多種的意見!大致的意見可分為這兩派:

?

利用 Forwarder 的功能來增進效能的理論:

這些朋友們認為,當很多的下層 DNS 主機都使用 forwarder 時, 那麼那個被設定為 forwarder 的主機,由於會記錄很多的資訊記錄(請參考圖三的說明), 因此,對於那些下層的 DNS 主機而言,會增快很多,亦即會節省很多的查詢時間!基本上,這些基本的流程可以看成如下圖所示:

圖七、Forwarder 參數的運作說明

所有的 cache-only 都設定 forwarder 為『主 DNS 主機』那一部,則由於主 DNS 主機已經記錄了較多的資訊了(每個人都來要求嘛!)所以,當

其他人來要求相同的查詢資料時,則主 DNS 那部機器將會直接由其 cache 當中讀取,因此,查詢效率就變快了!

?

利用 Forwarder 反而會使整體的效能降低:

但是另外一派則持相反的見解!這是因為當主 DNS 本身的『業務量』就很繁忙的時候,那麼您的 cache-only 主機還向他要求資料,那麼因為他的資料傳輸量太大,頻寬方面可能負荷不量,而太多的下層 DNS 又向他要求資料,所以他的查詢速度會變慢!因為查詢速度變慢了,而您的 cache-only 主機又是向他提出要求的,所以自然兩邊的查詢速度就會同步下降!

很多種說法啦!鳥哥本人也覺得很有趣哩!只是不知道哪一派較正確就是

了 >_<\,不過可以知道的是,如果上層的 DNS 速度很快的話,那麼他被設定為 forwarder 時,或許真的可以增加不少效能哩!

DNS 主機的詳細設定:

好了,經過上面的說明後,我們大概知道 DNS 的幾個小細節是這樣的: 1. 主要設定檔是 /etc/named.conf; 2. 每個正解、反解都需要一個檔案,而檔案的檔名是由 /etc/named.conf 所設定;

3. 目前的 bind 程式已經進行 chroot 了,可以參考 /etc/sysconfig/named ; 4. 當 DNS 查詢時,若本身沒有資料庫,則前往 root (.) 或 forwarders 主機查詢;

5. DNS 伺服器的架設需要上層 DNS 的授權才可以成為合法的 DNS 伺服器。 6. named 是否啟動成功務必要查閱 /var/log/messages 內的資訊! 其中第五點很重要,因為我們並沒有向上層 ISP 註冊合法的領域名稱,所以我們當然就沒有權利架設合法的 DNS 伺服器了。 而由於擔心我們的 DNS 伺服器會與外部網際網路環境互相干擾,所以底下鳥哥將主要以一個 vbird.tsai 的領域名稱來架設 DNS 伺服器,如此一來咱們就可以好好的玩一玩自己區域網路內的 DNS 啦!

另外,那個 chroot 是很重要的觀念,如果你是跳到這個地方來看或者是以前使用的是舊版的 bind 的話,那麼請再次閱讀一下前兩小節談到的 bind 的 chroot 部分喔! 底下的文章就不再提及這些基礎觀念啦!

一個簡單的案例說明

假設鳥哥的這部 DNS 伺服器將針對 vbird.tsai 這個領域來設計,並且對應的反解為 192.168.1.0/24 這個網域,另外我也針對本機 localhost 以及 127.0.0.1 這個預設的領域來對應喔!此外, 當然要包含最上層 (root, .) 這

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库LIUNX 鸟哥的架设 DNS教程适合菜鸟从零开始(2)在线全文阅读。

LIUNX 鸟哥的架设 DNS教程适合菜鸟从零开始(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/528455.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: