## 19.6 DNS 服務器的進階設定
其實, DNS 服務器的運作原理與架設方式的變化,真的很高深莫測的!在這里,我們額外的提出一些比較進階的內容給大家參考參考, 例如架設一個合法授權的 DNS 服務器以及利用 rndc 控管 DNS 系統喔!
* * *
### 19.6.1 架設一個合法授權的 DNS 服務器
好啦!現在你應該知道什么是『經上游授權的合法 DNS 服務器』了吧? 沒錯!就是上游的 DNS 服務器將子域的查核權開放給你來設定就對啦!嗯!雖然知道原理,但是那么我要如何來架設一個合法的 DNS 服務器呢?好讓我自己管理自己的 domain!舉例來說,鳥哥的 vbird.idv.tw 就是鳥哥自己管理的哩~底下我們就來談一談,如何向 ISP 申請一個合法授權的 DNS 服務器,或者是合法的主機名啊!
* 1\. 申請一個合法的 domain name ...就是要花錢!
既然是要建立一個合法的 DNS server,自然就要向合法的 ISP 申請授權啰!目前你可以到底下的地方去申請喔!
* [http://www.twnic.net/index3.php](http://www.twnic.net/index3.php)
其實 TWNIC 已經將臺灣地區的一些 domain 授權給各大 ISP 管理了,所以你連接上述的網站之后,可以點選里頭相關的連結到各大 ISP 去注冊!例如鳥哥就在 Hinet 注冊了 vbird.idv.tw 這個網域!現在鳥哥就以 Hinet 的注冊做為說明吧:
1. 進入主畫面:
直接連結到底下的網頁去: [http://domain.hinet.net](http://domain.hinet.net/)
2. 選擇需要的域名,并查詢該網域是否已存在:
因為網域必需是獨一無二的,所以你必需使用該網頁當中提供的查詢功能, 去查詢一下你想要的網域是否已經被注冊了呢?一定要沒有被注冊的網域才可以喔!
3. 逐步進行注冊:
你可以選擇很多種類的領域來注冊,如果想要注冊個人網站,請按下圖所指的 (1) 處,如果想要注冊類似 vbird.tw 這種網域的話,則可以選擇 (2) 所指的那個項目。然后以該網站提供的功能一步一步的往下去進行, 例如以鳥哥的『個人網址』之注冊為例,按下個人網址之后,會出現流程步驟為:

圖 19.6-1、以 Hinet 網站為依據介紹注冊 domain 的方法
請依序一步一步的將他完成,最后你會得到一組賬號密碼,就能夠修改自己的領域啦!
4. 選擇網站代管或架設 DNS 模式:
我們可以直接請 ISP 幫我們設定好 host 對應 IP 就好(最多三部),當然也可以自行設定一下我們所需要的 DNS 服務器啦!如果未來你可能會架設 mail server ,所以還是自行設定 DNS 主機好了!你可以選擇圖 19.6-1 在 (3) 所指的『DNS異動與查詢』項目,會出現下面圖標。記得選擇『DNS』及填寫你的 hostname 與正確的 IP 即可喔!注意: 要填選這個項目,最好你的 IP 是固定制的,浮動制的 IP 不建議用這個選項!

圖 19.6-2、以 Hinet 網站為依據介紹注冊 domain 的方法
* 2\. 以 [DNS 服務器的詳細設定 (19.4)](#DNS_master) 之設定內容來設定你的主機:
如果你已經以 DNS 服務器的方式申請了一個 domain name ,那么你就必須要設定你的 DNS 主機了! 請注意,這個情況之下,你只要設定你的注冊的網域的正解即可! 反解部分則先不要理會,當然,如果你有辦法的話,最好還是請上層的 ISP 幫你設定啰!
* 3\. 測試:
設定一部合法的 DNS 完畢后,建議你可以到這個網站去查詢一下你的設定是否妥當:
* [http://thednsreport.com/](http://thednsreport.com/)
如此一來,你的 DNS 主機上面設定的任何信息,都可以透過 Internet 上面的任何一部主機來查詢到喔!夠棒吧!心動了嗎?趕快去試看看吧! ^_^
* * *
### 19.6.2 LAME Server 的問題
或許你曾經在 /var/log/messages 里面看到類似這樣的訊息:
```
[root@www ~]# more /var/log/messages
1 Oct 5 05:02:30 test named[432]: lame server resolving '68.206.244.205.
in-addr.arpa' (in '206.244.205.in-addr.arpa'?): 205.244.200.3#53
2 Oct 5 05:02:31 test named[432]: lame server resolving '68.206.244.205.
in-addr.arpa' (in '206.244.205.in-addr.arpa'?): 206.105.201.35#53
3 Oct 5 05:02:41 test named[432]: lame server resolving '68.206.244.205.
in-addr.arpa' (in '206.244.205.in-addr.arpa'?): 205.244.112.20#53
```
這是什么東西吶?根據官方提供的文件資料來看 ( 在你的 CentOS 6.x 的系統下,請察看這個檔案『 /usr/share/doc/bind-9.7.0/arm/Bv9ARM.ch06.html 』 ),當我們的 DNS 服務器在向外面的 DNS 系統查詢某些正反解時,可能由于 『對方』 DNS 主機的設定錯誤,導致無法解析到預期的正反解結果,這個時候就會發生所謂的 lame server 的錯誤!
那么這個錯誤會讓我們的 DNS 服務器發生什么嚴重的后果嗎?既然僅是對方的設定錯誤,所以自然就不會影響我們的 DNS 服務器的正常作業了。 只是我們的 DNS 主機在查詢時,會發生無法正確解析的警告訊息而已, 這個訊息雖然不會對我們的 Linux 主機發生什么困擾,不過,對于系統管理員來說, 要天天查詢的 /var/log/messages 檔案竟然有這么多的登錄信息,這是很討厭的一件事!
好了,我們知道 lame server 是對方主機的問題,對我們主機沒有影響,但是卻又不想要讓該訊息出現在我們的登錄檔 /var/log/messages 當中,怎么達到這樣的功能呢?呵呵!就直接利用 BIND 這個軟件所提供的登錄文件參數啊! 動作很簡單,在你的 /etc/named.conf 檔案當中的最底下,加入這個參數即可:
```
# 1\. 修改 /etc/named.conf
[root@www ~]# vim /etc/named.conf
// 加入底下這個參數:
logging {
category lame-servers { null; };
};
# 2\. 重新啟動 bind
[root@www ~]# /etc/init.d/named restart
```
基本上,那個 logging 是主機的登錄文件記錄的一個設定項目,因為我們不要 lame server 的信息, 所以才將他設定為無 (null) ,這樣就改完了!記得重新啟動 named 之后,還是要察看一下 /var/log/messages 喔! 以確定 named 的正確啟動與否!然后,嘿嘿,以后就不會看到 lame server 咯!
* * *
### 19.6.3 利用 RNDC 指令管理 DNS 服務器
不知道你會不會覺得很奇怪,那就是為啥啟動 DNS 后,在 /var/log/messages 老是看到這一句話:
```
command channel listening on 127.0.0.1#953
```
而且在本機端的 port 953 還多了個 named 所啟動的服務,那是啥?那就是所謂的 rndc 了。這個 rndc 是 BIND version 9 以后所提供的功能啦,他可以讓你很輕松的管理你自己的 DNS 服務器喔! 包括可以檢查已經存在 DNS 快取當中的資料、重新更新某個 zone 而不需要重新啟動整個 DNS , 以及檢查 DNS 的狀態與統計資料等等的,挺有趣的!
不過,因為 rndc 可以很深入的管理你的 DNS 服務器,所以當然要進行一些控管啦! 控管的方式是經過 rndc 的設定來建立一支密鑰 (rndc key),并將這支密鑰相關的信息寫入你的 named.conf 配置文件當中,重新啟動 DNS 后,你的 DNS 就能夠藉由 rndc 這個指令來管理啰! 事實上,新版的 distributions 通常已經幫你主動的建立好 rndc key 了,所以你不需要忙碌~ 不過,如果你還是在登錄檔當中發現一些錯誤,例如:
```
couldn't add command channel 127.0.0.1#953: not found
```
那就表示你 DNS 的 rndc key 沒有設定好啦!那要如何設定好?很簡單~只要先建立一把 rndc key ,然后加到 named.conf 當中去即可!你可以使用 bind 提供的指令來進行這樣的工作喔!
```
# 1\. 先建立 rndc key 的相關數據吧!
[root@www ~]# rndc-confgen
# Start of rndc.conf <==底下沒有 # 的第一部份請復制到 /etc/rndc.conf 中
key "rndc-key" {
algorithm hmac-md5;
secret "UUqxyIwui+22CobCYFj5kg==";
};
options {
default-key "rndc-key";
default-server 127.0.0.1;
default-port 953;
};
# End of rndc.conf
# 至于底下的 key 與 controls 部分,則請復制到 named.conf 且解開 # 喔!
# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
# algorithm hmac-md5;
# secret "UUqxyIwui+22CobCYFj5kg==";
# };
#
# controls {
# inet 127.0.0.1 port 953
# allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf
# 請注意,這個 rndc-confgen 是利用隨機數計算出加密的那把 key ,
# 所以每次執行的結果都不一樣。所以上述的數據與你的屏幕會有點不同。
# 2\. 建立 rndc.key 檔案
[root@www ~]# vim /etc/rndc.key
# 在這個檔案當中將原本的數據全部刪除,并將剛剛得到的結果給他貼上去
key "rndc-key" {
algorithm hmac-md5;
secret "UUqxyIwui+22CobCYFj5kg==";
};
# 3\. 修改 named.conf
[root@www ~]# vim /etc/named.conf
# 在某個不被影響的角落建置如下的內容:
key "rndc-key" {
algorithm hmac-md5;
secret "UUqxyIwui+22CobCYFj5kg==";
};
controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { "rndc-key"; };
};
[root@www ~]# /etc/init.d/named restart
```
建立了rndc key 并且啟動 DNS ,同時你的系統也已經有 port 953 之后,我們就可以在本機執行 rndc 這個指令了。這個指令的用法請直接輸入 rndc 來查詢即可:
```
[root@www ~]# rndc
Usage: rndc [-c config] [-s server] [-p port]
[-k key-file ] [-y key] [-V] command
command is one of the following:
reload Reload configuration file and zones.
stats Write server statistics to the statistics file.
dumpdb Dump cache(s) to the dump file (named_dump.db).
flush Flushes all of the server's caches.
status Display status of the server.
# 其他就給他省略啦!請自行輸入這個指令來參考啰!
```
那如何使用呢?我們舉幾個小例子來說明吧!
```
# 范例一:將目前 DNS 服務器的狀態顯示出來
[root@www ~]# rndc status
version: 9.7.0-P2-RedHat-9.7.0-5.P2.el6_0.1
CPUs found: 1
worker threads: 1
number of zones: 27 <==這部 DNS 管理的 zone 數量
debug level: 0 <==是否具有 debug 及 debug 的等級
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF <==是否具有 debug 及 debug 的等級
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running <==是否具有 debug 及 debug 的等級
# 范例二:將目前系統的 DNS 統計數據記錄下來
[root@www ~]# rndc stats
# 此時,預設會在 /var/named/data 內產生新檔案,你可以去查閱:
[root@www ~]# cat /var/named/data/named_stats.txt
+++ Statistics Dump +++ (1312528012)
....(中間省略)....
++ Zone Maintenance Statistics ++
2 IPv4 notifies sent
++ Resolver Statistics ++
....(中間省略)....
++ Cache DB RRsets ++
[View: lan (Cache: lan)]
[View: wan (Cache: wan)]
[View: _bind (Cache: _bind)]
[View: _meta (Cache: _meta)]
++ Socket I/O Statistics ++
5 UDP/IPv4 sockets opened
4 TCP/IPv4 sockets opened
2 UDP/IPv4 sockets closed
1 TCP/IPv4 sockets closed
2 TCP/IPv4 connections accepted
++ Per Zone Query Statistics ++
--- Statistics Dump --- (1312528012)
# 范例三:將目前高速緩存當中的數據記錄下來
[root@www ~]# rndc dumpdb
# 與 stats 類似,會將 cache 的數據放置成為一個檔案,你可以去查閱:
# /var/named/data/cache_dump.db
```
如果你在執行 rndc 指令時老是出現如下錯誤:
```
rndc: connection to remote host closed
This may indicate that the remote server is using an older version of
the command protocol, this host is not authorized to connect,
or the key is invalid.
```
這表示你的 /etc/rndc.key 與 /etc/rndc.conf 內密鑰的編碼不同所致。 請你自行以上述的 rndc-confgen 的方式自行處理你的 rndc key ,并重新啟動 named 即可啊! 用這東西管理,你就不需要每次都重新啟動 named 啰! ^_^
* * *
### 19.6.4 架設動態 DNS 服務器: 讓你成為 ISP 啦!
什么是動態 DNS (Dynamic DNS, DDNS) 主機呢?還記得我們在[第十章](http://linux.vbird.org/linux_server/0270dynamic_dns.php)里面提到, 如果我們本身是以撥接制的 ADSL 連上 Internet 時,我們的 IP 通常是 ISP 隨機提供的,因此每次上網的 IP 都不固定,所以, 我們沒有辦法以上面的 DNS 設定來給予這種連上 Internet 的方法一個適當的主機名。
也因此,如果我們想要利用這種沒有固定 IP 的聯機方法架設網站時,就得要有特殊的管道了~ 其中之一的方法就是利用 Internet 上面已經提供的免費動態 IP 對應主機名的服務! 例如: [http://www.no-ip.org](http://www.no-ip.org/) 。
提供這樣的服務利用的是什么原理呢?基本上, DNS 主機還是得要提供 Internet 相關的 zone 的主機名與 IP 的對應數據才行,所以,DDNS 主機 就必須要提供一個機制,讓客戶端可以透過這個機制來修改他們在 DDNS 主機上面的 zone file 內的資料才行。
那會不會很難啊?不會啊!我們的 BIND 9 就有提供類似的機制啦!那就是利用 update-policy 這個選項,配合認證用的 key 來進行數據文件的更新。簡單的說, 1) 我們的 DDNS 主機先提供 Client 一把 Key (就是認證用的數據, 你可以將他想成是賬號與密碼的概念), 2) Client 端利用這把 Key ,并配合 BIND 9 的 nsupdate 指令, 就可以連上 DDNS 主機,并且修改主機上面的 Zone file 內的對應表了。感覺上很像很簡單喔! 沒錯啊!架設上真的很簡單的~底下我們就來嘗試設定一下喔:
* 1\. DDNS Server 端的設定:
假設我有一個朋友,他使用的 Linux 主機的 IP 是會隨時變動的,但是他想要架設 Web 網站, 所以他向我申請了一個領域名,那就是 web.centos.vbird ,此時我必需要給他一把密鑰, 并且設定我的 named.conf 讓 centos.vbird 這個 zone 能夠接受來自客戶端的數據更新才行!首先來建立這把密鑰吧!
```
[root@www ~]# dnssec-keygen -a [算法] -b [密碼長度] -n [類型] 名稱
選項與參數:
-a :后面接的 [type] 為演算方式的意思,主要有 RSAMD5, RSA, DSA, DH
與 HMAC-MD5 等。建議你可以使用常見的 HMAC-MD5 來演算密碼;
-b :你的密碼長度為多少?通常給予 512 位的 HMAC-MD5;
-n :后面接的則是客戶端能夠更新的類型,主要有底下兩種,建議給 HOST 即可:
ZONE:客戶端可以更新任何標志及整個 ZONE;
HOST:客戶端僅可以針對他的主機名來更新。
[root@www ~]# cd /etc/named
[root@www named]# dnssec-keygen -a HMAC-MD5 -b 512 -n HOST web
Kweb.+157+36124
[root@www named]# ls -l
-rw-------. 1 root root 112 Aug 5 15:22 Kweb.+157+36124.key
-rw-------. 1 root root 229 Aug 5 15:22 Kweb.+157+36124.private
# 上面那把是公鑰,下面那把則是私鑰檔案!
[root@www named]# cat Kweb.+157+36124.key <==看一下公鑰!
web. IN KEY 512 3 157 xZmUo8ozG8f2OSg/cqH8Bqxk59Ho8....3s9IjUxpFB4Q==
# 注意到最右邊的那個密碼長度,等一下我們要復制的僅有那個地方!
```
接下來你必需要:將公鑰的密碼復制到 /etc/named.conf 當中,將私鑰傳給你的 web.centos.vbird 那部主機上!好了,那就開始來修改 named.conf 內的相關設定吧!
```
[root@www ~]# vim /etc/named.conf
// 先在任意地方加入這個 Key 的相關密碼信息!
key "web" {
algorithm hmac-md5;
secret "xZmUo8ozG8f2OSg/cqH8Bqxk59Ho8....3s9IjUxpFB4Q==";
};
// 然后將你原本的 zone 加入底下這一段宣示
zone "centos.vbird" IN {
type master;
file "named.centos.vbird";
allow-transfer { 192.168.100.10; };
update-policy {
grant web name web.centos.vbird. A;
};
};
[root@www ~]# chmod g+w /var/named
[root@www ~]# chown named /var/named/named.centos.vbird
[root@www ~]# /etc/init.d/named restart
[root@www ~]# setsebool -P named_write_master_zones=1
```
注意到上頭的 grant web name web.centos.vbird. A; 那一行, grant 后面接的就是 key 的名稱,也就是說,我這把 web 的 key 在這個 zone (centos.vbird) 里面可以修改主機名 web.centos.vbird 的 A 的標志,亦即是修改主機的 IP 對應啦!語法也就是: grant [key_name] name [hostname] 標簽 也就是說,我的一把 key 其實可以給予多種權限喔!就看你如何規范了。
設定好之后,由于未來客戶端傳來的信息是由我們主機的 named 所寫入, 寫入的目錄在 /var/named/ 當中,所以你必需要修改一下權限喔! 給他重新啟動 DNS,然后觀察一下 /var/log/messages 里面有沒有錯誤即可! 如此一來,DDNS 主機端就設定妥當啰!
* 2\. Client 端的更新:
接下來則是 DDNS Client 端的更新了。首先,你必須要由 Server 端取得剛剛建立的那兩個檔案, 請將剛剛建立的 Kweb.+157+36124.key 及 Kweb.+157+36124.private 利用 SSH 的 sftp 傳送到客戶端, 亦即是那部 web.centos.vbird 主機上頭, 假設你已經將這兩個檔案放置到 /usr/local/ddns 里面去,然后測試看看:
```
[root@web ~]# cd /usr/local/ddns
[root@web ddns]# nsupdate -k Kweb.+157+36124.key
> server 192.168.100.254
> update delete web.centos.vbird <==刪除原有的
> update add web.centos.vbird 600 A 192.168.100.200 <==更新到最新的
> send
> 最后在此按下 [ctrl]+D 即可
```
請注意到『 update add web.centos.vbird 600 A 192.168.100.200 』這行, 他的意義說的是,新增一筆數據, ttl 是 600 ,給予 A 的標簽,對應到 192.168.100.200 的意思~ 至于 nsupdate -k 后面加的則是我們在 Server 端產生的那個 key 檔案!
然后你就會發現到在 DNS 服務器端的 /var/named/ 里面多出一個暫存檔,那就是 named.centos.vbird.jnl 當然,/var/named/named.centos.vbird 就會隨著客戶端的要求而更新數據喔!
由于手動更新好像挺麻煩的,我們就讓 Client 自動更新吧!利用底下這個 script 即可!
```
[root@web ~]# vim /usr/local/ddns/ddns_update.sh
#!/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
export PATH
# 0\. keyin your parameters
basedir="/usr/local/ddns" # 基本工作目錄
keyfile="$basedir"/"Kweb.+157+36124.key" # 將檔名填進去吧!
ttl=600 # 你可以指定 ttl 的時間喔!
outif="eth0" # 對外的聯機接口!
hostname="web.centos.vbird" # 你向 ISP 取得的那個主機名啦!
servername="192.168.100.254" # 就是你的 ISP 啊!
# Get your new IP
newip=`ifconfig "$outif" | grep 'inet addr' | \
awk '{print $2}' | sed -e "s/addr\://"`
checkip=`echo $newip | grep "^[0-9]"`
if [ "$checkip" == "" ]; then
echo "$0: The interface can't connect internet...."
exit 1
fi
# create the temporal file
tmpfile=$basedir/tmp.txt
cd $basedir
echo "server $servername" > $tmpfile
echo "update delete $hostname A " >> $tmpfile
echo "update add $hostname $ttl A $newip" >> $tmpfile
echo "send" >> $tmpfile
# send your IP to server
nsupdate -k $keyfile -v $tmpfile
```
你只要將上述的程序里面,特殊字體的部分給他修改一下,就能夠以 /etc/crontab 的方式在你的系統內自動執行了!這支程序你也可以在底下的連結下載:
* [http://linux.vbird.org/linux_server/0350dns/ddns_update.sh](http://linux.vbird.org/linux_server/0350dns/ddns_update.sh)
利用 BIND 9 所提供的這個服務,我們只要具有一組固定的 IP ,并向 ISP 申請一個合法授權的 domain name, 就可以提供不論是固定或者是非固定的 IP 使用者,一個合法的主機名了! 并且,使用者也可以自行透過 nsupdate 來修改自己的 IP 對應!以讓自己的主機 IP 永遠與主機名保持正確的對應!這對只有撥接制上網的用戶來說,真是方便啊!
* * *
- 鳥哥的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 參考數據與延伸閱讀