# 作者序
# 作者序
最近更新日期:2011/08/18
- - - - - -
## 作者序:
伺服器的架設並不容易,除了需要瞭解每個伺服器的工作原理與目的之外,還得要熟悉網路以及基礎系統管理操作等等。 不過目前有太多的書籍以及設定參考範例在教導大家如何架設一個可以用的伺服器,但這些範例卻沒有就伺服器的維護與管理, 還有發生問題時應該要如何處理的流程作個解釋。因此,架設伺服器是很容易的,不過,被攻擊也是很常見的啊! 所以,筆者在這本書裡面就從系統基礎以及網路基礎講起,再談談網路攻擊後以及防火牆防護主機後,才進入架設伺服器的章節。
這本書是以 CentOS 6 為範例來介紹的,這個版本的 Linux 有很多與以前不一樣的服務設定,常常會讓人找不到熟悉的設定檔位置。 而且筆者使用 SELinux 預設啟動的模式來進行伺服器的設定,加入 SELinux 後,整個伺服器的設定就顯的有些難度哩! 此外,以前沒有用過的 NetworkManager 服務也來湊一腳,所以老是會讓人搞到滿腦子混亂~筆者光是重複測試之前版本與此版本的對應, 就花去不少的時間呢!希望這樣的測試結果,能夠幫大家降低自行試誤的過程,早點設定好您的伺服器。
這次第三版的改版幅度不算太大,主要是將前面幾章網路安全的部分文章統合,加入了第二版被拿掉的代理伺服器章節, 減少郵件伺服器的進階內容 (說實在的,郵件伺服器的架設真的可以不用學太多了!),並加入了相當重要的 iSCSI 這種磁碟提供者的模擬器!同時將 vsftpd 加入了 SSL 的加密支援!並且將伺服器常用在內部網路或網際網路作個區分, 以方便使用者瞭解該服務常用於哪些實務上。這些分類都是筆者近期來在學校作專題研究時的一些觀察後,所做的分析。 希望能夠對讀著們有些幫助。
- - - - - -
## 誰適合這本書:
這本書既然是談論比較深入的架站規劃、流程、技巧與維護等工作,那麼比較基礎的 Linux 操作與相關的 Shell 語法,在這本書裡面就不可能談論的很多,畢竟, Linux 基礎篇 已經完成了,沒有必要在這本書裡面再次的重複提及的。 所以,當您嘗試閱讀這本書的時候,請注意,您最好已經具備有 Linux 作業系統的相關知識,以及文字介面 (BASH Shell) 的相關技巧,還有,必需要能夠瞭解一些 Unix-Like 的工作流程,例如登錄檔的產生與放置的地點、服務的啟動與關閉方式、 工作排程的使用方法、以及其他種種相關的事項。也就是說,如果您從未接觸過 Linux ,那麼建議您由『鳥哥的 Linux 私房菜 -- 基礎學習篇』開始 Linux 的探索歷程,否則,這本書對您而言,可能會過於難以理解。
另外,這本書的內容很多時候會提到一些簡單的概念而不是僵化的流程, 尤其每個人對於網站的要求都不相同,也就是說,每個人的網站其實都是帶有個人風格的, 因此僵化的流程並沒有太大的意義~只要能夠依據這些簡單的概念來進行網站的架設,鳥哥認為, 您的主機設定應該都不會有太大的問題。怕的是什麼呢?都沒有碰過 Linux ,卻想直接參考架站的程序來完成網站的架設的朋友,這些朋友最容易忽略後續的維護與管理了! 這也容易造成網站的不穩定或者是造成被網路怪客 (Cracker) 入侵的問題啊!
這本書主要的目的是引導使用者進入 Linux 強大的網路功能的世界, 書內的範例都是鳥哥自己實際測試過沒有問題才寫上來的,不過,畢竟每個人的網路環境與操作習慣都不相同, 因此,鳥哥不敢說我書內的範例一定可以在您的系統上操作成功的! 然而,書內都會提到一些基本概念的問題,只要理解這些基本的概念,並且對於 Linux 的操作熟悉,相信您一定可以利用書內的範例來開發出適合您自己的伺服器設定的!不過,對於沒有碰過 Linux 的朋友,還是建議從頭學起,至於為什麼一定得從頭學起,在本書的第一章內會仔細談論喔。
- - - - - -
## 章節安排:
本書在章節的規劃上面,主要分為四大部分,分別是『網路基礎篇』、『主機的簡易防火措施篇』、『區網常見伺服器架設篇』 與『網際網路伺服器篇』,前兩篇的所有內容是很基礎的網路概念與實際網路設定,包括很重要的網路自我檢測以及防火牆設定等, 與您的伺服器能不能運作有很大的關係!所以,您在開始伺服器的架設之前,請務必將前面兩篇共十章先唸過一遍才好吶!
在『網路基礎篇』當中,我們會介紹簡易的網路基礎,這包含了硬體的選擇與佈線。此外,還有在 Linux 上面連上 Internet 的方法,以及在 Linux 發生無法連接網際網路的問題時,簡易的查驗方法。看完了這一篇之後,您的 Linux 不論以何種方式來進行 Internet 的連接,就應該都不成問題囉,而且,鳥哥希望看完這一篇之後,您可以瞭解 Linux 的網路問題,並自行解決喔!
在『主機的簡易防火措施篇』中,我們會簡單的介紹 Linux 的強大網路功能下,可能會發生的網路入侵問題。接下來,瞭解了問題後,當然就是需要來解決他囉!所以,我們會就 TCP/IP, port, 套件漏洞的修補與防火牆等來推敲一下,該如何做好 Linux 主機的防備呢? 『沒有永遠安全的主機』是正確的言論,所以, 即使您的主機只是一個小小的網站,也千萬不能忽略這個防火牆的認識喔!
在『區網常見伺服器架設篇』當中,我們會介紹內部網路經常使用的遠端連線服務 (ssh, vnc, xrdp)、網路參數設定服務 (dhcp, ntp)、網路磁碟服務 (samba, nfs, iscsi),以代理伺服器等服務。 這些章節雖然跳著看是沒有問題的,不過,鳥哥建議十一章的連線伺服器得要花些時間瞧瞧,尤其是 ssh 的金鑰系統, 對於異地備援是相當有幫助的!
在『在網際網路伺服器篇』當中,我們會介紹 DNS, WWW, FTP 及 mail server 等常見的服務。 在網際網路上面要使用較好記的主機名稱來連線,就得要透過 DNS 系統,因此,這個 DNS 伺服器相當重要!在這一版的 DNS 加入了 view 的簡單概念,可以適用於區網內的主機聯網,可以參考看看。
章節的安排主要仍然是由淺入深來進行編排的,因此,還是希望讀者們可以由前面慢慢的往下看, 不要著急的直接翻到後面去抄一些架設流程喔!而且,幾乎每一章節後面都會具有一些簡單的課後練習題, 這些練習題有的是鳥哥參加過的考試內容,有的是鳥哥想到的一些資料,很適合大家思考喔!不要錯過這些練習題的訓練喔!
- - - - - -
## 感謝:
感謝自由軟體社群志工們的軟體發展,讓我們能有這麼棒的作業系統來建置伺服器!也要感謝讀者們的回饋,讓鳥哥能夠在 Linux 伺服器的原理與設定方面有更深入的瞭解。感謝 Study Area 酷學園伙伴們的支持,包括 netman 大大、酷學園板主群、 鳥園討論板主群、以及參加實體活動的諸位朋友。感謝崑山科大資傳系張世熙主任與各位老師、伙伴們對不才小弟在研究方面的支援! 更要感謝鳥哥的學生們,有你們的幫忙,讓鳥哥可以有較多的時間玩些伺服器測試與文章的撰寫!
最後,親愛的鳥嫂,謝謝你多年來的付出,尤其這兩年幫我們家添了兩個可愛的寶貝:宸宸與軒軒! 希望鳥窩一家,以及所有的朋友們平安、幸福!
鳥哥 2011/08/18
另外,關於本書的戡誤資訊,請參考:
- <http://linux.vbird.org/book/>
- - - - - -
2003/07/14:第一次完成日期!
2003/09/18:加入一些說明,尤其是各個伺服器的簡介。a
2007/03/01:取消各個伺服器的簡介,太佔篇幅了!修改初版序的內容,增加再版序的部分。
2007/03/01:初版序我將他拿到 [這裡](http://linux.vbird.org/linux_server/0103introduce/0103introduce.php)
2011/08/18:二版序移動到[這裡](http://linux.vbird.org/linux_server/0103introduce/0103introduce-centos5.php)
- 鳥哥的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 參考數據與延伸閱讀