## 11.3 最原始圖形接口: Xdmcp 服務的啟用
考慮一個情況,如果你的 Linux 主機主要是用來作為圖形處理時,而且同時有多人需要用到那個功能, 那么一部 Linux 是否一次僅能提供一個人處理那個軟件呢?嘿嘿!那可不一定喔!因為 Linux 有相當優秀的 X Window System 啊!現在就來談談第一個圖形接口的遠程聯機服務器吧!
* * *
### 11.3.1 X Window 的 Server/Client 架構與各組件
由于我們 Linux 使用的圖形接口是所謂的 X-Window System 的東西,這玩意兒是能夠跨平臺的,目前在 Linux 上頭開發的圖形接口軟件,幾乎都是使用這個 X 的架構來處理,所以啰,你就不能夠不知道 X Window 啦! 我們在基礎篇第三版的二十四章已經講過 [X Window](http://linux.vbird.org/linux_basic/0590xwindow.php) 啦, 因此這里只會作個簡單的介紹,以方便大家來了解為何我們的軟件是這么安裝與設定喔!
X Window System 在運作的過程中,又因控制的數據不同而分為 X Server 與 X Client 兩種程序,雖然說是 X Server/Client , 但是他的作用卻與網絡主機的 Server/Client 架構大異其趣喔~先來說說 X Server/Client 這兩種程序所負責的任務先:
* X Server: 這組程序主要負責的是屏幕畫面的繪制與顯示。 X Server 可以接收來自 X client 的數據,將這些數據繪制呈現為圖面在屏幕上。 此外,我們移動鼠標、點擊數據、由鍵盤輸入數據等等,也會透過 X Server 來傳達到 X Client 端,而由 X Client 來加以運算出應繪制的數據;
* X Client: 這組程序主要負責的是數據的運算。 X Client 在接受到 X Server 傳來的數據后 (例如移動鼠標、點擊 icon 等動作),會經由本身的運算而得到鼠標應該要如何移動、 點擊的結果應該要出現什么樣的數據、鍵盤輸入的結果應該要如何呈現等等,然后將這些結果告知 X Server ,讓他自行去繪制到屏幕上。
**Tips:** 鳥哥常常開玩笑的說, X server 就是畫布,而 X client 就是手拿畫筆的畫家。你得要先有畫布 (管理好所有可顯示的硬件后) 之后畫家的想法 (計算出來的繪圖數據) 才能夠繪制到畫布上!

由于每一支 X client 都是獨立存在的程序,因此在圖形顯示會發生一些迭圖的問題 (想象一下每一個 X client 都是一個很自我的畫家, 每個畫家都不承認對方的存在,都自顧自的在畫布上面作畫,最后的結果會是如何?)。因此,后來就有一組特殊的 X client 在進行管理所有的其他 X client 程序,這個總管的咚咚就是 Window Manager!
* Window Manager (WM):是一組控制所有 X client 的管理程序,并同時提供例如任務欄、 背景桌面、虛擬桌面、窗口大小、窗口移動與重迭顯示等任務。Window manager 主要由一些大型的計劃案所開發而來,常見的有 GNOME, KDE, XFCE 等
既然 X Window System 是 Linux 上面的一組程序,那么它如何啟動的呢?早期的用戶在登入系統后,必須要自己先啟動 X server 程序,然后再啟動個別的 Window manager ,若有其他需求,再啟動其他額外的 X client 就是了。這么麻煩!所以為了簡化啟動個人圖形接口的步驟,后來還有所謂的 Display Manager (DM) 這玩意喔!
* Display Manager (DM):提供使用者登入的畫面以讓用戶可以藉由圖形接口登入。 在使用者登入后,可透過 display manager 的功能去呼叫其他的 Window manager ,讓用戶在圖形接口的登入過程變得更簡單。 由于 DM 也是啟動一個等待輸入賬號密碼的圖形數據,因此 DM 會主動去喚醒一個 X Server 然后在上頭加載等待輸入的畫面就是了。
在目前新釋出的 Linux distributions 中,通常啟動圖形接口讓用戶登入的方式中,都是先執行 Display Manager 程序, 該程序會主動加載一個 X Server 程序,然后再提供一個等待輸入賬號密碼的接口程序,之后再根據用戶的選擇去啟動所需要的 Window Manager 程序,最后就由用戶直接操作 WM 來玩圖形接口啰。
例題:在 CentOS 6.x 當中,若預設為 init 5 的情況下,那么最終啟動圖形接口的是哪一只程序?答:分析 /etc/init/* 當中的檔案,會發現有個檔案的內容是這樣:
```
[root@www ~]# cat /etc/init/prefdm.conf
start on stopped rc RUNLEVEL=5
stop on starting rc RUNLEVEL=[!5]
console output
respawn
respawn limit 10 120
exec /etc/X11/prefdm -nodaemon
```
你可以分析 /etc/X11/prefdm 的內容,就能夠發現其實該行啟動的就是一個 X display manager 程序了喔!
例題:登入 init 5 的 CentOS 6.x 之前,先到 tty1 去查閱一下 X server 是由哪一支程序所喚醒的?答:我們可以透過 pstree 來觀察程序間的相關性喔!同時注意,預設的 CentOS 6.x 的 X server 程序名稱為 Xorg 的哩。
```
[root@www ~]# pstree -p
init(1)-+-NetworkManager(1086)
....(中間省略)....
|-gdm-binary(2642)---gdm-simple-slav(2661)-+-Xorg(2663)
| |-gdm-session-wor(2746)
....(后面省略)....
```
由上述的數據來看,gdm-binary 可以喚醒 Xorg 喔!同理,我們也會知道提供認證的圖形畫面應該是由 gdm-session 所提供的喔!
* X Window System 用在網絡上的方式: XDMCP
當 X server, X client 都在同一部主機上面的時候,你可以很輕松的啟動一個完整的 X Window System。 但是如果你想要透過這個機制在網絡上面啟動 X 呢?此時你得先在客戶端啟動一個 X server 將圖形接口繪圖所需要的硬件裝置配置好, 并且啟動一個 X server 常見的接收埠口 (通常是 port 6000),然后再由服務器端的 X client 取得繪圖數據,再將數據繪制成圖啰。 透過這個機制,你可以在任何一部啟動 X server 登入服務器喔!而且不管你的操作系統是啥呢!意義就像下圖, 如此一來,你就可以取得服務器所提供的圖形接口環境啦!

圖 11.3-1、X server/client 的架構
但是如果你是使用最笨的方法在客戶端自己啟動 X server ,然后在告訴服務器將 X client 程序一個一個的加載回來, 那就太累人了吧!我們之前上面不是提到過可以用 display manager 來管理使用者的登入與啟動 X 嗎?那服務器能不能提供一個類似的服務, 那我們直接透過服務器的 display manager 就能夠提供我們登入的認證與加載自己選擇的 window manager 的話,這樣就太棒了! 能夠達到嗎?當然可以啊!那就是透過 Xdmcp (X display manager control protocol) ([注3](#ps3)) 啦!
Xdmcp 啟動后會在服務器的 udp 177 開始監聽,然后當客戶端的 X server 聯機到服務器的 port 177 之后, 我們的 Xdmcp 就會在客戶端的 X server 放上用戶輸入賬密的圖形接口程序啰!那你就能透過這個 Xdmcp 去加載服務器所提供的類似 Window Manager 的相關 X client 啰!那你就能夠取得圖形接口的遠程聯機服務器哩!贊吧!
那么什么時候會出現多使用者連入服務器取得 X 的情況呢?以鳥哥的例子來說,鳥哥實驗室有一組 Linux 在進行數值模擬, 他輸出的結果是 NetCDF 檔案,我們必須使用 PAVE 這一套軟件去處理這些數據。但是我們有兩三個人同時都會使用到那個功能, 偏偏 Linux 主機是放在機架柜里面的,要我們擠在那個小小的空間前面『站著』操作計算機,可真是討人厭啊~ 這個時候,我們就會架設圖形接口的遠程登錄服務器,讓我們可以『多人同時以圖形接口登入 Linux 主機』來操作我們自己的程序!很棒,不是嗎!
* * *
### 11.3.2 設定 gdm 的 XDMCP 服務
既然是所謂的 Xdmcp 協議,那么是否意味著與 X display manager 有關呢?沒錯啦! Xdmcp 協議是由 DM 程序所提供的。 我們的 CentOS 預設的 DM 為 GNOME 這個計劃所提供的 gdm 哩!因此,你想要啟動 Xdmcp 服務,那就得要針對 gdm 這個程序來設定啰。 這個 gdm 的設定數據都放置在 /etc/gdm/ 目錄下,而我們所要修改的配置文件其實僅是一個 /etc/gdm/custom.conf ([注4](#ps4)) 檔案而已。
**Tips:** X11 提供的 display manager 為 xdm ,而著名的 KDE 與 GNOME 也都有自己的 display manager 管理程序,分別是 kdm 與 gdm 。你可以透過三者中任何一者的 display manager 的配置文件來啟動 xdmcp 這個協定呢~

不過,因為我們安裝的基準是『Basic server』,所以很多圖形接口軟件并沒有被安裝起來。因此,在實作 Xdmcp 之前,我們得先安裝圖形接口才行喔!使用 yum groupinstall 來安裝吧!
```
# 先檢查看看與 X 相關的軟件群組有哪些?
[root@www ~]# yum grouplist
Desktop
Desktop Platform
X Window System
# 這三個算是最重要的項目了!得要安裝起來才行喔!gdm 是在 Destop 中!
[root@www ~]# yum groupinstall "Desktop" "Desktop Platform" \
> "X Window System"
```
上面進行完畢后,現在才能開始搞定 custom.conf 啦!來試玩看看!
```
[root@www ~]# vim /etc/gdm/custom.conf
[security] <==在與資安方面有關的信息,大多指登錄相關事宜
AllowRemoteRoot=yes <==xdmcp 預設不許 root 登入,得用這個項目才能以 root 登入
DisallowTCP=false <==這個項目在允許客戶端使用 TCP 的方式聯機到 xdmcp
[xdmcp] <==就是這個小節的重點之一啰!
Enable=true <==啟動 xdmcp 的最重要項目啰!
# 上述特殊字體的部份就是你得要自己新增的內容啰!
[root@www ~]# init 5
# 上述這個指令會切換到 X 圖形畫面,如果確定要使用 gdm,runlevel 得調整到 5 才好
# 果真如此的話,那就得要調整 /etc/inittab 啰!
[root@www ~]# netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN 4557/Xorg
tcp 0 0 :::6000 :::* LISTEN 4557/Xorg
udp 0 0 0.0.0.0:177 0.0.0.0:* 4536/gdm-binary
# 上述的 port 6000 是由 DisallowTCP=false 項目啟動的,port 177 才是我們要的
```
上述的動作鳥哥是在 runlevel 3 底下啟動的,如果你是在 runlevel 5 底下時,因此你也可以利用『 init 3 && init 5 』來重新啟動圖形接口。但如果你是在 runlevel 3 底下并且不希望變更成為 runlevel 5 呢?那又該如何啟動 port 177 啊?如果是這樣的話,那么你可以這樣啟動 xdmcp 啦:
```
[root@www ~]# init 3
[root@www ~]# runlevel
5 3 <==左邊的是前一個 runlevel,右邊的是目前的,因此目前是 runlevel 3
[root@www ~]# gdm <==這樣就啟動 xdmcp 啰!
[root@www ~]# vim /etc/rc.d/rc.local
/usr/sbin/gdm
```
現在你知道如何在不同的 runlevel 啟動 xdmcp 了吧?如果是 runlevel 5 ,因為在 /etc/inittab 就已經有自動啟動 gdm 了, 所以你只要順利啟動 runlevel 5 即可。但如果你是在 runlevel 3 的話,因為這樣 gdm 就不會被系統的啟動流程啟動, 那你只好自己在 /etc/rc.d/rc.local 里面指定啟動他啰!這樣了解呼?不過,既然你都要使用 xdmcp 了,所以建議您直接啟動在 runlevel 5 即可!接下來,你得要開放客戶端對你的 port 177 聯機才行! 請自行修改你的防火墻規則,開放 udp port 177 吧!鳥哥這里假設你使用鳥哥的防火墻腳本,那你這樣作就好了:
```
[root@www ~]# vim /usr/local/virus/iptables/iptables.rule
iptables -A INPUT -p UDP -i $EXTIF --dport 177 --sport 1024:65534 \
-s 192.168.100.0/24 -j ACCEPT #xdmcp
# 注意喔!特點是使用 UDP 埠口以及加入來源端 IP 網域的控管!
[root@www ~]# /usr/local/virus/iptables/iptables.rule
[root@www ~]# iptables-save | grep 177
-A INPUT -s 192.168.100.0/24 -i eth0 -p udp -m udp --sport 1024:65534 --dport 177 -j ACCEPT
# 確實有開放 port 177 ,而且是 udp 的埠口喔!要注意這兩個項目。
```
* * *
### 11.3.3 用戶系統為 Linux 的登入方式
由于 Linux 本身的窗口就是由 X server 提供來的,因此使用 Linux 登入遠程的圖形服務器是很簡單的啦! 但是因為啟動 X 的方式不同而已數種啟動方式,底下我們就講講兩個常見的啟動方式:
* 在不同的 X 環境下啟動聯機: 直接用 X
如果你的客戶端已經在 runlevel 5 了,因此其實你已經有一個 X 窗口的環境,這個環境的顯示終端機就稱為『 :0 』。 在 CentOS 6.x 的環境中,如果原本就是 runlevel 5 的環境,那么這個圖形接口的 :0 是在 tty1 終端機啦!如果是由 runlevel 3 啟動圖形接口,那就是在 tty7 喔!由于已經有一個 X 了,因此你必須要在另外的終端機啟動另一個 X 才行!那個新的 X 就稱為 :1 接口,其實通常就在 tty7 或 tty8 啦!但因為 X server 要接受 X client 必須要有授權才行, 所以你得先在窗口接口開放接受來自服務器的 X client 數據。
此外,雖然你在客戶端是以主動的方式連接到服務器的 udp port 177 ,但是服務器的 X client 卻會主動的連接到你客戶端的 X server,因此,你必須要開放來自服務器端主動對你的 TCP port 6001 (因為是 :1 界面) 的防火墻聯機才行喔!那就來實做看看:
```
# 1\. 放行 X client 傳來的資料:在 X Window 的畫面當中啟用 shell 輸入:
[root@clientlinux ~]# xhost + 192.168.100.254
192.168.100.254 being added to access control list
# 注意!你是客戶端!且假設我剛剛那部 Linux 主機的 IP 為 192.168.100.254
# 2\. 開始放行防火墻,因為我們啟動 port 6001 ,所以你在客戶端這樣作:
[root@clientlinux ~]# vim /usr/local/virus/iptables/iptables.allow
iptables -A INPUT -i $EXTIF -s 192.168.100.0/24 -p tcp --dport 6001 -j ACCEPT
[root@clientlinux ~]# /usr/local/virus/iptables/iptables.rule
[root@clientlinux ~]# iptables-save
-A INPUT -s 192.168.100.0/24 -p tcp -m tcp --dport 6001 -j ACCEPT
# 要能看到上面這一行才行呦!
# 3\. 在文字接口 (例如 tty1) 下輸入如下的指令:
[root@clientlinux ~]# X -query 192.168.100.254 :1
# 進入 X Window 啰!
```
如果一切順利的話,那么你在 clientlinux.centos.vbird 就會看到如下的畫面(注意主機名):

圖 11.3-2、在客戶端連上 Xdmcp 成功的畫面
在上圖中輸入正確的賬號與密碼之后,你在 tty8 (:1) 就會有個窗口接口啰!那你如果想要回到本機的窗口接口, 就回到 tty7 (:0) 即可切換成功!(在 runlevel 5 時,:0 在 tty1 ,而 :1 在 tty7 喔!)那想要關閉 tty8 該如何是好?你不能夠在 tty8 注銷啦,因為注銷后,系統會重新開一個等待登入的畫面,你還是沒辦法關閉的。你得要回到剛剛啟動 X 的 tty1 然后按下 [ctrl]-c 中斷聯機即可!
* 在同一個 X 底下啟動另一個 X: 使用 Xnest
如果常常在 tty7, tty8 切換來去的話,偶而會忘記到底在哪個界面了,尤其是當你的桌面都一模一樣時, 那就更難判斷了。有沒有辦法直接在 tty7 啟動另一個窗口來加載遠程服務器的圖形接口呢?可以的,那就透過 Xnest 吧! 這指令需要在 X 的環境下使用喔!它的簡單用法如下:
```
[root@www ~]# Xnest -query 主機名 -geometry 分辨率 :1
選項與參數:
-query :后面接 xdmcp 服務器的主機名或 IP 啰
-geometry :后面接畫面的分辨率,例如 1024x768 或 800x600 等之類的分辨率
# 根據上述數據,使用 800x600 連上 192.168.100.254 那部主機:
[root@www ~]# yum install xorg-x11-server-Xnest
[root@www ~]# Xnest -query 192.168.100.254 -geometry 640x480 :1
```
如果一切順利的話,那你就會在 tty7 的本機 X 環境下看到如下的畫面 (底下的畫面是已經登入的情況!)

圖 11.3-3、在客戶端的 X 順利連上 Xdmcp 的畫面
一開始的圖示會與[圖 11.3-2](#fig11.3-2) 一樣,就是出現輸入賬密的畫面,如果輸入正確的帳密后, 就會出現上述的圖示了。仔細看一下畫面當中的終端機標頭,你就會發現確實是兩部主機的桌面呢!這樣有沒有更棒棒? ^_^! 要關閉這個 X 就簡單多了!直接按下關閉,或者是中斷那個 Xnest 的程序即可。
* * *
### 11.3.4 用戶系統為 Windows 的登入方式: Xming
由于 Windows 本身并沒有提供預設的 X server ,因此我們得要自行安裝 X server 在 Windows 上面才行。 目前常見的 X server 有底下這幾個:
* [X-Win32 (http://www.xwin32.tw/)](http://www.xwin32.tw/)
* [Exceed (http://www.hummingbird.com/products/nc/exceed/index.html?cks=y)](http://www.hummingbird.com/products/nc/exceed/index.html?cks=y)
* [Xming (http://sourceforge.net/projects/xming/)](http://sourceforge.net/projects/xming/)
其中 X-Win32 與 Exceed 都屬于商業軟件,而 Xming 則屬于輕量級的自由軟件,說是輕量級并非說它不好, 而是因為 Xming 的檔案真的很小,而該有的功能都有了,所以算是很不賴的一個軟件喔!因此底下鳥哥是以 Xming ([注5](#ps5)) 作范例來介紹的。
1. 安裝:你可以使用預設的方法,一直下一步的安裝下去,就能夠順利的安裝好 Xming 這套 X server 的軟件啰。
2. 啟動:請在『開始』-->『程序集』-->『Xming』-->『XLaunch』開啟設定聯機到 xdmcp 的方式。底下我們會使用區網內的廣播 (broadcast) 來找到 xdmcp 服務器的方式。啟動 XLaunch 之后會出現如下的圖示:

圖 11.3-4、Xming 的 Xdmcp 連接方式示意圖
記得上面的圖示要選擇 One window 或 Fullscreen 或 One window without titlebar 才能夠使用 XDMCP 喔!選擇完畢后按『下一步』 就會出現如下的畫面:

圖 11.3-5、Xming 的 Xdmcp 連接方式示意圖
上述的圖示當中共有三種傳遞 X client 的方法,在這個小節當中我們要連到 xdmcp ,所以你得要選擇第三個喔!之后再下一步會出現下圖:

圖 11.3-6、Xming 的 Xdmcp 連接方式示意圖
這里當然就是連接到你想要連上去的 xdmcp 服務器啰!將他的 IP 填上去吧!之后再下一步去:

圖 11.3-7、Xming 的 Xdmcp 連接方式示意圖
上圖的項目與數據的互相復制貼上有關,保留默認值即可。按下下一步吧!

圖 11.3-8、Xming 的 Xdmcp 連接方式示意圖
出現上圖就是設定完畢了,給它按下『完成』之后,你就會發現如同[圖 11.3-2](#fig11.3-2) 的畫面出現,你就能夠開始在 Windows 底下連上圖形接口的 Linux Server 啰!很輕松吧!
* 重點在 Server 與 Client 的防火墻上
其實從上面的設定當中你會發現, XDMCP 不論是在 Server 還是 Client 的設定上面都很簡單!但是有時候你就是會發現, 明明所有的動作都做完了,但是就是沒有辦法連上 Xdmcp 服務器!最容易發生錯誤的其實就是防火墻啦!因為雖然我們客戶端啟動 X server 后,會主動聯機到服務器端的 Xdmcp (port 177),但是,接下來卻是服務器主動聯機到我們客戶端的 X server (可能是 port 6000~6010)。 因此,如果你只是設定了服務器的防火墻而已,那么很可能出現問題的應該就是客戶端的防火墻忘記打開提供服務器主動聯機的規則啰! 這點是必須要跟大家說明的喔!
* * *
- 鳥哥的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 參考數據與延伸閱讀