## 19.3 DNS 服務器的軟件、種類與 cache only DNS 服務器設定
談完了一些基礎概念后,接下來讓我們來聊一聊,那如何設定好 DNS 服務器啊?這當然就得由軟件安裝談起啦! 在這個小節,我們先不要談 DNS 記錄的正反解咚咚,只講到 hint 這個 . (root) 的 zone,談一談最簡單的僅有快取的 DNS 服務器 (Caching only DNS server) 吧!
* * *
### 19.3.1 架設 DNS 所需要的軟件
終于廢話都說完了!相信你大概也有點累的吧?鳥哥是蠻累的啦,因為手臂、肩頸酸痛的毛病頗嚴重....咦!講這個干嘛? @_@ 好啦,我們終于要來安裝 DNS 所需要的軟件了!還記得前面提過的,我們要使用的 DNS 軟件就是使用柏克萊大學發展出來的 BIND (Berkeley Internet Name Domain, BIND) 這個啦!那么怎么知道你安裝了沒?不就是 rpm 與 yum 嗎?自己查查看。
```
[root@www ~]# rpm -qa | grep '^bind'
bind-libs-9.7.0-5.P2.el6_0.1.x86_64 <==給 bind 與相關指令使用的函式庫
bind-utils-9.7.0-5.P2.el6_0.1.x86_64 <==這個是客戶端搜尋主機名的相關指令
bind-9.7.0-5.P2.el6_0.1.x86_64 <==就是 bind 主程序所需軟件
bind-chroot-9.7.0-5.P2.el6_0.1.x86_64 <==將 bind 主程序關在家里面!
```
上面比較重要的是那個『 bind-chroot 』啦!所謂的 chroot 代表的是『 change to root(根目錄) 』的意思,root 代表的是根目錄。早期的 bind 默認將程序啟動在 /var/named 當中,但是該程序可以在根目錄下的其他目錄到處轉移,因此若 bind 的程序有問題時,則該程序會造成整個系統的危害。為避免這個問題, 所以我們將某個目錄指定為 bind 程序的根目錄,由于已經是根目錄,所以 bind 便不能離開該目錄!所以若該程序被攻擊,了不起也是在某個特定目錄底下搞破壞而已。 CentOS 6.x 默認將 bind 鎖在 /var/named/chroot 目錄中喔!
我們主程序是由 bind, bind-chroot 所提供,那前一小節提到的,每部 DNS 服務器都要有的 . (root) 這個 zone file 在哪里?它也是由 bind 所提供的喔! (CentOS 4.x, 5.x 所提供的 caching-nameserver 軟件并不存在 CentOS 6.x 當中了喔!已經被涵蓋于 bind 軟件內!)
* * *
### 19.3.2 BIND 的默認路徑設定與 chroot
要架設好 BIND 需要什么設定數據呢?基本上有兩個主要的數據要處理:
* BIND 本身的配置文件:主要規范主機的設定、zone file 的所在、權限的設定等;
* 正反解數據庫檔案 (zone file):記錄主機名與 IP 對應的等。
BIND 的配置文件為 /etc/named.conf,在這個檔案里面可以規范 zone file 的完整檔名喔! 也就是說,你的 zone file 其實是由 /etc/named.conf 所指定的,所以 zone file 檔名可以隨便取啦! 只要 /etc/named.conf 內規范為正確即可。一般來說, CentOS 6.x 的默認目錄是這樣的:
* /etc/named.conf :這就是我們的主配置文件啦!
* /etc/sysconfig/named :是否啟動 chroot 及額外的參數,就由這個檔案控制;
* /var/named/ :數據庫檔案默認放置在這個目錄
* /var/run/named :named 這支程序執行時默認放置 pid-file 在此目錄內。
* /etc/sysconfig/named 與 chroot 環境
不過,為了系統的安全性考慮,一般來說目前各主要 distributions 都已經自動的將你的 bind 相關程序給他 chroot 了! 那你如何知道你 chroot 所指定的目錄在哪里呢?其實是記錄在 /etc/sysconfig/named 里面啦!你可以先查閱一下:
```
[root@www ~]# cat /etc/sysconfig/named
ROOTDIR=/var/named/chroot
```
事實上該檔案內較有意義的就只有上面這一行,意思是說:『我要將 named 給他 chroot ,并且變更的根目錄為 /var/named/chroot 』喔!由于根目錄已經被變更到 /var/named/chroot 了,但 bind 的相關程序是需要 /etc, /var/named, /var/run ...等目錄的,所以實際上咱們 bind 的相關程序所需要的所有數據會是在:
* **/var/named/chroot**/etc/named.conf
* **/var/named/chroot**/var/named/zone_file1
* **/var/named/chroot**/var/named/zone_file.....
* **/var/named/chroot**/var/run/named/...
哇!真是好麻煩~不過,不要太擔心!因為新版本的 CentOS 6.x 已經將 chroot 所需要使用到的目錄,透過 mount --bind 的功能進行目錄鏈接了 (參考 /etc/init.d/named 內容),舉例來說,我們需要的 /var/named 在啟動腳本中透過 mount --bind /var/named /var/named/chroot/var/named 進行目錄綁定啰!所以在 CentOS 6.x 當中,你根本無須切換至 /var/named/chroot/ 了!使用正規的目錄即可喔!就是這樣簡單!^_^
**Tips:** 事實上, /etc/sysconfig/named 是由 /etc/init.d/named 啟動時所讀入的,所以你也可以直接修改 /etc/init.d/named 這個 script 哩!

