主要說明區域網路架構,以及 Linux 伺服器應該放置於何種角色的定位
談完了第二章網路基礎後, 現在就讓我們實際的來將家裡或者小型企業內部的全部電腦給他連接起來吧! 當然啦,我們這裡主要介紹的是小型區域網路的架構,如果是比較大型的企業內部, 那麼將『配線盤、線路設計、牆上網路孔』分別拆開施工的結構化佈線會比較妥當。 不過,結構化佈線並非本文所想要討論的,如果你的企業有需求的話,可以向專業人士尋求協助, 舉例來說,酷學園(http://phorum.study-area.org)的 ZMAN 兄就是一位很棒的網路佈線專家。無論如何,先來將所有的網路硬體連線起來吧!
從前一章的資料探討中,你現在應該已經知道區域網路的定義了。大部分狹義的定義中, 都將區域網路定位在一個以星形連線連接的實體網路中,再透過 IP 網段來連接在一起的情況。 所以啦,這個連線是怎麼連接在一塊的,以及 IP 網段是如何規劃的,就顯的非常重要囉!
記得以前聽 ZMAN 大哥某場演講的時候提到,網路佈線是『數十年大計』中最重要的一環, 因為『伺服器主機能力不夠時換主機就好了,Switch 交換力不足時換 switch 就好了, 但如果佈線不良,難道要拆掉房子將管線挖出來重新安裝設定?』所以說, 最初規劃的佈線嚴謹度真的會影響到未來網路的分佈情況啊!
所以說,如果你的企業『整棟大樓需要重新佈線』時,真的非常建議你務必要找尋專業網路佈線專家幫忙設計規劃, 因為連一個小小的機櫃配線箱都有大學問~設計的好的話,每部獨立的主機要改線路、 要換插孔都變的很簡單!而且主機到牆上插孔的距離也會變的很短,維護也會很方便!線段也會很美觀! 當然啦,如此一來,網路線材的選擇也就不能夠用太差的!而且網路佈線經過折角區時,也需要特別留意施工吶。
但是本文討論的是一些比較小的區域網路環境,這樣的環境可以是在一間辦公室內而已, 所以我們這裡談到的大多是比較單純的佈線狀態,並沒有考慮到辦公室外部的環境, 所以參考本文時,請特別留意這種差異性喔!
在這樣單純的環境中,我們可以利用一個以 switch 為中心來串連所有設備的星形連線 (star topology) 架構來設計我們的區域網路啊!在這樣的環境中你需要擔心的是『那我的 Linux 伺服器要放在那個地方?』會考慮 Linux 伺服器是因為鳥哥假設你需要在你的區域網路內架設對 Internet 開放網路的服務! 而 Linux 是否具有 Public IP 對於主機的維護與設定的複雜度有很大的影響,所以當然需要考量囉! 底下鳥哥以目前在台灣挺流行的 ADSL 利用電話線路上網的環境來說明幾種連線狀態。
在底下的環境當中,鳥哥假設我們僅有一條 ADSL 的對外連線,也就是說, 我們的 Linux 與一般 PC (不論何種作業系統) 都是透過同一條線連到 Internet 上面去的。
如果你使用的 ADSL 是多 IP 的條件 (例如撥接可以給予 2-8 個 IP 的情況), 那麼最簡單的方式就是如下圖的連線模式:
在這種連線模式當中, Linux 與一般 PC 或印表機都是同等地位,並沒有誰比較『大尾!』^_^ 如果不急著連上 Internet 時,那麼每個設備都給予一個同網域的私有 IP 就可以進行網路連線的工作了,你也可以很快樂的使用印表機或者是網路上的芳鄰等等工作。 此外, Linux 伺服器也可以作為內部的檔案伺服器或者是印表機伺服器等等。
當需要連上 Internet 時,每部電腦 (包括 PC 與 Linux 主機) 都可以自己直接透過撥接連上, 而由於撥接是在每部機器上面『額外增加一個實體的 ppp0 介面』, 此時,你的系統內就會有兩個可以使用的 IP 了 (一個是 public 一個是 private IP)。因此, 撥接上網之後每部主機還是可以使用原有的區域網路內的各項服務,而無須更動原本設定妥當的私有 IP 。 這樣的情況對於一般家庭使用者來說,可以算是最佳的解決方案啦!因為如果你的 Linux 主機掛點時, 其他個人的 PC 是不會被影響的!
不過這樣的環境對於小型企業主來說,卻不好管理。因為無法掌握每個員工實際上網的情況, 而且對於防火牆來說,『根本就是一個沒有防火牆的環境』,所以, 是沒有辦法對員工進行任何實際網路的掌控的,並且由於網路內外部 (LAN 與外部環境) 並沒有明確的分開,網管人員對於進入用戶端的封包是沒有任何管理的能力, 所以對於網路安全來說,是很難管控的一種環境啊!因此對於企業來說,不建議這種環境。
如果你有多個可用的 public IP ,並且你的 Linux 伺服器主要是提供 Internet 的 WWW 或 mail 服務, 而不是作為內部的檔案伺服器之用,那麼將 Linux 伺服器與內部的網域分開也是個可行的方法, 而且 Linux 擁有 public IP,在設定與維護上面也不困難,如下所示:
所有的 LAN 內的電腦與相關設備都會在同一個網域內,所以在 LAN 內的傳輸速度是沒有問題的, 此外,這些電腦要連出至 Internet 時,必須要透過 IP 分享器,所以你也可以在 IP 分享器上面設定簡單的防火牆規則, 如果 IP 分享器可以換更高階的設備時,那麼你就可以在該設備上面架設規則較為完整的防火牆, 對於內部主機有相當程度的管理,並且好維護啊!
如果你不想要購買 IP 分享器的話,那麼直接利用 Linux 伺服器來管理就好了啊!那麼你可以這樣佈線:
這種情況下,不論你有多少個 IP 都可以適用的,尤其是當你只有一個 public IP 時,就非得使用這種方式不可了。 讓 Linux 作為 IP 分享器的功能相當的簡單,同時 Linux 必須具備兩張網路卡,分別是對外與對內, 由於 Linux 依舊具有 public IP ,所以在伺服器的設定與維護上相當的簡單,同時 Linux 伺服器可以做為內部網域對外的防火牆之用,由於 Linux 防火牆的效能挺不錯加上設定也很簡單,功能卻也是很不錯的! 因此,網路管理人員也較能進行較完善的掌控,並且, Linux 伺服器也要比高階的硬體防火牆便宜多了! ^_^ 鳥哥個人是比較喜好這種方式的連線啦!
不過,我們都知道『伺服器提供的網路服務越單純越好』, 因為這樣一來主機的資源可以完全被某個程式所使用,不會互相影響,而且當主機被攻擊時, 也比較能夠立即瞭解是那個環節出了問題。但是如同圖 3.1-3 的狀況來說的話,由於內部的 LAN 是需要通過 Linux 才能連線出去,所以 Linux 掛點時,整個對外連線就掛了,此外, Linux 的服務可能就太複雜了點,可能會造成維護上的困難度。 但對於小型區網來說,圖 3.1-3 這種架構還是可以應付的來的啦!
我們可以將 Linux 伺服器放在 LAN 後面喔!瞎密?我們的 Linux 主機放在 LAN 裡面?有沒有搞錯啊?沒搞錯啊~ 比較大型的企業通常會將他們的伺服器主機放置在機房內,主要是在 LAN 的環境下, 再透過防火牆的封包重新導向的功能,將來自 Internet 的封包先經過防火牆後才進入到伺服器, 如此一來可在防火牆端就砍掉一堆莫名其妙的偵測與攻擊,當然會比較安全啊! 這種架構還依防火牆的多寡而又可分為非軍事區 (DMZ) 的配置,不過,太麻煩了~不建議初學者直接使用。 底下我們僅介紹較簡單的架構來說明:
這裡我們以一個較簡單的圖示來說明,所以利用的還是 IP 分享器,可能的話, 你可以將 IP 分享器換成 Linux 主機來架設防火牆,也是一個不錯的選擇啊! 反正現在電腦天天在升級,升級後的舊配備其實就可以作為 Linux 防火牆之用了! 反正防火牆又不需要什麼硬碟與強效的顯示或者 CPU, 只要有不錯的網路介面就能夠達到不錯的防火牆效能了。
不過這裡得再次的強調, Linux 伺服器主機若放在 LAN 裡面 (使用 private IP),則當你要對 Internet 提供網路服務時, 防火牆的規則將變的相當複雜,因為需要進行封包轉遞的任務,在某些比較麻煩的協定當中, 可能會造成設定方面的困擾。所以,在你初接觸 Linux 伺服器時, 不建議新手使用這種連線架構,避免由於失去信心而沒有動力學習~(@_@)。
每種連線的方式都有其適用的使用者群,所以沒有那個是比較好的,完全是看你自己的網路環境而定喔! OK!我們現在知道要連上乙太網路組成的區域網路,就得要有網路卡、網路線、網路集中媒體(hub/switch)、 連上 Internet 的數據機等等,在這裡鳥哥將防火牆、路由器等等設備歸類為主機, 因為基本上,這些元件內部一定會含有一個網路卡,只是作業系統的精簡程度與軟體功能的不同就是了。 那麼這些所需要的網路硬體又該如何挑選呢?
在開始底下的介紹之前,你必須要對於跳線、平行線、RJ-45 網路線、Hub/Switch 的優劣等等有一定程度的瞭解,請再前往第二章網路基礎看一看。 此外,不在我們區域網路內的設備,例如數據機,那就得向你的 ISP 詢問了!一般來說, 數據機是中華電信提供給用戶的,然而由於『中華電信因為不同批次安裝的數據機模組不同, 所以會有不一樣的連接與線材處理方式!』(跳線與平行線的差異喔!) 所以請特別向你的 ISP 詢問才行。底下主要針對區域網路內的網路媒體來進行介紹與說明。
事實上,選購網路媒體所需要考量的參數實在太多了,並且沒有一定的依據,完全與使用者的使用環境與未來功能性有關。 不過,如果著眼在單純的硬體速度上面的話,那麼選購時考量『我的網路速度可接受的最低速度為何?』去考慮吧! 如果行有餘力的話,再來考慮『我的環境需要多穩定的設備來達成?』其他的,那就得要靠你自己摸索囉! ^_^
除非你已經具有相當熟練的 Linux 系統與伺服器架設維護經驗,否則不建議你使用上面圖 3.1-4 所介紹的連線模式,對於初接觸 Linux 伺服器架設與維護的朋友來說,將你的連線模式設定成圖 3.1-3 應該是個不錯的選擇,除了可以讓你簡單的就將伺服器架設成功之外,也可以讓你以 Linux 做為內部 LAN 的防火牆管理中心, 對於未來的學習成長方面較有幫助啊! ^_^
為使你的伺服器學習之旅較有連貫性,因此鳥哥將後續章節會使用到的區網環境以圖 3.1-3為範本, 設計一個區網,包括相關的網路參數如下所示:
在上圖的環境下,我們主要介紹的是 www.centos.vbird 那部 Linux 主機,該主機必須要具有 router 的能力,所以當然必須就要有兩個介面,一個介面與 Internet 溝通,另一個介面則與內部的 LAN 溝通。那麼為什麼鳥哥說的是『兩個網路介面』而不是『兩張網路卡』呢?原因很簡單, 因為一張網路卡可以設定多個 IP 啊!因此,在 Linux 當中一張網路卡可以具有一個以上的 IP 呢!由於一個 IP 即為一個網路介面,因此只要兩個網路介面 (不論有幾張網路卡) 即可進行 NAT (類似 IP 分享器功能) 的設定啦!所以自然一個網路卡即可囉!不過,鳥哥個人還是比較喜歡並且建議兩張網路卡的啦, 將內外網路環境完整的分開,讓你的內部網路效能較佳一點!
關於與 Internet 的連線方面,就如第二章談到的,目前在台灣最常見的有 ADSL, Cable Modem, 學術網路的固定 IP 等, 這些連線的方式我們將在後續章節繼續介紹的。至於內部的 LAN 我們則建議使用 Private IP 來設定喔! 鳥哥通常喜歡使用 192.168.1.0/24 及 192.168.100.0/24 這幾個 Class C 的網域,沒什麼特殊原因,只是因為....我喜歡! ^_^ 在選定了 Private IP 的網段後,你必須要有『IP, Network, Netmask, Broadcast, Default gateway 以及 DNS 伺服器的 IP』等等的設定值。 假設我 Linux 主機的對內 IP 為 192.168.100.254 ,則在圖 3.2-1 內的 LAN 內的 PC 之網路相關設定參數則為:
目前網路社會最通用的通訊協定就是 TCP/IP 了!因此你如果要連上 Internet ,你的系統就得要支援 TCP/IP 才行。 但在區域網路內部時,事實上還可以透過簡單的通訊協定來達到資料傳輸的目的,例如 NetBEUI 就是一個常見的簡易通訊協定。
在 Linux 系統當中,只要將網路參數設定妥當,那麼 TCP/IP 就已經被啟用了,所以你不需要額外的再安裝其他的通訊協定。不過,如果你需要將你的 Linux 系統中的硬碟空間分享給同網域的 Windows PC 時,那麼就需要額外的加裝 SAMBA 這個伺服器軟體才行。相關的 SAMBA 資料我們會在後面的章節提及。反正不管怎麼說,目前 Internet 就是經由 TCP/IP 來進行連接的,而 Linux 本身就支援了 TCP/IP ,所以不需要額外的安裝有的沒的說!
至於在 Windows 部分就比較麻煩一點,因為在較大型的企業當中,還需要額外的考慮到 Windows Server 所提供的服務,那麼在 Windows Clients 端就得要相應的啟動某些通訊協定才行。一般來說,在 Windows Client 系統裡面,最常見的兩個通訊協定就是 TCP/IP 以及 NetBEUI 這兩個通訊協定了。如果你只想讓 Windows 與 Linux 能夠藉由網路上的芳鄰互通有無,那麼啟動 TCP/IP 也就夠了 ( 因為 SAMBA 是藉由 NetBIOS over TCP/IP 來達成資料傳輸的 ) ,不過,也可以同時啟動 NetBEUI 這個通訊協定就是了。
我們這本書談論的是以 Linux 主機提供的伺服器為主,所以關於 LAN 裡面的 Windows 我都將他假設為 Client,並且不提供網路服務,所以都先以固定的 Private IP 來設定 Windows 作業系統,如果你的 LAN 有其他的考量,那麼底下的設定就看看就好。
我們在 Windows 系統上所需要的網路參數除了 IP, netmask, DNS 之外,還需要『工作群組, workgroup』與 『電腦名稱, Netbios name』等等的設定,此外,我們也可以加上 LAN 裡面很常見的 NetBIOS (NetBEUI) 這個通訊協定吶。因此,除非你確定你的網域內還有其他的工作站, 否則『請只要安裝 TCP/IP 以及 NetBEUI 這兩個協定就好了!』 安裝太多反而會有問題呢!底下我們假設你的網路卡都安裝好了,並以圖 3.2-1 裡面那部內部區網的 winxp 主機為例來介紹:
基本上, Windows 的網路參數設定是相當的簡單的!鳥哥這裡僅介紹修改 IP 與相關網路參數的方式而已。 未來如果還需要搭配 DHCP 主機、NAT 主機等等伺服器的設定時,會再次的提醒使用者 Windows 的設定資訊喔!尤其是 SAMBA 主機的設定中, Windows 的網路識別就顯的相當的重要呢!