Linux 作業系統網路能力概觀 作者: Daniel L鏕ez Ridruejo, ridruejo@esi.us.es 譯者: 蔣大偉, dawei@sinica.edu.tw v0.2, 10 July 1998 翻譯日期: 1 Aug. - 14 Sep. 1998 修正日期: 5 Nov. 1998 _________________________________________________________________ 本文主要在針對 Linux 作業系統的網路能力提出一個概觀的說明, 同時提供更進 一步的資料與實作細節的指引。 _________________________________________________________________ 1. 介紹 2. Linux 作業系統 * 2.1 Linux 是什麼? * 2.2 是什麼讓 Linux 與眾不同的呢? 3. 網路通訊協定 * 3.1 TCP/IP 通訊協定堆疊 * 3.2 TCP/IP 通訊協定第 6 版本 * 3.3 IPX/SPX 通訊協定 * 3.4 AppleTalk 通訊協定堆疊 * 3.5 廣域網路 (WAN) 通訊協定 : X.25, Frame-relay, .. 等等 * 3.6 ISDN 通訊協定 * 3.7 PPP, SLIP, PLIP 等通訊協定 * 3.8 業餘無線電通訊協定 * 3.9 ATM 通訊協定 4. 網路硬體的支援 5. 檔案與列印的共享 * 5.1 Apple 的環境 * 5.2 Windows 的環境 * 5.3 Novell 的環境 * 5.4 UNIX 的環境 6. Linux 對 Internet/Intranet 所提供的服務 * 6.1 電子郵件服務 * 6.2 網頁(Web) 伺服器 * 6.3 網頁(Web) 瀏覽程式 * 6.4 FTP 伺服器與用戶端程式 * 6.5 網路新聞 (News) 服務 * 6.6 網域名稱系統 (DNS) 服務 * 6.7 DHCP, bootp 通訊協定 * 6.8 網路資訊服務 (NIS) * 6.9 認證服務 7. 遠端執行應用程式服務 * 7.1 Telnet 的方式 * 7.2 遠端下命令的方式 * 7.3 X-視窗的方式 * 7.4 虛擬網路計算作業 (VNC) 的方式 8. Linux 對網路互連的支援 * 8.1 路由器 (Router) * 8.2 橋接器 (Bridge) * 8.3 IP-偽裝 (Masquerading) 功能 * 8.4 IP-計帳 (Accounting) 功能 * 8.5 IP 別名(aliasing) 功能 * 8.6 網路流量控制 (Traffic Shaping) 功能 * 8.7 防火牆 (Firewall) 功能 * 8.8 埠轉遞 (Port Forwarding) 功能 * 8.9 負載均衡 (Load Balancing) 功能 * 8.10 EQL (串列連線的負載均衡驅動程式) * 8.11 代理伺服器 (Proxy Server) * 8.12 隨選撥接 (Diald on demand) 功能 * 8.13 建立通訊協定隧道, 機動式電腦 IP 路由選擇協定 (Mobile-IP) 與虛 擬私有網路(Virtual Private Networks, 簡稱 VPN) 9. Linux 對網路管理的支援 * 9.1 網路管理的應用 * 9.2 簡易網路管理協定 (SNMP) 10. 以 Linux 架構企業網路 * 10.1 提高可用度 * 10.2 冗餘廉價磁碟機陣列 (RAID) * 10.3 冗餘網路連接 11. 資料的來源 12. 致謝 _________________________________________________________________ 1. 介紹 本文主要在針對 Linux 作業系統的網路能力提出一個概觀的說明。 雖說使用 Linux 的好處是, 似乎各種領域都有豐富的資料來源, 但是大多偏重在實作方面 。 對大多數的 Linux 新手而言, 特別是那些從 Windows 環境過來的人, 似乎難 以消化吸收, 因為他們連 Linux 有什麼網路能力都還不知道。本文主要是向各位 展示, 簡述每項網路能力的可能性, 並且給予各位更進一步的資料指引。 這些資 料的收集來自許多方面: how-tos, faqs, 各計劃的網頁, 以及我個人的經驗。 我要將完成本文的功勞全部歸予以上的作者。沒有他們以及他們所撰寫的文件, 就沒有本文存在的可能或需要。 2. Linux 作業系統 2.1 Linux 是什麼? Linux 主要的作者是 Linus Torvalds。自從其原作的版本發表以來, 迄今 Linux 已經被不計其數的人改良過。 他是個 UNIX 作業系統的複製品 (clone), 完全是東拼西湊寫成的。 Linux 最令人感到興趣的事情, 就是他的開發在世界各 地同時進行著。 Linux 的版權受到 GNU 一般授權許可 (GPL) 文件的保護。 這份文件是由開放軟 體基金會 (FSF) 所提出, 主要是用來防止有心人士阻礙軟體的散佈。 簡而言 之, 就是說雖然軟體的拷貝 (copy) 可以酌收費用, 但是收到這份拷貝的人, 不 能阻礙該軟體的開放。這也意味著該軟體的原始程式碼也必須開放。 這樣做對設 計程式的人而言是有益的。任何人可以來修改 Linux 甚至可以散佈他/她所做的 修改, 而且允許他們將修改的程式碼放在相同的版權聲明之下。 2.2 是什麼讓 Linux 與眾不同的呢? 為什麼要使用 Linux? Linux 一般而言比其他的作業系統便宜 (起碼不會太貴) 而且也較許多的商業系統少出現問題。那到底是什麼讓 Linux 與眾不同的呢? 當 然不只是因為他的價格 (畢竟, 不會有任何人會想要用一個不夠好的作業系統, 就算他是免錢的) 而關鍵是在他傲人的能力。 * Linux 是個真正 32-位元的多工作業系統, 他的穩固性與能力足以應用在大 學甚至大型公司。 * 他可以在低階的 386 平臺上運作, 甚至研究中心巨大的超級平行運算 (ultra-parallel) 機器也有他的蹤跡。 * 他已經超乎平臺的境界之外 Intel/Sparc/Alpha 等架構都有可用的版本, 而 且實驗性的版本可支援到 Power PC 以及內嵌 (embedded) 在其他的作業系 統中 (SGI, Ultra Sparc, AP1000+, Strong ARM, MIPS R3000/R4000...) * 最後, 當說到網路能力的時候, Linux 就是個不錯的選擇。 不僅是因為網路 與作業系統被緊密地整合在一起, 同時有太多的應用程式可以自由取得, 但 是沉重負荷下系統的穩固性, 只能在開放軟體計劃下經過多年的除錯與測 試, 方能達成。 3. 網路通訊協定 Linux 支援許多不同的網路通訊協定: 3.1 TCP/IP 通訊協定堆疊 網際網路通訊協定在二十年前原是美國國防部 (DoD) 發展出來的, 目的只是用在 不同廠牌電腦之間的互連。TCP/IP 通訊協定堆疊, 採用階層式的結構, 以便將應 用程式與網路硬體隔離開來。 雖然他的設計理念是基於階層式的模型, 但是他的重點放在提供互連性, 而不只 是死板地遵循層級功能。 這就是為什麼 TCP/IP 通訊協定堆疊, 會成為一個網路 互連通訊協定的非官方 (de facto) 標準, 而與 OSI 國際標準相抗衡。 Linux 從一開始就已經提供 TCP/IP 的網路能力。 雖說是東拼西湊寫成的, 但是 卻是一個穩固, 快速, 和可靠的軟體實作, 同時也是 Linux 成功的關鍵因素之一 。 相關的 How-to 請參考: [1]http://sunsite.unc.edu/mdw/HOWTO/NET-3-HOWTO.html 3.2 TCP/IP 通訊協定第 6 版本 IPv6, 有時也被寫成 IPng (下一代網際網路通訊協定) 是 IPv4 通訊協定的升級 版本, 用來解決定址上的許多問題。 這些問題包括: 可用的 IP 位址不足, 缺乏 處理即時性資料流的機制, 缺乏網路層級的安全控制, ..等等。 其實擴充定址法之後, 就能增加 IP 定址的空間 (譯註: IPv6 的位址長度是 IPv4 的四倍), 同時對路由選擇的效率而言有著極大的影響。 (譯註: IPv4 採用的是分級式定址法, 依網路的大小規模分級成 class A, B, C 沒有彈性, 造成路由表的爆增; 而 IPv6 採用的是分類式定址法, 僅區分使用類 型的範圍, 其餘依實際需要以 CIDR 方式分配, 讓位址空間得到更有效率的分 配, 並能減緩路由表的成長。) Linux 已經有 beta 版本的 IPv6 實作, 至於正式的版本可能要等到 2.2.0 版本 的 Linux 核心發表。 * Linux IPv6 How-to 請參考: [2]http://www.terra.net/ipv6/linux-ipv6.faq.htm * IPv6 網頁起點請參考: [3]http://playground.sun.com/pub/ipng/html/ipng-main.html 3.3 IPX/SPX 通訊協定 IPX/SPX (網際網路封包交換/循序封包交換) 是由 Novell 公司以"全錄 (Xerox) 網路系統"(XNS)通訊協定為藍本, 發展出來的專屬通訊協定。 IPX/SPX 通訊協定在 1980 年代初期很有名, 成為 Novell 公司 NetWare 產品的代名詞。 NetWare 成為第一代區域網路, 網路作業系統 (NOS) 的非官方標準。 Novell 公 司同時也為他們的網路作業系統, 加上商業應用程式套件與用戶端網路連接工具 。 Linux 對 IPX/SPX 通訊協定有非常完整的實作, 使得他能夠被設定成: * IPX 路由器 (router) * IPX 橋接器 (bridge) * NCP 用戶端 且/或 NCP 伺服器端 (檔案共享) * Novell 列印用戶端, Novell 列印伺服器端 以及去: * 開啟 PPP/IPX 通訊協定, 讓 Linux 成為一個 PPP 的伺服器端/用戶端 * 藉由 IP 隧道 (tunnel) , 讓二個跑 IPX 通訊協定的網路, 能夠透過唯一的 IP 路徑連通。 另外, [4]Caldera 公司對在 Linux 之下跑 Novell Netware 網路作業系統的人 有商業性質的支援。Caldera 從 Novell 公司取得技術授權許可, 可以提供大家 全功能的 Novell NetWare 用戶端程式。 這個用戶端程程式能夠完全地存取 Novell 3.x 和 4.x 的檔案伺服器, 並且還包含了 "NetWare 目錄服務" (NDS) 以及 RSA 加密等特性。 * IPX How-to 請參考: [5]http://sunsite.unc.edu/mdw/HOWTO/IPX-HOWTO.html 3.4 AppleTalk 通訊協定堆疊 Appletalk 就是"蘋果牌電腦"網路互連通訊協定群的代名詞。 他採用端點-對-端 點, 對等式的網路模型, 並提供基本的網路功能, 例如檔案及印表機的共享。 每 部機器可以同時成為用戶端與伺服器端, 但是每部"蘋果牌電腦"都得裝上必需的 軟硬體才行。 Linux 提供有全功能的 Appletalk 網路功能。 Netatalk 就是一個核心層次的 AppleTalk 通訊協定堆疊實作, 基本上他是由 BSD 版本衍生出來的系統。 他能 支援 AppleTalk 的路由選擇, 透過 AFP (AppleShare) 提供 Unix 和 AFS 檔案 系統的服務, 提供 Unix 印表機服務, 以及透過"印表機存取協定" (PAP)存取 AppleTalk 印表機。 請參考 5.1 節有更進一步的資料指引。 3.5 廣域網路 (WAN) 通訊協定 : X.25, Frame-relay, .. 等等 許多第三協力廠商提供 Linux 使用之 T-1, T-3, X.25 以及 Frame Relay 等產 品。 一般而言, 這類的連線需要特別的硬體。廠商除了提供硬體之外, 也會提供 通訊協定驅動程式的支援。 * Linux 的廣域網路 (WAN) 資源請參考網頁: [6]http://www.secretagent.com/networking/wan.html 3.6 ISDN 通訊協定 Linux 的核心有內建的 ISDN 能力。 核心模組 Isdn4linux 可以控制 ISDN PC 卡, 並且可以將之模擬成使用 Hayes 命令集 ("AT" 命令) 的數據機。 他可能被 應用的範圍, 從簡單地使用終端機程式, 透過 HDLC 通訊協定 (內附於裝置中) 來連線; 到以 PPP 通訊協定, 對 Internet 作全功能網路連線, 來使用聲音的應 用。 * isdn4linux 的常問問題與解答 (FAQ) 可參考網頁: [7]http://tsikora.tiac.net/i4l-faq/eng-i4l-faq.html 3.7 PPP, SLIP, PLIP 等通訊協定 Linux 的核心有內建的 PPP (端點-對-端點-通訊協定), SLIP (串列線路使用 IP), 以及 PLIP (並列線路使用 IP) 等通訊協定支援。 PPP 通訊協定是一般個 人使用者, 接取其 ISP (Internet 服務提供商) 最常用的方法。 PLIP 通訊協定 則是二部機器時便宜的連線方法, 使用並列埠和一個特製的纜線, 連線速度可達 10kBps 到 20kBps。 相關資料請參考: * [8]Linux PPP How-to * [9]PPP/SLIP emulator * PLIP 的資料可以參考 [10]The Network Administrator Guide 。 3.8 業餘無線電通訊協定 Linux 的核心有內建的業餘無線電通訊協定支援。 尤其令人感興趣的是他支援 AX.25 。AX.25 通訊協定提供連接導向與非連接導向 二種操作模式, 使用時不是以自己的方式, 作端點-端點的連線; 就是載送其他通 訊協定, 如 TCP/IP 和 NetRom。 結構上他與等級 2 的 X.25 通訊協定類似, 但是做了些許的擴充, 使得他更適合 應用在業餘無線電的通訊環境。 相關資料請參考: * [11]Amateur radio how-to 3.9 ATM 通訊協定 Linux 對 ATM 通訊協定的支援, 目前只到 pre-alpha 版本的階段。 目前有一個 實驗性的實作被發表出來, 他支援純 ATM 連線 (PVCs 和 SVCs), ATM 網路上跑 IP 通訊協定 (IP over ATM), ATM 網路模擬區域網路 (LAN emulation) , ..等 等功能。 * 想知道如何在 LINUX 上使用 ATM, 請參考網頁 [12]ATM-Linux home page 4. 網路硬體的支援 Linux 支援各式各樣的網路硬體, 甚至於過時的硬體也包含在內。 相關的文件請參考: * [13]Hardware How-To * [14]Ethernet How-To 5. 檔案與列印的共享 許多 PC 為主的區域網路, 其主要用途是提供使用者檔案與列印的共享。 Linux 可以同時作為檔案與列印的伺服器, 於是成為一個重要的解決方案。 5.1 Apple 的環境 正如前面章節的描述, Linux 支援 Appletalk 一系列的通訊協定。 Linux 的 netatalk 使得 Macintosh 機器的用戶端, 將 Linux 系統視為網路上的另一台 Macintosh, 然後連上 Linux 伺服器, 分享其檔案系統, 與使用其印表機。 Netatalk 的 faq 與 how-to 請參考: * [15]http://thehamptons.com/anders/netatalk/ * [16]http://www.umich.edu/~rsug/netatalk/ * [17]http://www.umich.edu/~rsug/netatalk/faq.html 5.2 Windows 的環境 Samba 是一組應用程式套件, 讓大多數的 Unix (特別是 Linux) 系統, 能夠整合 到 Microsoft 的網路裡, 成為客戶端與伺服器端。 當作伺服器時, 他讓 Windows 95, Windows for Workgroups, DOS, 以及 Windows NT 等用戶端, 能夠 取用 Linux 的檔案系統與列印等服務。 他可以完全取代 Windows NT 在檔案系 統與列印方面的服務, 這還包括了, 將印表機驅動程式自動下載至用戶端。 當作 用戶端時, 他讓 Linux 工作站可以將共享出來的 windows 檔案系統, 安置 (mount) 成本地的檔案系統。 根據 SAMBA Meta-FAQ 上說: "許多使用者將之和其他的 SMB 產品作評比, 結果發現還是 Samba 較穩定, 較快, 以及與更多的用戶端相容。 一些大量安裝使用 SMB 通訊協定的管理者說 Samba 是唯一在使用者數量擴充到數萬人之後, 繼續存活而不會垮掉的 SMB 伺服器。" 請參考: * [18]Samba project home page * [19]Samba How-to * [20]Printing How-to 5.3 Novell 的環境 正如前面章節的描述, Linux 可以被建構成 NCP 的用戶端或伺服器端, 因此 Novell 與 Unix 二類的用戶端, 可以透過 Novell 網路, 使用檔案以及列印等服 務。 請參考: * [21]IPX How-to 5.4 UNIX 的環境 在 UNIX 的網路環境裡, 建議使用 NFS 的方法來共享檔案。 NFS 就是"網路檔案 共享"(Network File Sharing)的簡寫, 他是一個通訊協定, 最初由 Sun Microsystems 公司發展出來的。 他是一個多部機器之間共享檔案的方法, 所共 享檔案就好像放在機器本身的系統上一樣。 用戶端會將伺服器端 "分享出來 (exported)" 的檔案系統 "安置 (mounts)" 在自己的檔案系統下。 所安置的檔 案系統在用戶端機器上看起來, 就好像是機器本身的檔案系統一樣。 因為可能會有在開機的時候, 透過 NFS 來安置 root 檔案系統這方面的需求, 所 以允許無磁碟用戶端在開機的時候, 到伺服器端取用所有必需的檔案。 更明白的 說, NFS 不排除, 會有一個沒有硬碟的全功能電腦來要求服務的可能性。 NFS 相關的文件請參考網頁: * [22]http://sunsite.unc.edu/mdw/HOWTO/mini/NFS-Root.html * [23]http://sunsite.unc.edu/mdw/HOWTO/mini/Diskless.html * [24]http://sunsite.unc.edu/mdw/HOWTO/mini/NFS-Root-Client.html * [25]http://www.redhat.com/support/docs/rhl/NFS-Tips/NFS-Tips.html * [26]http://sunsite.unc.edu/mdw/HOWTO/NFS-HOWTO.html 6. Linux 對 Internet/Intranet 所提供的服務 Linux 是 Internet/Intranet (網際網路/公司內部網路) 上一個重要的伺服器平 臺。 Intranet 這個名詞指的是, 將 Internet 的技術應用在組織內部, 主要的 目的是散佈和整合公司內部的資訊。 透過 Linux 可以對 Internet 與 Intranet 提供的服務包括有: 電子郵件, 網路新聞, 全球資訊網 (WWW) 等, 以 及其他更多的服務項目, 這些都會在下面大略做個說明。 6.1 電子郵件服務 電子郵件伺服器 Sendmail 是 UNIX 平臺上, 電子郵件伺服程式的非官方 (de facto) 標準。 他 具有穩定與可擴充的特性, 經過適當的設定再配合必要的硬體, 他能夠承受上千 個使用者的負荷, 而不會有任何閃失。 還有其他的電子郵件伺服器 (也就是 MTA ,即電子郵件傳遞代理程式), 例如, smail 和 qmail 就是被設計來取代 sendmail 的。 相關資料請參考: * [27]Sendmail web site * [28]Smail faq * [29]Qmail web site 電子郵件的 how-tos 請參考: * [30]http://sunsite.unc.edu/mdw/HOWTO/Mail-HOWTO.html * [31]http://sunsite.unc.edu/mdw/HOWTO/mini/Qmail+MH.html * [32]http://sunsite.unc.edu/mdw/HOWTO/mini/Sendmail+UUCP.html * [33]http://sunsite.unc.edu/mdw/HOWTO/mini/Mail-Queue.html 遠端讀取電子郵件 在一個組織或 ISP 中, 使用者多半會利用他們桌上的電腦, 以遠端的方式讀取他 們的信件。 Linux 上存在有多樣的選擇性, 例如 POP (也就是 Post Office Protocol 即郵局通訊協定) 和 IMAP (也就是 Internet Message Access Protocol 即網際網路信件讀取通訊協定) 等伺服器。 POP 通訊協定通常被用 來, 將伺服器端的信件傳遞到用戶端上。 IMAP 允許使用者在遠端處理伺服器上 的信件,例如在伺服器上產生及刪除收信夾, 多人同時讀取共用的收信夾, ..等等 。 相關資料請參考: * [34]Brief comparison IMAP and POP 與電子郵件相關的 how-tos 請參考: * [35]http://sunsite.unc.edu/mdw/HOWTO/Mail-HOWTO.html * [36]http://sunsite.unc.edu/mdw/HOWTO/mini/Cyrus-IMAP.html 電子郵件使用者代理程式 (MUA) Linux 上有一些圖形及文字模式的 MUA (電子郵件使用者代理程式), 最常被使用 到的有: pine, elm, mutt 和 Netscape。 相關資料請參考網頁: * [37]List of mail related software * [38]http://sunsite.unc.edu/mdw/HOWTO/mini/TkRat.html 通信論壇 (Mailing list) 程式 一般在 UNIX 上特別是 Linux , 有許多的通信論壇管理程式 (Mail List Management, 簡稱 NLM)。 相關資料請參考: * 現存各 MLMs 之間的比較結果可參考網頁: [39]ftp://ftp.uu.net/usenet/news.answers/mail/list-admin/ * [40]Listserv * [41]Majordomo home page Fetch-mail 程式 Fetchmail 程式是一個和電子郵件相關的好用工具。 Fetchmail 程式是一個免 費, 功能齊全, 具穩定性, 文件說明齊備, 主要被應用在臨時接通的 TCP/IP 線 路 (例如 SLIP 或 PPP 連線)上, 用來讀取遠端信件及轉遞信件的工具。 他支援 目前在 Internet 上使用的每一種遠端信件讀取通訊協定。 他甚至可以支援 IPv6 和 IPSEC (即 IP 安全協定) 等規格。 Fetchmail 程式可以從遠端的電子郵件伺服器讀取信件, 也可以透過 SMTP 通訊 協定轉遞信件, 因此透過他所寄出的信件, 可以被一般的電子郵件使用者代裡程 式, 例如 mutt, elm 或 BSD Mail 來讀取。 有了他之後, MTA 的過濾, 轉遞, 別名的運作, 就如同處理一般信件一樣容易。 Fetchmail 程式可以被用來作為整個 DNS 網域中, POP/IMAP 通訊協定-轉換 至-SMTP 通訊協定的閘道 (gateway), 他從 ISP 所提供的單一電子郵件信箱取得 郵件, 接著根據信件標頭 (header) 上的地址以 SMTP 通訊協定轉遞信件。 一般小公司可以將公司所有的信件集中地方在單一個信箱中, 使用 fetchmail 程 式來收集所有要寄出去的信件, 將他們一起遞送至網際網路上, 同時讀取所有寄 進到信箱的信件。 相關資料請參考網頁: * [42]Fetch-mail home page 6.2 網頁(Web) 伺服器 市面上所發行的 Linux 版本大多包括 Apache 伺服器 (http://www.apache.org)。 Apache 是網際網路上 (http://www.netcraft.co.uk/survey/) 第一品牌的網頁伺服器, 在網際網路上 超過一半以上的站台使用 Apache 伺服器, 或由其衍生出來的產品。 Apache 伺 服器的優點包括有, 模組化設計, 穩定, 以及速度。 使用適當的硬體與設定, 他 可以支援到最高的負荷: Yahoo, Altavista, GeoCities, Hotmail 等站台就是採 用 Apache 伺服器的客戶指定規格, 製作出來的版本。 附加 SSL (開啟安全交易) 功能的相關資料可以在下面網頁找到: * [43]http://www.apache-ssl.org/ * [44]http://raven.covalent.net/ * [45]http://www.c2.net/ 相關的 How-tos 請參考網頁: * [46]http://sunsite.unc.edu/mdw/HOWTO/WWW-HOWTO.html * [47]http://sunsite.unc.edu/mdw/HOWTO/Virtual-Services-HOWTO.html * [48]http://sunsite.unc.edu/mdw/HOWTO/Intranet-Server-HOWTO.html * [49]Web servers for Linux 6.3 網頁(Web) 瀏覽程式 目前 Linux 平臺上, 存在有數種網頁瀏覽程式。 網景公司的"導航者" (Netscape Navigator) 網頁瀏覽程式,是最基本的選擇了, 而即將發表的"摩斯 拉" (Mozilla) 網頁瀏覽程式 (http://www.mozilla.org) 也會有 Linux 的版本 。 另一個常用的文字模式的網頁瀏覽程式就是 lynx。 當你沒有圖形的環境可用 時 lynx 使用起來快速且上手。 相關資料請參考: * [50]Browser software for Linux * [51]http://sunsite.unc.edu/mdw/HOWTO/mini/Public-Web-Browser.html 6.4 FTP 伺服器與用戶端程式 FTP 就是"檔案傳輸協定"(File Transfer Protocol)的簡寫。 FTP 伺服器允許用 戶端, 連線與取回(下載)檔案的要求。 目前 Linux 上存在有多種 FTP 伺服器與 用戶端程式, 他們通常會放在大部分的 Linux 發行版本中。 有文字模式的用戶 端程式, 也有 GUI 模式的。 Linux 上使用的FTP 相關軟體 (伺服器與用戶端程 式) 可以在下面網頁找到: [52]http://sunsite.unc.edu/pub/Linux/system/network/file-transfer/ 6.5 網路新聞 (News) 服務 Usenet (就是所謂的網路新聞) 是一個大的告示板系統, 他上面包含有各種的討 論話題, 而他採用的是階層式的架構。網路上的電腦經由網際網路 (即指 Usenet) 以 NNTP 通訊協定來互換文章。Linux 上有多個被實作出來的軟體。 有 給負荷極重的站台使用的, 也有給只接收一些新聞群 (newsgroups) 的小站台使 用的。 相關資料請參考: * [53]INN home page * [54]Linux news related software 6.6 網域名稱系統 (DNS) 服務 DNS 伺服器的功能, 就是將網域名稱(給人看的)轉換成 IP 位址。 單獨一台 DNS 伺服器, 並不會知道世界上所有的 IP 位址; 可是他可以向其他伺服器, 詢 問自己所不知道的位址。DNS 伺服器不是將所詢問的 IP 位址回應給使用者, 就 是回報所詢問的名稱在資料表中找不到。 在 UNIX (以及 Internet 中為數眾多的機器) 上, 網域名稱查詢服務是由一個名 為 named 的程式來完成的。他是網際網路軟體聯盟 (Internet Software Consortium) 所提供 bind 套裝程式的一部分。 相關資料請參考: * [55]BIND * [56]DNS How-to 6.7 DHCP, bootp 通訊協定 DHCP 與 bootp 通訊協定, 允許用戶端向伺服器索取網路資訊 (例如他們自己的 IP 位址)。 有許多組織都開始來使用他, 因為他使得網路管理變的容易多了, 特 別是在大型網路中, 或是網路上有很多機動的使用者。 相關文件請參考: * [57]DHCP How-to 6.8 網路資訊服務 (NIS) 網路資訊服務 (NIS) 提供, 一個簡易的網路查詢服務, 他是由資料庫與處理程序 所構成。 他的目的就是在提供資訊, 整個網路上所有必需知道的資訊, 給網路上 所有的機器。 他使得一個使用者, 能夠簽入網路上任何一台執行 NIS 的機器, 而不需要管理者為使用者, 在每台機器上加上密碼, 只需加入到主資料庫即可。 相關的 How-tos 請參考: * [58]NIS How-to 6.9 認證服務 在 Linux/window NT 混用的網路中, 有各種認證使用者的方法: 請參考 [59]http://www.mindware.com.au/ftp/smb-NT-verify.1.1.tar.gz。 另外 PAM (可嵌入認證模組) 是一個具彈性的 UNIX 認證方法: 請參考 [60]PAM library。 最後也請參考, [61]LDAP in Linux。 7. 遠端執行應用程式服務 UNIX 最驚人的特性之一 (迄今還是新手最不知道的事情之一) 就是他支援以遠端 和分散的方式, 來執行應用程式。 7.1 Telnet 的方式 Telnet 是一個程式, 他讓人們使用遠端的電腦, 就好像是實際在該電腦面前一樣 。 Telnet 是 UNIX 上最強大的工具之一, 他使得真正的遠端管理機器成為可能 。 在使用者的觀點中, 他也是個有趣的程式, 因為他讓使用者能夠在 Internet 的任何地方, 以遠端的方式取用其檔案及程式。 將他與 X 伺服器合用, 不論是 坐在控制操作台 (console) 前面, 或是地球的另一邊, 感覺上並沒有不同 (除了 時間的延遲外)。 Telnet 伺服器監控程式 (daemons) 和用戶端程式, 在大部 Linux 的發行版本中都可以找到。 想在遠端操作介面 (remote shell) 的連線期間 (sessions) 將所有內容加密, 可以透過 SSH (http://www.cs.hut.fi/ssh/) 的方式, 他讓安全的遠端管理工作 成為可能。 相關資料請參考: * [62]Telnet related software 7.2 遠端下命令的方式 在 Unix 中 , 特別是在 Linux 上, 遠端命令方式的出現, 讓我們能夠透過操 作"介面" (shell) 與遠端的電腦溝通。例如: rlogin, 讓我們能夠以 telnet 類 似的方法, 簽入遠端機器; rcp, 讓我們能夠與遠端機器之間, 做遠端的檔案傳 輸, ..等等。 最後順便一提, 透過"遠端操作介面" (remote shell) 下命令的程 式 rsh, 讓我們不必實際地簽入遠端機器, 就能在該機器上執行命令。 7.3 X-視窗的方式 X 視窗系統於 1980 年代末期在 MIT 被發展出來, 他很快地成為 UNIX 圖形工作 站的工業標準。 這個軟體可以免費取得, 他極具通用性, 而且適合執行的硬體平 臺範圍廣泛。 任何 X 視窗系統, 由二個不同的部分組成 -- X 伺服器與 1 或多 個 X 用戶端。 暸解伺服器與用戶端間不同之處在那裡, 是件重要的事情。 伺服 器直接控制螢幕的顯示, 並且監控所有的輸出入裝置例如鍵盤, 滑鼠, 或螢幕。 用戶端, 則正好相反, 無法直接取用螢幕 - 他要透過伺服器, 纔能來操作所有的 輸出入動作。 用戶端就是"真正"執行運算工作的地方 - 執行應用程式或是其他 工作。 每當用戶端與伺服器連線時, 伺服器就會開啟一或多個視窗, 以便為該用 戶端, 操作輸出入動作。 簡而言之, X 視窗系統讓使用者能夠簽入遠端機器, 執行行程 (process) (例如 開啟一個網頁瀏覽程式), 並將其輸出結果顯示在自己的機器上。 因為行程 (process) 實際是在用戶端上執行, 伺服器端僅需要非常少量 CPU 計算能力。 因此想要設計一部, 主要功能純粹作為 X 視窗伺服器使用的, 電腦是可行的, 而 他就是所謂的 X-終端機。 Linux 上存在有免費的 X 視窗系統移植程式套件, 你 可以在: [63]Xfree 上找到。 該程式套件通常會附在大多數 Linux 的發行版本 中。 相關的 How-tos 請參考: * [64]Remote X Apps How-to 7.4 虛擬網路計算作業 (VNC) 的方式 虛擬網路計算作業 (Virtual Network Computing, 簡稱 VNC)。 他基本上是一個 遠端顯示系統, 讓我們不僅在執行程式的機器上, 能看到計算作業的桌面環境, 而且在 Internet 的任何地方, 即使使用各種不同的機器架構, 也都能看的到。 Linux 以及許多其他的作業平臺, 都存在有用戶端與伺服器的程式。 你可能會在 Windows NT 或 95 的機器上執行 MS-Word 程式, 而將輸出結果顯示在 Linux 機 器上。 反之亦然, 你可能會在 Linux 機器上執行應用程式, 而將輸出結果顯示 在別部 Linux 或 Windows 機器上。 你若有一個 Java 的用戶端, 你也可以在網 頁瀏覽程式中, 執行遠端顯示的計算作業。 最後順便一提, 你若使用一個移植到 Linux 的 SVGAlib 圖形程式庫, 便可以讓 386 的機器只要有 4 Mb 的少數記憶 體, 就能夠變成全功能的 X-終端機。 相關資料請參考: * [65]VNC web site 8. Linux 對網路互連的支援 Linux 的網路功能包羅萬項。 一部 Linux 機器, 可以被建構成路由器 (router), 橋接器 (bridge), ..等等。 特將一些可選用的網路功能描述於下: 8.1 路由器 (Router) Linux 的核心有內建的路由選擇 (routing) 功能。 一部 Linux 機器, 可以被建 構成一台 IP 或 IPX 路由器 (router) 他的花費僅是商業路由器 (router) 的零 頭而已。 最近發表的核心, 包含了一些特殊的功能選項, 都是用來設定路由器 (router) 的: * 多目的傳播 (Multicasting): 可讓 Linux 機器成為一個, 將 IP 封包傳播 到多個目的位址的路由器 (router)。 使用 MBONE 時, 就需要這種路由器 (router), MBONE 是 Internet 上, 一種需要高頻寬的網路, 他能夠載送聲 音和影像的廣播信號。 * 策略性 IP 路由選擇 (IP policy routing): 一般路由器 (router) 處理所 收到的封包時, 僅以封包的最終目的位址為路由選擇的依據, 但是路由的選 擇, 也可以將來源位址與封包所抵達的網路介面, 一起納入考慮。 還有一些相關的計劃, 包括一個主要目標在, 只要使用一片軟碟就可以執行 Linux 路由器 (router) 的計劃: [66]Linux router project 8.2 橋接器 (Bridge) Linux 的核心有內建的乙太網路橋接器 (ethernet bridge) 支援, 他的作用就是 讓連接過來, 不同乙太網區段 (Ethernet segments) 上面的各個節點, 使用起來 感覺就像是, 在同一個乙太網路上。 多部橋接器 (Bridge) 放在一起, 再加上 IEEE802.1 標準的 spanning tree 演算法的使用, 可以建構一個更大的乙太網路 。正如他是一個標準, Linux 橋接器 (bridge) 有了他之後, 可與其他第三協力 廠商的橋接器 (bridge) 產品正常地互接。 還有的程式套件, 可以過濾 IP, IPX 或 MAC 位址。 相關的 How-tos 請參考: * [67]Bridge+Firewall * [68]Bridge 8.3 IP-偽裝 (Masquerading) 功能 IP 偽裝在 Linux 上是一個發展中的網路功能。 如果一部 Linux 主機連接至 Internet , 而且其 IP 偽裝功能被開啟, 則連上他的其他電腦 (不論是在相同的 LAN 上, 或是透過數據機連上來的) 就算是他們沒有使用正式分配的 IP 位址, 都同樣可以通達 Internet。 他降低了上網的費用, 因為可以多人使用同一條數 據機連線來上 Internet, 同時他也增加了安全性 (從某些方面來看, 他的功能像 是一個防火牆 (firewall), 因為外界網路無法連接, 非正式分配的 IP 位址)。 IP 偽裝的相關網頁與文件: * [69]http://www.tor.shaw.wave.ca/~ambrose/ * [70]http://www.indyramp.com/masq/links.pfhtml * [71]http://sunsite.unc.edu/mdw/HOWTO/mini/IP-Masquerade.html 8.4 IP-計帳 (Accounting) 功能 這也是個 Linux 核心的選用功能。他被使用在 IP 網路流量的追蹤, 封包的記 錄, 以及產生一些統計的結果。 你可以定義一系列的規則, 以便當比對到某種樣 式的封包時, 就增加計數器的數值。 例如, 這個封包是被接受/拒絕的..等等。 8.5 IP 別名(aliasing) 功能 這個 Linux 核心所提供的功能, 使得我們可以在同一個低階網路裝置的驅動程式 下, 設定多重的網路位址 (例如, 在一片乙太網路卡裝置上, 設定二個 IP 位 址)。 通常我們會依照, 伺服器程式所監看網路位址的不同, 而來區分不同的服 務功能 (例如 "多重主機 (multihosting)" 或 "虛擬網域 (virtual domains)" 或 "虛擬主機服務 (virtual hosting services)" )。 相關的 How-to 請參考: * [72]IP Aliasing How-to 8.6 網路流量控制 (Traffic Shaping) 功能 網路流量控制功能, 是一種虛擬的網路服務, 他可以限制輸出到另一個網路裝置 的資料流速率。 這個功能在某些場合 (像是 ISP) 特別有用, 他被拿來控制與執 行, 限制每個使用者可以使用多少頻寬的策略。 另一個用途 (僅限於網頁服務) 就是某些 Apache 的模組, 可以拿來限制客戶端建立 IP 連線的個數, 或是頻寬 的使用量。 8.7 防火牆 (Firewall) 功能 防火牆是一個將私有網路, 從公眾範圍 (整個網際網路) 保護與獨立出來的裝置 。 他的設計使他能夠, 依據每個封包所含之來源位址, 目的位址, 埠, 以及封包 形態等資訊, 來控制封包的流通與否。 Linux 上存在有不同類型的防火牆工具套件 (toolkits) , 同時核心也有內建的 防火牆支援。 除了核心內建的支援外, 還有 TIS 和 SOCKS 二種防火牆工具套件 。 這二種防火牆工具套件非常完整, 若能與其他工具合併使用, 則可阻斷/重導 各類的網路流量與協定。 而且經由設定檔案或 GUI 程式, 可以實作出不同的網 路流量控制策略。 相關資料請參考: * [73]TIS home page * [74]SOCKS * [75]Firewall How-to 8.8 埠轉遞 (Port Forwarding) 功能 有互動交談能力網頁站台越來越多了, 他們使用 cgi-bins 或 Java applets 程 式, 來存取資料庫或其他服務。 因為這類存取方式, 可能造成安全上的問題, 所 以資料庫所在的機器, 不應該直接連上 Internet。 埠轉遞功能對這類存取問題, 提供了一個還算理想的解決方案。 透過防火牆, 進 入到特定埠編號的 IP 封包, 可以被改寫, 然後轉遞到內部實際提供服務的伺服 器上。 內部伺服器所回覆的封包也會被改寫, 使得他看起來是來自防火牆。 埠轉遞的相關資料可以在 [76]這個地方 找到。 8.9 負載均衡 (Load Balancing) 功能 通常資料庫/網頁的存取, 在多個用戶端同時向一個伺服器提出服務要求時, 會有 負載均衡的需求。 負載均衡的功能, 需要有多部相同的伺服器, 並將服務要求轉 送到負載較輕的伺服器上去。 我們可以透過網路位址轉換 ( Network Address Translation, 簡稱 NAT ) 技術的子功能 IP 偽裝來達到這個目的。 網路管理者 可以用一個邏輯的伺服器集合, 來共享同一個 IP 位址的做法, 取代過去僅使用 單一伺服器, 提供網頁服務 - 或其他應用 - 的方式。 藉著使用負載均衡的演算 方法, 將任何進來的連線要求, 轉向至特定的伺服器上去。 這個虛擬的伺服器, 會改寫進來與出去的封包, 所以用戶端對伺服器的存取是透通的, 他們會以為只 有一台伺服器。 Linux IP-NAT 的相關資料可以在 [77]這個地方 找到。 8.10 EQL (串列連線的負載均衡驅動程式) EQL 已被整合到 Linux 的核心中。 如果你有二條串列連線接到其他電腦 ( 這通 常需要二部數據機和二門電話線路 ) ,而且你在線路上面使用 SLIP 或 PPP ( 可 以在電話線路上, 傳遞 Internet 流量的通訊協定 ), 此時使用 EQL 驅動程式就 可以將二條串列連線, 看成一條二倍速的連線。 當然, 另外一端也必須支援這個 功能才可以。 相關的 How-to 請參考: * [78]EQL How-to 8.11 代理伺服器 (Proxy Server) proxy (代理) 這個詞彙的意義就是 "代替某些人做某些事"。在網路的用語中, 代理伺服器就是一部可以代替許多用戶端做事情的電腦。 HTTP proxy 就是一部 專門接收別台機器 (機器 A) 所發出網頁要求的機器。 代理伺服器會取得這份網 頁, 並將結果傳回機器 A。 代理伺服器可以將這份網頁, 存到快取記憶體 (cache) 中, 如果其他機器所要求的網頁, 在快取記憶體中正好有一份複本, 則 只會將該複本傳回。 這使得網路頻寬資源能夠有效運用, 而且降低了網頁回覆的 時間。 副作用就是, 用戶端機器無法直接連線到外面世界的網路, 而這個副作用 卻成為內部網路保密的方法。 一個設定完善的代理伺服器, 就像是一部功能優良 的防火牆。 在 Linux 上存在有數種代理伺服器。 一個普遍的解決方案就是 Apache 的 proxy 模組。另一個更完整與穩定的 HTTP proxy 工具程式就是 SQUID 。 相關的資料請參考: * [79]Apache * [80]Squid 8.12 隨選撥接 (Diald on demand) 功能 隨選撥接 (dial on demand) 功能, 使得電話撥接動作完全通透, 使用者只會看 到有一條固定的網路線路, 被連接到遠端的站台。 通常, 他會有一個監控程式來 監看封包的流量。當 "感興趣" 的封包 ( 所謂的 "感興趣" 通常是由一套 規 則/優先權/權限 來定義) 一抵達, 他就會與遠端建立網路連線。而當通道閒置一 段時間後, 就會停掉網路的連線。 相關的 How-to 請參考: * [81]Diald How-to 8.13 建立通訊協定隧道, 機動式電腦 IP 路由選擇協定 (Mobile-IP) 與虛擬私有網 路(Virtual Private Networks, 簡稱 VPN) Linux 核心允許我們建立通訊協定隧道 (也就是說將通訊協定封裝起來)。 他可 以在 IP 網路連線上建立 IPX 隧道, 這使得二個 IPX 網路可以透過唯一的 IP 網路連線互接。他也可以建立 IP-IP 隧道, 基本上是使用在 "機動式電腦 IP 路 由選擇協定" 的支援, 多目的傳播的支援, 以及業餘無線電網路。 (請參考網頁 [82]http://sunsite.unc.edu/mdw/HOWTO/NET-3-HOWTO-6.html#ss6.13) "機動式電腦 IP 路由選擇協定" 主要是針對 Internet 上機動式電腦的路由選擇 作特別的設計, 使得我們在傳送 IP "資料片段" (datagrams) 到機動式電腦時, 完全通透而不受影響。 每個機動式電腦的識別方式, 都是以他的 "原始位址" (home address) 來做為標記, 而與他目前連接到 Internet 的那個節點無關。 當機動式電腦不在他原始的位址上時, 他會回傳一個 "中介位址" (care-of address), 經由 "中介位址" 便可以知道該機動式電腦, 目前連接到 Internet 的那個節點。 機動式電腦透過此協定向 "原始位址處理機構" (home agent) 註 冊 "中介位址"。 而 "資料片段" 會透過 "原始位址處理機構" 的 IP-IP 隧道, 傳送至 "中介位址" 上去。 當資料抵達隧道的末端時, 每個 "資料片段" 會再傳 遞至機動式電腦上去。 點對點隧道通訊協定 (Point-to-Point Tunneling Protocol, 簡稱 PPTP) 就是 在 Internet 上使用保密的虛擬私有網路 (VPN) 的一種網路技術。 目前 Windows NT 伺服器, 已將 PPTP 與 "遠端存取服務" (RAS) 伺服器整合在一起。 透過 PPTP, 使用者可利用電話撥接至當地的 ISP, 或直接連上 Internet, 來取 用自己公司的網路服務, 使用起來感覺就好像是, 坐在自己的辦公桌前一樣。 然 而 PPTP 是一個封閉的通訊協定, 而且他的保密性最近也正遭受到質疑。 所以我 還是強烈建議各位, 使用其他在 Linux 平臺上的解決方案, 因為 Linux 上的解 決方案, 使用的是開放的標準, 並且都經過仔細的檢查與測試。 * 在 Linux 上的 PPTP 用戶端工具可在 [83]這個地方 找到。 Mobile IP 相關文件: * [84]http://www-uk.hpl.hp.com/people/jt/mip.html * [85]http://anchor.cs.binghamton.edu/~mobileip/ VPN 相關文件: * [86]http://sunsite.unc.edu/mdw/HOWTO/mini/VPN.html * [87]http://sites.inka.de/sites/bigred/devel/cipe.html 9. Linux 對網路管理的支援 9.1 網路管理的應用 應用在網路管理與遠端管理這方面工具非常多。 目前有二個吸引人的遠端管理計 劃, 他們是 linuxconf 與 webmin: * [88]Webmin * [89]Linuxconf 還有其他管理工具像是: 網路流量分析工具, 網路安全工具, 監視工具, 設定工 具, 等等。 一個存放有許多這類工具的檔案庫可以在網站 [90]Sunsite 找到。 9.2 簡易網路管理協定 (SNMP) 簡易網路管理協定 (Simple Network Management Protocol, 簡稱 SNMP) 是一個 提供 Internet 網路管理服務的通訊協定。 他讓我們可以監視與設定路由器, 橋 接器, 網路卡, 交換器 (switch), ..等等網路設備。 在 Linux 上有為數眾多 以, 程式庫, 用戶端, 伺服器端, SNMP 為基礎的監視程式可用。 關於 Linux 上 的 SNMP 軟體有個不錯的網頁可參考: [91]http://linas.org/linux/NMS.html 10. 以 Linux 架構企業網路 在某些情況下 (例如, 企業網路), 我們的網路基礎建設需要適當的機制, 用以確 保網路的可用度到 100% 的時間。接下來的幾個小節將會說明一些相關的技術。 所說明的內容大部分可以在 Linux 的最佳 web 站台 Linas : [92]http://linas.org/linux/index.html 以及在 [93]Linux High-Availability how-to 上找到. 10.1 提高可用度 使用冗餘技術可以避免單一的故障點, 癱瘓整個 IT (資訊科技) 系統。 當伺服 器只有一個網路卡或單一的 SCSI 磁碟機有二處單一故障點都會有這樣的顧慮。 冗餘技術的目的, 在掩飾系統不預期的中斷, 並讓使用者能馬上地繼續使用。 而 提高可用度的軟體, 則是一套自動監視, 檢測故障的, 命令稿 (script) 程式與 工具, 他會採取適當的步驟, 來回復系統的正常運作, 以及通知系統管理者。 10.2 冗餘廉價磁碟機陣列 (RAID) 冗餘廉價磁碟機陣列 (Redundant Array of Inexpensive Disks, 簡稱 RAID) 是 一種將資訊展開交叉儲存在多個磁碟機上的方法, 使用這個方法所提供的 disk striping (磁碟機平行儲存) (RAID 等級 0) 以及 disk mirroring (磁碟機映射 儲存) (RAID 等級 1) 的技術, 可以達到冗餘的目的, 以及使得讀且/或寫磁碟機 時, 有較低的等待時間, 且/或較高的頻寬, 和硬碟機故障時的可恢復性。 目前 已經有超過六種不同的類型的 RAID 架構被定義出來。 Linux 的使用者有三種類 型的 RAID 解決方案可選擇: 軟體 RAID, 外部的 DASD 裝置, 以及 RAID 磁碟機 控制器。 * 軟體 RAID : 在核心的磁碟機 (block 裝置) 程式碼中, 存在有以純軟體實 作出來的, 各等級的軟體 RAID。 * 外部的 DASD 解決方案 : 直接存取儲存裝置(Direct Access Storage Device, 簡稱 DASD) 是一個接在電腦外部的裝置, 有自己的電源供給, 並且 提供機櫃/機架來放置硬碟, 然而在 Linux 中卻只是把他當作另一個 SCSI 裝置。 就許多方面而言, 這個方法所提供的 RAID 解決方案, 算是最穩固的 了。 * RAID 磁碟機控制器: 磁碟機控制器就是一個插入 ISA/EISA/PCI 匯流排的配 接卡. 就像一般的磁碟機控制卡一樣, 他會有電纜連接到磁碟機裝置。 然而 與一般的磁碟機控制卡不同的是, RAID 控制器會在自己的配接卡上實作 RAID 功能, 提供各種 RAID 等級, 操作時所必須執行的動作。 相關的 How-tos 請參考: * [94]http://sunsite.unc.edu/mdw/HOWTO/mini/DPT-Hardware-RAID.html * [95]http://sunsite.unc.edu/mdw/HOWTO/Root-RAID-HOWTO.html * [96]http://sunsite.unc.edu/mdw/HOWTO/mini/Software-RAID.html RAID 在 linas.org 站台上的資料請參考: * [97]http://linas.org/linux/raid.html 10.3 冗餘網路連接 IP 位址接管 (IP Address Takeover, 簡稱 IPAT). 當網路配接卡故障時, 他的 IP 位址應該由相同或另一個節點上, 正常的網路卡來接管。 MAC 位址接管: 當IP 位址接管的情況發生時, 還必須確定網路上所有的節點, 是否更新了他們的 ARP 快取 (其內容為 IP 與 MAC 位址的對應)。 更詳細的內容, 請參考 High-Availability How-To 文件: [98]http://sunsite.unc.edu/pub/Linux/ALPHA/linux-ha/High-Availability- HOWTO.html 11. 資料的來源 何處取得更進一步的資料: * Linux 網站: [99]http://www.linux.org * Linux 文件計劃網站: [100]http://sunsite.unc.edu/mdw/linux.html (請 查看 Linux 網路管理者指引) * 鮮肉 (Freshmeat) 網站 : 提供最新版本的 Linux 軟體。 [101]http://www.freshmeat.net * Linux 超鏈結網站: [102]http://www.linuxlinks.com/Networking/ 12. 致謝 因著許多人的努力, 才將 Linux 造就成一個最佳的網路作業系統, 沒有他們就不 會出現這份文件。我要將所有的功勞都歸給他們。 我在這份文件上下了很多工 夫, 使得他雖簡單而不失正確性, 雖完整而不會太冗長。 盡管如此, 作者不保証 這份文件的內容, 在任何環境下皆適用。 引用這份文件所提供的的資料時, 各位 要自己承擔風險。 有任何建議, 以及內容的更正或補充歡迎來信指教, 以便本文 能有所改進。 其他的話題可能包括 radius, web/ftp 映射工具例如 wget, 流量 分析儀, CORBA... 以及許多其他建議與合適的項目, 在未來的版本中希望都能包 含進來。 你可以在 [103]這個地方聯絡到我。 最後我想要感謝 [104]FinnBj鷨n av Teilgum 在這份 how-to 文件 "beta-測試 階段" 時的細心校對。 Daniel L鏕ez Ridruejo 9th May 1998 References 1. http://sunsite.unc.edu/mdw/HOWTO/NET-3-HOWTO.html 2. http://www.terra.net/ipv6/linux-ipv6.faq.htm 3. http://playground.sun.com/pub/ipng/html/ipng-main.html 4. http://www.caldera.com/ 5. http://sunsite.unc.edu/mdw/HOWTO/IPX-HOWTO.html 6. http://www.secretagent.com/networking/wan.html 7. http://tsikora.tiac.net/i4l-faq/eng-i4l-faq.html 8. http://sunsite.unc.edu/mdw/HOWTO/PPP-HOWTO.html 9. http://sunsite.unc.edu/mdw/HOWTO/mini/SLIP-PPP-Emulator.html 10. http://sunsite.unc.edu/mdw/LDP/nag/nag.html 11. http://sunsite.unc.edu/mdw/HOWTO/HAM-HOWTO.html 12. http://lrcwww.epfl.ch/linux-atm/ 13. http://sunsite.unc.edu/mdw/HOWTO/Hardware-HOWTO.html 14. http://sunsite.unc.edu/mdw/HOWTO/Ethernet-HOWTO.html 15. http://thehamptons.com/anders/netatalk/ 16. http://www.umich.edu/~rsug/netatalk/ 17. http://www.umich.edu/~rsug/netatalk/faq.html 18. http://samba.anu.edu.au/samba/ 19. http://sunsite.unc.edu/mdw/HOWTO/SMB-HOWTO.html 20. http://sunsite.unc.edu/mdw/HOWTO/Printing-HOWTO.html 21. http://sunsite.unc.edu/mdw/HOWTO/IPX-HOWTO.html 22. http://sunsite.unc.edu/mdw/HOWTO/mini/NFS-Root.html 23. http://sunsite.unc.edu/mdw/HOWTO/mini/Diskless.html 24. http://sunsite.unc.edu/mdw/HOWTO/mini/NFS-Root-Client.html 25. http://www.redhat.com/support/docs/rhl/NFS-Tips/NFS-Tips.html 26. http://sunsite.unc.edu/mdw/HOWTO/NFS-HOWTO.html 27. http://www.sendmail.org/ 28. http://www.sbay.org/smail-faq.html 29. http://www.qmail.org/ 30. http://sunsite.unc.edu/mdw/HOWTO/Mail-HOWTO.html 31. http://sunsite.unc.edu/mdw/HOWTO/mini/Qmail+MH.html 32. http://sunsite.unc.edu/mdw/HOWTO/mini/Sendmail+UUCP.html 33. http://sunsite.unc.edu/mdw/HOWTO/mini/Mail-Queue.html 34. http://www.imap.org/imap.vs.pop.brief.html 35. http://sunsite.unc.edu/mdw/HOWTO/Mail-HOWTO.html 36. http://sunsite.unc.edu/mdw/HOWTO/mini/Cyrus-IMAP.html 37. http://www.linuxlinks.com/Software/Internet/Mail/ 38. http://sunsite.unc.edu/mdw/HOWTO/mini/TkRat.html 39. ftp://ftp.uu.net/usenet/news.answers/mail/list-admin/ 40. http://www.lsoft.com/ 41. http://www.greatcircle.com/majordomo/ 42. http://sagan.earthspace.net/~esr/fetchmail/ 43. http://www.apache-ssl.org/ 44. http://raven.covalent.net/ 45. http://www.c2.net/ 46. http://sunsite.unc.edu/mdw/HOWTO/WWW-HOWTO.html 47. http://sunsite.unc.edu/mdw/HOWTO/Virtual-Services-HOWTO.html 48. http://sunsite.unc.edu/mdw/HOWTO/Intranet-Server-HOWTO.html 49. http://www.linuxlinks.com/Software/Internet/WebServers/ 50. http://www.linuxlinks.com/Software/Internet/WebBrowsers/ 51. http://sunsite.unc.edu/mdw/HOWTO/mini/Public-Web-Browser.html 52. http://sunsite.unc.edu/pub/Linux/system/network/file-transfer/ 53. http://www.isc.org/ 54. http://www.linuxlinks.com/Software/Internet/News/ 55. http://www.isc.org/ 56. http://sunsite.unc.edu/mdw/HOWTO/DNS-HOWTO.html 57. http://sunsite.unc.edu/mdw/HOWTO/mini/DHCP.html 58. http://sunsite.unc.edu/mdw/HOWTO/NIS-HOWTO.html 59. http://www.mindware.com.au/ftp/smb-NT-verify.1.1.tar.gz 60. http://www.kernel.org/pub/linux/libs/pam/index.html 61. http://www.umich.edu/~dirsvcs/ldap/index.html 62. http://sunsite.unc.edu/pub/Linux/system/network/telnet/ 63. http://www.xfree86.org/ 64. http://sunsite.unc.edu/mdw/HOWTO/mini/Remote-X-Apps.html 65. http://www.orl.co.uk/vnc 66. http://www.psychosis.com/linux-router/ 67. http://sunsite.unc.edu/mdw/HOWTO/mini/Bridge+Firewall.html 68. http://sunsite.unc.edu/mdw/HOWTO/mini/Bridge.html 69. http://www.tor.shaw.wave.ca/~ambrose/ 70. http://www.indyramp.com/masq/links.pfhtml 71. http://sunsite.unc.edu/mdw/HOWTO/mini/IP-Masquerade.html 72. http://sunsite.unc.edu/mdw/HOWTO/mini/IP-Alias.html 73. http://www.tis.com/ 74. http://www.socks.nec.com/socksfaq.html 75. http://sunsite.unc.edu/mdw/HOWTO/Firewall-HOWTO.html 76. http://www.ox.compsoc.net/~steve/portforwarding.html 77. http://www.csn.tu-chemnitz.de/~mha/linux-ip-nat/diplom/ 78. http://www.abies.com/eql-howto.mhtml 79. http://www.apache.org/ 80. http://squid.nlanr.net/ 81. http://sunsite.unc.edu/mdw/HOWTO/mini/Diald.html 82. http://sunsite.unc.edu/mdw/HOWTO/NET-3-HOWTO-6.html#ss6.13 83. http://www.pdos.lcs.mit.edu/~cananian/Projects/PPTP/ 84. http://www-uk.hpl.hp.com/people/jt/mip.html 85. http://anchor.cs.binghamton.edu/~mobileip/ 86. http://sunsite.unc.edu/mdw/HOWTO/mini/VPN.html 87. http://sites.inka.de/sites/bigred/devel/cipe.html 88. http://www.webmin.com/webmin/ 89. http://solucor.solucorp.qc.ca/linuxconf/ 90. http://www.sunsite.unc.edu/pub/Linux/system/network/ 91. http://linas.org/linux/NMS.html 92. http://linas.org/linux/index.html 93. http://sunsite.unc.edu/pub/Linux/ALPHA/linux-ha/High-Availability-HOWTO.html 94. http://sunsite.unc.edu/mdw/HOWTO/mini/DPT-Hardware-RAID.html 95. http://sunsite.unc.edu/mdw/HOWTO/Root-RAID-HOWTO.html 96. http://sunsite.unc.edu/mdw/HOWTO/mini/Software-RAID.html 97. http://linas.org/linux/raid.html 98. http://sunsite.unc.edu/pub/Linux/ALPHA/linux-ha/High-Availability-HOWTO.html 99. http://www.linux.org/ 100. http://sunsite.unc.edu/mdw/linux.html 101. http://www.freshmeat.net/ 102. http://www.linuxlinks.com/Networking/ 103. mailto:ridruejo@esi.us.es 104. maitlto:efat@kampsax.dtu.dk