* * *
### 19.3.3 單純的 cache-only DNS 服務器與 forwarding 功能
在下一小節開始介紹正、反解 zone 的數據設定之前,在這個小節當中,我們先來談一個單純修改配置文件,而不必設計 zone file 的環境,那就是不具有自己正反解 zone 的僅進行快取的 DNS 服務器。
* 什么是 cache-only 與 forwarding DNS 服務器呢?
有個只需要 . 這個 zone file 的簡單 DNS 服務器,我們稱這種沒有自己公開的 DNS 數據庫的服務器為 cache-only (僅快取) DNS server!顧名思義,這個 DNS server 只有快取搜尋結果的功能,也就是說,他本身并沒有主機名與 IP 正反解的配置文件,完全是由對外的查詢來提供他的數據源!
那如果連 . 都不想要呢?那就得要指定一個上層 DNS 服務器作為你的 forwarding (轉遞) 目標,將原本自己要往 . 查詢的任務,丟給上層 DNS 服務器去煩惱即可。 如此一來,我們這部具有 forwarding 功能的 DNS 服務器,甚至連 . 都不需要了!因為 . 有記錄在上層 DNS 上頭了嘛!
如同剛剛提到的,cache only 的 DNS 并不存在數據庫 (其實還是存在 . 這個 root 領域的 zone file), 因此不論是誰來查詢數據,這部 DNS 一律開始從自己的快取以及 . 找起,整個流程與[圖 19.1-4](#fig19.1-4) 相同。那如果具有 forwarding 功能呢?果真如此,那即使你的 DNS 具有 . 這個 zone file,這部 DNS 還是會將查詢權『委請』上層 DNS 查詢的,這部 DNS 服務器當場變成客戶端啦!查詢流程會變這樣喔:

圖 19.3-1、具有 forwarding 功能的 DNS 服務器查詢方式
觀察上圖的查詢方向,你會發現到,具有 forwarding 機制時,查詢權會委請上層 DNS 服務器來處理,所以根本也不需要 . 這個位置所在的 zone 啦。一般來說,如果你的環境需要架設一個 cache-only 的 DNS 服務器時,其實可以直接加上 forwarding 的機制,讓查詢權指向上層或者是流量較大的上層 DNS 服務器即可。那既然 cache only 的服務器并沒有數據庫, forwarding 機制甚至不需要 . 的 zone ,那干嘛還得要架設這樣的 DNS 呢?是有理由的啦!
* 什么時候有架設 cache-only DNS 的需求?
在某些公司行號里頭,為了預防員工利用公司的網絡資源作自己的事情,所以都會針對 Internet 的聯機作比較嚴格的限制。當然啦,連 port 53 這個 DNS 會用到的 port 也可能會被擋在防火墻之外的~這個時候, 你可以在『防火墻的那部機器上面,加裝一個 cache-only 的 DNS 服務!』
這是什么意思呢?很簡單啊!就是你自己利用自己的防火墻主機上的 DNS 服務去幫你的 Client 端解譯 hostname <--> IP 啰!因為防火墻主機可以設定放行自己的 DNS 功能,而 Client 端就設定該防火墻 IP 為 DNS 服務器的 IP 即可!哈哈!這樣就可以取得主機名與 IP 的轉譯啦!所以,通常架設 cache only DNS 服務器大都是為了系統安全啰。
* 實際設定 cache-only DNS server
那如何在你的 Linux 主機上架設一個 cache-only 的 DNS 服務器呢?其實真的很簡單的啦!因為不需要設定正反解的 zone (只需要 . 的 zone 支持即可),所以只要設定一個檔案 (就是 named.conf 主配置文件) 即可!真是快樂得不得了吶! 另外,cache-only 只要加上個 forwarders 的設定即可指定 forwarding 的數據,所以底下我們將設定具有 forwarding 的 cache-only DNS 服務器吧!
1. * * *
編輯主要配置文件: /etc/named.conf
雖然我們具有 chroot 的環境,不過由于 CentOS 6.x 已經透過啟動腳本幫我們進行檔案與目錄的掛載鏈接,所以請你直接修改 /etc/named.conf 即可呦!不要再去 /var/named/chroot/etc/named.conf 修改啦! 在這個檔案中,主要是定義跟服務器環境有關的設定,以及各個 zone 的領域及數據庫所在文件名。 在鳥哥的這個案例當中,因為使用了 forwarding 的機制,所以這個 cache-only DNS 服務器并沒有 zone (連 . 都沒有),所以我們只要設定好跟服務器有關的設定即可。設定這個檔案的時候請注意:
* 批注數據是放置在兩條斜線『 // 』后面接的數據
* 每個段落之后都需要以分號『 ; 』來做為結尾!
鳥哥將這個檔案再簡化如下的樣式:
```
[root@www ~]# cp /etc/named.conf /etc/named.conf.raw
[root@www ~]# vim /etc/named.conf
// 在預設的情況下,這個檔案會去讀取 /etc/named.rfc1912.zones 這個領域定義檔
// 所以請記得要修改成底下的樣式啊!
options {
listen-on port 53 { any; }; //可不設定,代表全部接受
directory "/var/named"; //數據庫默認放置的目錄所在
dump-file "/var/named/data/cache_dump.db"; //一些統計信息
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; }; //可不設定,代表全部接受
recursion yes; //將自己視為客戶端的一種查詢模式
forward only; //可暫時不設定
forwarders { //是重點!
168.95.1.1; //先用中華電信的 DNS 當上層
139.175.10.20; //再用 seednet 當上層
};
}; //最終記得要結尾符號!
```
鳥哥將大部分的數據都予以刪除,只將少部分保留的數據加以小部分的修訂而已。在 named.conf 的結構中,與服務器環境有關的是由 options 這個項目內容設定的,因為 options 里面還有很多子參數, 所以就以大括號 { } 包起來啰。至于 options 內的子參數在上面提到的較重要的項目簡單敘述如下:
* listen-on port 53 { any; };
監聽在這部主機系統上面的哪個網絡接口。預設是監聽在 localhost,亦即只有本機可以對 DNS 服務進行查詢,那當然是很不合理啊! 所以這里要將大括號內的數據改寫成 any。記得,因為可以監聽多個接口,因此 any 后面得要加上分號才算結束喔! 另外,這個項目如果忘記寫也沒有關系,因為默認是對整個主機系統的所有接口進行監聽的。
* directory "/var/named";
意思是說,如果此檔案底下有規范到正、反解的 zone file 檔名時,該檔名預設應該放置在哪個目錄底下的意思。預設放置到 /var/named/ 底下。由于 chroot 的關系,最終這些數據庫檔案會被主動鏈接到 /var/named/chroot/var/named/ 這個目錄。
* dump-file, statistics-file, memstatistics-file
與 named 這個服務有關的許多統計信息,如果想要輸出成為檔案的話,預設的檔名就如上所述。鳥哥自己很少看這些統計資料, 所以,這三個設定值寫不寫應該都是沒有關系的。
* allow-query { any; };
這個是針對客戶端的設定,到底誰可以對我的 DNS 服務提出查詢請求的意思。原本的檔案內容預設是針對 localhost 開放而已, 我們這里改成對所有的用戶開放 (當然啦,防火墻也得放行才行)。不過,預設 DNS 就是對所有用戶放行,所以這個設定值也可以不用寫。
* forward only ;
這個設定可以讓你的 DNS 服務器僅進行 forward,即使有 . 這個 zone file 的設定,也不會使用 . 的資料, 只會將查詢權交給上層 DNS 服務器而已,是 cache only DNS 最常見的設定了!
* forwarders { 168.95.1.1; 139.175.10.20; } ;
既然有 forward only,那么到底要對哪部上層 DNS 服務器進行轉遞呢?那就是 forwarders (不要忘記那個 s) 設定值的重要性了!由于擔心上層 DNS 服務器也可能會掛點,因此可以設定多部上層 DNS 服務器喔!每一個 forwarder 服務器的 IP 都需要有『 ; 』來做為結尾!
很簡單吧!至于更多的參數我們會在后續篇幅當中慢慢介紹的。這樣就已經設定完成了最簡單的 cache only DNS server 了!
2. * * *
啟動 named 并觀察服務的埠口
啟動總不會忘記吧?趕快去啟動一下吧!同時啟動完畢之后,觀察一下由 named 所開啟的埠口,看看到底哪些埠口會被 DNS 用到的!
```
# 1\. 啟動一下 DNS 這玩意兒!
[root@www ~]# /etc/init.d/named start
Starting named: [ OK ]
[root@www ~]# chkconfig named on
# 2\. 到底用了多少埠口呢?
[root@www ~]# netstat -utlnp | grep named
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 192.168.100.254:53 0.0.0.0:* LISTEN 3140/named
tcp 0 0 192.168.1.100:53 0.0.0.0:* LISTEN 3140/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 3140/named
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 3140/named
tcp 0 0 ::1:953 :::* LISTEN 3140/named
udp 0 0 192.168.100.254:53 0.0.0.0:* 3140/named
udp 0 0 192.168.1.100:53 0.0.0.0:* 3140/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 3140/named
```
我們知道 DNS 會同時啟用 UDP/TCP 的 port 53,而且是針對所有接口,因此上面的數據并沒有什么特異的部分。不過,怎么會有 port 953 且僅針對本機來監聽呢?其實那是 named 的遠程控制功能,稱為遠程名稱解析服務控制功能 (remote name daemon control, rndc)。預設的情況下,僅有本機可以針對 rndc 來控制。我們會在后續的章節再來探討這個 rndc 啦,目前我們只要知道 UDP/TCP port 53 有啟動即可。
3. * * *
檢查 /var/log/messages 的內容訊息 (極重要!)
named 這個服務的記錄文件就直接給他放置在 /var/log/messages 里面啦,所以來看看里面的幾行登錄信息吧!
```
[root@www ~]# tail -n 30 /var/log/messages | grep named
Aug 4 14:57:09 www named[3140]: starting BIND 9.7.0-P2-RedHat-9.7.0-5.P2.el6_0.1 -u named
-t /var/named/chroot <==說明的是 chroot 在哪個目錄下!
Aug 4 14:57:09 www named[3140]: adjusted limit on open files from 1024 to 1048576
Aug 4 14:57:09 www named[3140]: found 1 CPU, using 1 worker thread
Aug 4 14:57:09 www named[3140]: using up to 4096 sockets
Aug 4 14:57:09 www named[3140]: loading configuration from '/etc/named.conf'
Aug 4 14:57:09 www named[3140]: using default UDP/IPv4 port range: [1024, 65535]
Aug 4 14:57:09 www named[3140]: using default UDP/IPv6 port range: [1024, 65535]
Aug 4 14:57:09 www named[3140]: listening on IPv4 interface lo, 127.0.0.1#53
Aug 4 14:57:09 www named[3140]: listening on IPv4 interface eth0, 192.168.1.100#53
Aug 4 14:57:09 www named[3140]: listening on IPv4 interface eth1, 192.168.100.254#53
Aug 4 14:57:09 www named[3140]: generating session key for dynamic DNS
Aug 4 14:57:09 www named[3140]: command channel listening on 127.0.0.1#953
Aug 4 14:57:09 www named[3140]: command channel listening on ::1#953
Aug 4 14:57:09 www named[3140]: the working directory is not writable
Aug 4 14:57:09 www named[3140]: running
```
上面最重要的是第一行出現的『-t ...』那個項目指出你的 chroot 目錄啰。另外,上面表格中特殊字體的部分,有寫到讀取 /etc/named.conf,代表可以順利的加載 /var/named/etc/named.conf 的意思。如果上面有出現冒號后面接數字 (:10), 那就代表某個檔案內的第十行有問題的意思,屆時再進入處理即可。要注意的是,即使 port 53 有啟動,但有可能 DNS 服務是錯誤的,此時這個登錄檔就顯的非常重要!每次重新啟動 DNS 后,請務必查閱一下這個檔案的內容!!
**Tips:** 如果你在 /var/log/messages 里面一直看到這樣的錯誤信息:
couldn't add command channel 127.0.0.1#953: not found
那表示你還必需要加入 rndc key ,請參考本章后面的 [利用 RNDC 指令管理 DNS 服務器](#rndckey) 的介紹,將他加入你的 named.conf 中!

4. * * *
測試:
如果你的 DNS 伺服器具有連上因特網的功能,那么透過『 dig www.google.com @127.0.0.1 』這個基本指令執行看看, 如果有找到 google 的 IP ,并且輸出數據的最底下顯示『 SERVER: 127.0.0.1#53(127.0.0.1) 』的字樣, 那就代表應該是成功啦!其他更詳細的測試請參考:[19.2 小節的內容](#DNS_resolver)
* 特別說明:Forwarders 的好處與問題分析
關于 forwarder 的好處與壞處,其實有很多種的意見!大致的意見可分為這兩派:
* 利用 Forwarder 的功能來增進效能的理論:
這些朋友們認為,當很多的下層 DNS 服務器都使用 forwarder 時,那么那個被設定為 forwarder 的主機,由于會記錄很多的查詢信息記錄 (請參考[圖 19.1-4](#fig19.1-4) 的說明),因此,對于那些下層的 DNS 服務器而言,查詢速度會增快很多,亦即會節省很多的查詢時間!因為 forwarder 服務器里面有較多的快取記錄了, 所以包括 forwarder 本身,以及所有向這部 forwarder 要求數據的 DNS 服務器,都能夠減少往 . 查詢的機會, 因此速度當然增加。
* 利用 Forwarder 反而會使整體的效能降低:
但是另外一派則持相反的見解!這是因為當主 DNS 本身的『業務量』就很繁忙的時候,那么你的 cache only DNS 服務器還向他要求數據,因為他原本的數據傳輸量就太大了,帶寬方面可能負荷不量,而太多的下層 DNS 還向他要求數據,所以他的查詢速度會變慢!因為查詢速度變慢了,而你的 cache only server 又是向他提出要求的,所以自然兩邊的查詢速度就會同步下降!
很多種說法啦!鳥哥本人也覺得很有趣哩!只是不知道哪一派較正確就是了,不過可以知道的是,如果上層的 DNS 速度很快的話,那么他被設定為 forwarder 時,或許真的可以增加不少效能哩!
* * *
- 鳥哥的Linux私房菜:服務器架設篇 第三版
- 第一部份:架站前的進修專區
- 作者序
- 第一章、架設服務器前的準備工作
- 1.1 前言: Linux 有啥功能
- 1.2 基本架設服務器流程
- 1.3 自我評估是否已經具有架站的能力
- 1.4 本章習題
- 第二章、基礎網絡概念
- 2.1 網絡是個什么玩意兒
- 2.2 TCP/IP 的鏈結層相關協議
- 2.3 TCP/IP 的網絡層相關封包與數據
- 2.4 TCP/IP 的傳輸層相關封包與數據
- 2.5 連上 Internet 前的準備事項
- 2.6 重點回顧:
- 2.7 本章習題
- 2.8 參考數據與延伸閱讀
- 第三章、局域網絡架構簡介
- 3.1 局域網絡的聯機
- 3.2 本書使用的內部聯機網絡參數與通訊協議
- 第四章、連上 Internet
- 4.1 Linux 連上 Internet 前的注意事項
- 4.2 連上 Internet 的設定方法
- 4.3 無線網絡--以筆記本電腦為例
- 4.4 常見問題說明
- 4.5 重點回顧
- 4.6 本章習題
- 4.7 參考數據與延伸閱讀
- 第五章、 Linux 常用網絡指令
- 5.1 網絡參數設定使用的指令
- 5.2 網絡偵錯與觀察指令
- 5.3 遠程聯機指令與實時通訊軟件
- 5.4 文字接口網頁瀏覽
- 5.5 封包擷取功能
- 5.6 重點回顧
- 5.7 本章習題
- 5.8 參考數據與延伸閱讀
- 第六章、 Linux 網絡偵錯
- 6.1 無法聯機原因分析
- 6.2 處理流程
- 6.3 本章習題
- 6.4 參考數據與延伸閱讀
- 第二部分:主機的簡易資安防護措施
- 第七章、網絡安全與主機基本防護:限制端口, 網絡升級與 SELinux
- 7.1 網絡封包聯機進入主機的流程
- 7.2 網絡自動升級軟件
- 7.3 限制聯機埠口 (port)
- 7.4 SELinux 管理原則
- 7.5 被攻擊后的主機修復工作
- 7.6 重點回顧
- 7.7 課后練習
- 7.8 參考數據與延伸閱讀
- 第八章、路由觀念與路由器設定
- 8.1 路由
- 8.2 路由器架設
- 8.3 動態路由器架設:quagga (zebra + ripd)
- 8.4 特殊狀況:路由器兩邊界面是同一個 IP 網段: ARP Proxy
- 8.5 重點回顧
- 8.6 本章習題
- 8.7 參考數據與延伸閱讀
- 第九章、防火墻與 NAT 服務器
- 9.1 認識防火墻
- 9.2 TCP Wrappers
- 9.3 Linux 的封包過濾軟件:iptables
- 9.4 單機防火墻的一個實例
- 9.5 NAT 服務器的設定
- 9.6 重點回顧
- 9.7 本章習題
- 9.8 參考數據與延伸閱讀
- 第十章、申請合法的主機名
- 10.1 為何需要主機名
- 10.2 注冊一個合法的主機名
- 10.3 重點回顧
- 10.4 本章習題
- 10.5 參考數據與延伸閱讀
- 第三部分:局域網絡內常見的服務器架設
- 第十一章、遠程聯機服務器SSH / XDMCP / VNC / RDP
- 11.1 遠程聯機服務器
- 11.2 文字接口聯機服務器: SSH 服務器
- 11.3 最原始圖形接口: Xdmcp 服務的啟用
- 11.4 華麗的圖形接口: VNC 服務器
- 11.5 仿真的遠程桌面系統: XRDP 服務器
- 11.6 SSH 服務器的進階應用
- 11.7 重點回顧
- 11.8 本章習題
- 11.9 參考數據與延伸閱讀
- 第十二章、網絡參數控管者: DHCP 服務器
- 12.1 DHCP 運作的原理
- 12.2 DHCP 服務器端的設定
- 12.3 DHCP 客戶端的設定
- 12.4 DHCP 服務器端進階觀察與使用
- 12.5 重點回顧
- 12.6 本章習題
- 12.7 參考數據與延伸閱讀
- 第十三章、文件服務器之一:NFS 服務器
- 13.1 NFS 的由來與其功能
- 13.2 NFS Server 端的設定
- 13.3 NFS 客戶端的設定
- 13.4 案例演練
- 13.5 重點回顧
- 13.6 本章習題
- 13.7 參考數據與延伸閱讀
- 第十四章、賬號控管: NIS 服務器
- 14.1 NIS 的由來與功能
- 14.2 NIS Server 端的設定
- 14.3 NIS Client 端的設定
- 14.4 NIS 搭配 NFS 的設定在叢集計算機上的應用
- 14.5 重點回顧
- 14.6 本章習題
- 14.7 參考數據與延伸閱讀
- 第十五章、時間服務器: NTP 服務器
- 15.1 關于時區與網絡校時的通訊協議
- 15.2 NTP 服務器的安裝與設定
- 15.3 客戶端的時間更新方式
- 15.4 重點回顧
- 15.5 本章習題
- 15.6 參考數據與延伸閱讀
- 第十六章、文件服務器之二: SAMBA 服務器
- 16.1 什么是 SAMBA
- 16.2 SAMBA 服務器的基礎設定
- 16.3 Samba 客戶端軟件功能
- 16.4 以 PDC 服務器提供賬號管理
- 16.5 服務器簡單維護與管理
- 16.6 重點回顧
- 16.7 本章習題
- 16.8 參考數據與延伸閱讀
- 第十七章、區網控制者: Proxy 服務器
- 17.1 什么是代理服務器 (Proxy)
- 17.2 Proxy 服務器的基礎設定
- 17.3 客戶端的使用與測試
- 17.4 服務器的其他應用設定
- 17.5 重點回顧
- 17.6 本章習題
- 17.7 參考數據與延伸閱讀
- 第十八章、網絡驅動器裝置: iSCSI 服務器
- 18.1 網絡文件系統還是網絡驅動器
- 18.2 iSCSI target 的設定
- 18.3 iSCSI initiator 的設定
- 18.4 重點回顧
- 18.5 本章習題
- 18.6 參考數據與延伸閱讀
- 第四部分:常見因特網服務器架設
- 第十九章、主機名控制者: DNS 服務器
- 19.1 什么是 DNS
- 19.2 Client 端的設定
- 19.3 DNS 服務器的軟件、種類與 cache only DNS 服務器設定
- 19.4 DNS 服務器的詳細設定
- 19.5 協同工作的 DNS: Slave DNS 及子域授權設定
- 19.6 DNS 服務器的進階設定
- 19.7 重點回顧
- 19.8 本章習題
- 19.9 參考數據與延伸閱讀
- 第二十章、WWW 伺服器
- 20.1 WWW 的簡史、資源以及伺服器軟體
- 20.2 WWW (LAMP) 伺服器基本設定
- 20.3 Apache 伺服器的進階設定
- 20.4 登錄檔分析以及 PHP 強化模組
- 20.5 建立連線加密網站 (https) 及防砍站腳本
- 20.6 重點回顧
- 20.7 本章習題
- 20.8 參考資料與延伸閱讀
- 第二十一章、文件服務器之三: FTP 服務器
- 21.1 FTP 的數據鏈路原理
- 21.2 vsftpd 服務器基礎設定
- 21.3 客戶端的圖形接口 FTP 聯機軟件
- 21.4 讓 vsftpd 增加 SSL 的加密功能
- 21.5 重點回顧
- 21.6 本章習題
- 21.7 參考數據與延伸閱讀
- 第二十二章、郵件服務器: Postfix
- 22.1 郵件服務器的功能與運作原理
- 22.2 MTA 服務器: Postfix 基礎設定
- 22.3 MRA 服務器: dovecot 設定
- 22.4 MUA 軟件:客戶端的收發信軟件
- 22.5 郵件服務器的進階設定
- 22.6 重點回顧
- 22.7 本章習題
- 22.8 參考數據與延伸閱讀