以Windows 2000架構企業網路
本文是同步發表於RUN!PC雜誌。
撰寫對象鎖定為中小企業,實際上也適用於校園網路建置。
作者:李忠憲 E-mail:shane@mail1.tmtc.edu.tw
一、前言
Windows 2000 在上市後,並未如預期引起很大的旋風,一方面與Linux的興起有關,另一方面則因為微軟公司面臨美國司法部分家的判決,對微軟的聲勢也不無影響。過去在Internet伺服器的市場,微軟的產品除了IIS獲得廣泛肯定以外,其餘應用領域可以說是無用武之地,同時因為Linux的網路功能完整又免費,所以微軟只能繼續稱霸工作站級的市場。在Win2000推出之後,這種情況即將會起變化。
隨著Win2000的推出,此新版的NT作業系統,因為在網路機制上做了大幅度的改進,能夠更契合的融入網際網路之中,所以幫助微軟公司跳脫出區域網路供應商的角色,而能夠轉戰到大型伺服器、網際網路市場,與UNIX一決雌雄。玩過Win2000之後,我們知道微軟的野望不會只是空想。
除了伺服器的持續改良,在路由功能上面由於微軟公司與Cisco公司的結盟,為Win2000帶來了一些重要的變化,過去因應Router需求而開發的許多通訊協定和機制,有部分已被內建於Win2000之中,使得Win2000也具備了部分路由器功能。對中小型企業網路來說,使用Win2000當Router不失為一個良好的選擇。
本文擬就企業級網路的建構來探討Win2000在這方面的實力,本文所說的「企業級」網路,是專指中小型企業的公司內部網路,電腦數量在5台到500台的範圍內。至於大型公司或ISP級的大型網路,不在我們討論之列。
二、Win2000內建伺服器
為了攻佔伺服器市場,微軟在Win2000中大量內建了各種伺服器,純粹就機能而論,雖然還無法與Linux平台相提並論,但是在安裝設定、管理介面上面,比起Linux更能吸引眾多MIS人員的目光,這也使得Win2000具備了與Linux抗衡的競爭力,特別是對特殊需求不高的中小企業網路來說更是如此。雖然筆者也是Linux的愛用者,但也不得不對Win2000的這種做法表示欣賞。
Win2000在網際網路上的各種伺服器,除了將以往舊有的網頁(IIS)伺服器進行了系統安全增強的改版以外,還內建了電子郵件及多媒體影音伺服器,可以讓想要建構網際網路服務,但是又對UNIX不熟悉的公司或個人,得以輕鬆的建構網站,可以說真正做到隨裝即用的境界。
多媒體影音市場,一直是被real network等幾家影音伺服器的技術先行者所掌握,此次將多媒體影音伺服器內含在Win2000中,也是一種市場攻防策略。Win2000內建的影音伺服器功能完整,除了支援NetShow隨選視訊以外,也支援即時影像(Multicast)的推播。如果您對播映品質的要求不高,而且主要是要對Internet上的廣大群眾服務,那麼採用這種Client端已經內建在瀏覽器裡面的方案,的確是便宜又大碗。
新增加的網路驗證(RADIUS)伺服器,可以針對一些帳號管理比較麻煩的網路設備做設定。以撥接終端伺服器為例,過去必須以telnet方式連線,然後以手動方式,一筆一筆將使用者帳號加到users pool裡面,當使用者人數眾多時,這種管理方式就顯得吃力,再加上使用者無法自己隨意變更密碼,必須由網路管理人員親自服務,不但工作負荷太重,也浪費了人力。現在您只要讓Win2000來管帳號,公司內部現有的NT帳號就可以直接使用,不必另外加建帳號。當撥接時,撥接終端設備只負責PPP連線,而由Win2000來進行帳號認證的工作,這樣可以有效減輕管理工作。如果再配合WSH(Windows Script Host)程式,可以做到自動管理帳號的功能,進一步使網管的工作負擔更輕。
以往固有的幾種伺服器在Win2000中或多或少都有所進步,IIS 5.0比起IIS 4.0要來得安全,在SSL安全連線方面再加以改良(取名叫SGC),認證方式不同意味著更難破解入侵,連線交易也就更為安全。IIS 5.0在ISAPI上面也作了一些改良,使得UNIX上面的一些Web模組更容易移植到Windows平台,例如:Perl、PHP......等等。最特殊的是,遠端列印現在也可以在網頁上直接管理了,這項功能更是前所未有的妙點子。
DNS和DHCP的改變幅度也相當大,真正做到在UNIX上面還很難達成的動態DNS。也就是能夠讓DNS與DHCP相互溝通,在不需要人力介入的情況下,自動管理電腦主機的正反解紀錄。
三、解決上網連線問題
Win2000除了以內建伺服器程式來擴大Win2000的打擊面以外,在網路機制方面,Win2000也揚棄舊有的NetBEUI通訊協定,全面改採TCP/IP通訊協定,並新增許多在UNIX世界行之多年的網路機制。其中對網路建置最有幫助的網路位址轉譯(NAT)及IP防火牆功能,則已內建在Win2000裡面。
所謂網路位址轉譯(NAT),就是用一台NAT Router來擔任內部網路與外部網路的中介者(白手套啦),NAT Router在接收到內部網路送來的封包時,會改寫封包裡頭的TCP/UDP標頭(header),將假IP改為合法IP之後再傳輸出去,同樣的從外部網路進來的封包,也會經過轉譯,再傳輸給相對應的內部工作站或伺服器。
NAT的機制又可區分為一對一,多對一,多對多三種。一對一是一個假IP對應成一個合法IP,主要用來做對外服務伺服器的對應(詳見後文);多對一是把整個內部網路的假IP對應成設定在NAT Router上的合法IP,對外部網路來說所有的網路服務要求都來自NAT Router,而實際上是來自整個內部網路;多對多也是用來做大批工作站的對應,和多對一對應一樣其目的就是要解決合法IP不足的困境,例如:內部250台電腦共用6個合法IP,以便向外部網路取得服務。
Win2000裡面依據不同需求,將NAT功能細分成兩種,較簡單的是用來作數據機分享的ICS,以及較複雜的全功能NAT;前者是以多對一的機制來實作,後者則三種對應都可以使用。這兩種NAT功能都可以應用來解決上網連線問題,底下就模擬兩種常見的狀況,來說明如何使用Win2000的NAT機制。
注意:這些例子裡所引用的網域名稱以及IP位址都是筆者假設的,請依照您自已的狀況來設定,不要完全照著做。
模擬狀況一:分享Modem撥接服務(ICS)
A公司為某企業加盟店,公司內部僅有五台工作站,而且只有一台Modem,想讓其他電腦也能上網瀏覽網頁或收發電子郵件,該怎麼辦?
解決方式:
- 架構一個區域網路,以HUB連接所有的工作站。
- 架設一台Win2000並安裝Modem,接著使用連線精靈設定ISP的撥接帳號。
- 此台Win2000的IP設定為假IP 192.168.0.1。
- 請打開Win2000上面的「網路和撥號連線」視窗,在設定好的撥號連線上面,按右鍵選內容,在「共用」活頁中將共用功能開啟。
- 請執行Win2000上面的「路由及遠端存取」管理員,編輯「網路位址轉譯」的內容,將「內容」視窗裡面的「位址指派」功能開啟。此位址指派功能,是一個簡化版本的DHCP Server。
- 請將「內容」視窗裡面的「名稱解析」功能開啟。指定「當需要名稱解析時便連線到公共網路」,撥號介面指定為先前所設定的撥號連線。
- 所有工作站的IP設為自動取得。
- 現在您可以讓所有電腦透過同一個Modem上網了。
模擬狀況二:以網路位址轉譯來分享連線(NAT)
B公司為小型企業,公司內現有三十台辦公用電腦,並且已申請HiFly,以ADSL方式連線至Internet,但是中華電信所配的合法IP只有五個(210.68.0.1~5),想讓其他電腦也能上網瀏覽網頁或收發電子郵件,該怎麼辦?
解決方式:
- 將Win2000安裝在一台插有兩片網路卡的電腦上,第一片網路卡IP設定210.68.0.1(合法IP),第二片網路卡的IP設為192.168.0.1(假IP)。
- 將ADSL數據機(ATU-R習稱‘小烏龜‘)連進來的網路線,接在Win2000的第一片網路卡上面;第二片網路卡則連接到HUB上。
- 所有工作站接上HUB,組成公司內部區域網路。
- 在Win2000伺服器上安裝DHCP服務,將192.168.0.2~255這群IP指派給DHCP管理。
- 所有工作站的IP設為自動取得,DNS可以設定到ISP所提供的DNS伺服器上面,例如:168.95.192.1(這是HINET的DNS伺服器位址)。預設閘道請設定為192.168.0.1。
- 請執行Win2000上面的「路由及遠端存取」管理員,「設定含有網路位址轉譯路由通訊協定的路由器」,將此路由器設定在第一片網路卡上面。
- 安裝完畢以後,不需做任何設定,您的工作站已經通通可以上網了。
四、解決伺服器對外服務問題
由於NAT機制的作用,所有使用假IP的電腦會在Win2000上面將IP轉譯為合法IP(Win2000對外網卡的IP),進而達成共享連線的目的。但是內部網路所有的電腦都採行假IP,那又要如何架設對外服務的伺服器呢?
對外服務的伺服器必須使用合法IP才能讓外界連通,Win2000提供的做法有兩種,一種是使用埠轉送(Port Forwarding)的功能,另一種是使用NAT的一對一對應。
埠轉送是將送到NAT Router的某個特定埠的封包,轉送給內部特定伺服器作處理。轉送的埠號與伺服器所提供的服務類型相依存,例如:網頁伺服器(HTTP)使用TCP Port 80、收取電子郵件(POP3)使用TCP Port 110......等等。對於外部網路來說,它們認為所有的服務都是由NAT Router這台電腦所提供,實際上卻是由隱藏在內部網路的多台伺服器對外提供各種服務。由於內部伺服器使用假IP,因此外部網路無法直接接觸主機, 必須依靠NAT Router以改寫封包方式來進行轉送,所以相對能提高內部伺服器的安全性。
使用一對一對應的做法,NAT Router會將特定的合法IP轉譯成特定的假IP,目的是讓外部網路的服務要求封包,能通透的傳輸到內部伺服器上。也因為透過一對一對應會使外部網路得以接觸到內部伺服器,因此其安全性不足,必須額外以防火牆來過濾IP封包,以避免被駭客入侵和破壞。
因為要進行埠轉送或一對一對應,所以在伺服器上面不管是假IP或合法IP都必須要設定成靜態IP,不可以靠DHCP作動態配置,以下就針對埠轉送和一對一對應的實際應用加以說明。在第二個例子中,如果要增進網路效能,還牽涉到內外DNS設置問題,本文不擬討論。
模擬狀況一: 使用埠轉送架設網頁伺服器
延續上面所舉的例子,B公司雖然已經可以讓員工上網,但是為了要架設自已公司的網頁伺服器對外服務,所以向網路上免費提供DNS轉址服務的公司註冊了一個站台名稱(www.b.jump.com),要如何來架設自己的網頁伺服器呢?
解決方式:
- 到DHCP伺服器上面(記得嗎?在這個例子裡,DHCP和NAT Router是同一台,在192.168.0.1),開啟DHCP管理員,將託管的IP範圍192.168.0.2~255中,將192.168.0.2排除在外,不要分配出去。
- 找一台好一點的電腦,安裝Win2000時一併把網頁伺服器(IIS 5.0)裝起來。這台電腦的IP請不要設定為自動取得,而是設定為192.168.0.2。此時內部網路有兩台Win2000伺服器,一台是NAT Router兼DHCP,另一台是IIS。
- 連線到DNS轉址服務公司jump.com網站,將先前註冊的www.b.jump.com的IP設定為210.68.0.1(別懷疑,沒有錯!我們把NAT Router拿來當IIS的化身)。
- 開啟Win2000電腦上面的「路由及遠端存取」管理員,點選「IP路由器」裡的「NAT」選項,在第一片網路卡上新增靜態位址集區:起始位址為210.68.0.1,網路遮罩為255.255.255.248。接著設定埠轉送規則,將210.68.0.1的port 80轉送到192.168.0.2 的port 80。
- 現在就可以對外提供網頁服務了。埠轉送的好處是放在內部網路的網頁伺服器,對外界來說是不存在的,其安全性非常高。
模擬狀況二: 以一對一方式,架設DNS及網頁伺服器
C公司為一個大型公司,公司已經有一組合法C級IP 210.68.0,但因電腦數眾多,仍必須使用NAT解決方案。公司內部是以租接T1專線方式上網,但是為了要架設自已公司的網頁伺服器對外服務,所以向台灣網路資訊中心(TWNIC)申請了自己的網域名稱(b.com.tw),要如何來管理自己的伺服主機呢?
解決方式:
- 先架設公司內部網路環境,由於電腦數超過合法IP範圍,可以用Win2000當Router,建置成兩個虛擬C級網路:192.168.0和192.168.1。
- 此時連接192.168.0和T1專線的Win2000設定成NAT Router,設定方法參考前一小節。連接192.168.0和192.168.1的Win2000則當成普通Router使用,不需作任何設定。
- 找一台Win2000伺服器,在上面安裝DNS服務,將電腦名稱改為DNS,網域尾碼為b.com.tw,IP設成192.168.0.2,這部電腦將對應成210.68.0.2。
- 連線到TWNIC網站,將210.68.0.2註冊為公司的DNS伺服器。
- 開啟DHCP管理員,將託管的IP範圍192.168.0.2~255中,將192.168.0.2和192.168.0.3排除在外,不要分配出去。
- 找一台好一點的電腦,安裝Win2000時一併把網頁伺服器(IIS 5.0)裝起來。這台電腦的IP請不要設定為自動取得,而是設定為192.168.0.3。
- 開啟Win2000電腦上面的DNS管理員,新增b.com.tw領域及0.68.210.in-addr.arpa領域。
- 在b.com.tw領域裡面新增要對外服務的電腦主機 (電腦名稱是WWW,IP是210.68.0.2),勾選自動建立反解紀錄。
- 到NAT Router上面,開啟「路由及遠端存取」管理員,點選「IP路由器」裡的「NAT」選項,設定第一片網路卡的靜態位址集區起始位址為210.68.0.0,網路遮罩為255.255.255.0。接著將210.68.0.2保留給192.168.0.2,接著將210.68.0.3保留給192.168.0.3。
- 現在就可以對外提供網頁服務了。使用一對一NAT對應,會讓所有外部來的連線要求,直接送到內部伺服器去處理,因此安全性比較差,必須額外設定防火牆功能來增進安全,還好防火牆功能已經內建在Win2000裡面了。
五、解決防火牆需求
過去對防火牆的觀念認為是在內部網路與外部網路之間,靠一台防火牆做內外阻隔與封包過濾,來增進內部網路主機的安全性。但是這樣只能算是防了一半,因為來自防火牆內部的入侵和破壞是防不到的。
防火牆內建在伺服器上的一個重要的指標意義,也就是意味著單機防火牆的時代已經來臨。是的,只要是Win2000伺服器就內建防火牆機制,因此它的安全性也就比過去整個網路只靠一台防火牆要好得多。
Win2000裡面把防火牆規則加以組織,分為兩個階層:第一個階層稱為安全原則,安全原則是由一套完整的防火牆規則組成,Win2000系統預設有三種不同等級的安全原則,分別是用戶端、伺服器和安全性伺服器。
防火牆規則在Win2000裡面稱為篩選器,篩選器在UNIX系統裡面分為Input、Output、Forward三種,但是在Win2000裡面分為輸入篩選器與輸出篩選器兩種。
所謂輸入篩選器,是指當訊息封包進入網路卡時做接受與否的處理。而輸出篩選器恰恰相反,是指當訊息封包從網路卡送出時做傳輸與否的處理。至於UNIX下的轉送(Forward)機制,則由輸入與輸出篩選器作規則交集來代替。
進一步來探討篩選器,一個篩選器就是一條過濾規則。篩選器的組成要素如下:封包來源、封包目的地、封包類型、管制設定。封包來源和封包目的地是指定過濾規則針對從某些IP送到某些IP的封包做檢查的動作。檢查該封包的通訊協定類型與埠號是否符合要管制的對象,如果符合就進行管制。管制又可區分為三種,即放行、攔阻和交涉安全性,前兩者可以望文生義,第三種「交涉安全性」管制方式,意思是指通過某種安全驗證機制有條件允許連線,當然採用何種驗證可以由網路管理師來自行設定。
有關安全驗證機制的進一步說明,留待後面幾個小節再探討。底下就以例子來說明,這兩種防火牆的應用場合。
模擬狀況一: 內外阻隔型防火牆
延續前一個例子,C公司內部網路已經採用NAT來解決IP不足問題,也連帶使內部網路隱藏起來而具備了基本的安全性,那麼如何進一步來增強安全性呢?
解決方式:
- 在前述之Win2000上面(NAT Router兼DHCP再兼DNS那一台),開啟「路由及遠端存取」管理員,點選「IP路由器」裡的「一般」選項,在連接對外網路的網路卡介面上,新增輸入篩選器。
- 輸入篩選規則如下:封包來源為任一網路,目的地為210.68.0.2(此位址已指定給網頁伺服器),封包類型為HTTP(TCP port 80),勾選「丟棄所有封包(符合下列條件者除外)」,另外DNS所是用的TCP、UDP Port 53也比照辦理,不過目的地是192.168.0.1。
- 以上規則是令網路卡僅接受存取網頁伺服器,其餘的外來封包全部丟棄,以保護內部網路的安全。
- 輸出篩選器不必設定,預設值為通通放行。也就是對於內部網路連到外界的封包,不做管制,讓公司員工可以很通透的來使用任何網路資源。
模擬狀況二: 單機型防火牆
延續前一個例子,C公司已經建立內外阻隔型的防火牆,那麼又要如何防止來自內部網路的駭客去竄改公司的網頁呢?
解決方式:
- 在前述之網頁伺服器上面,開啟「本機安全性原則」管理員,點選「本機電腦上的IP安全性原則」。
- 啟用「安全的伺服器(需要安全性)」。在這裡解釋一下,「要求安全性」和「需要安全性」的不同:所謂要求安全性,是指電腦會主動要求使用Kerberos驗證(詳見後文),但也允許未驗證者連入;而需要安全性,則會強制必須使用Kerberos驗證,否則就中斷連線。
- 如果需要針對某些IP或某些port做防堵,請開啟「安全的伺服器(需要安全性)」安全原則,參考前一個例子來新增自訂規則。如果不設定自訂規則,預設值是接受屬於內部網域成員的連線,換句話說,必須通過身分驗證的使用者才能使用網頁資源。
六、管制網路頻寬
Win2000是使用標準的RSVP通訊協定(Resource Reservation Protocol)和SBM通訊協定(Subnet Bandwidth Manager)來進行用戶端的頻寬管制(QoS),由於這兩個標準尚在醞釀發展中,所以絕大多數的路由器或交換機並不支援。以Layer 4 Router來說,可以針對各種通訊協定進行頻寬管制,但是Win2000的頻寬管制只能用在特定應用程式和使用者群組上面,進一步比較,兩者所能承載的連線數也有很大的不同,前者可以使用在ISP的環境,後者只能在子網路中應用。總之,兩者是完全不同的機制。
應用程式可以透過呼叫GQoS API來取得保留頻寬,目前有支援QoS的應用程式,只有NetMeeting、Media Server、TAPI......等少數幾支影音程式。過去有些應用程式會嘗試獲取最大頻寬來執行,因而導致網路壅塞,許多網路管理師覺得不勝其擾而乾脆禁止它執行,透過QoS頻寬管理來協調和取得頻寬,能夠改變這種對抗關係。
由於Win2000把頻寬管制整合到網域的群組原則裡面,所以「QoS許可控制」主機(簡稱為ACS)必須安裝在AD之上,同時網域內想要取得保留頻寬的服務系統或是使用者,必須在該台伺服器或工作站安裝「QoS封包排程器」,當然,這支用戶端程式也是內建在Win2000裡面,手動設定上去就可以使用了。
要了解Win2000的頻寬管制,首先必須要了解Win2000的流量概念。Win2000認為在IP網路世界裡面,對於資料流可以區分為「即時流量」和「彈性流量」兩種。對於大量影音資料的傳輸,在兩台電腦之間的訊息封包其順序必須保證一致,延遲不得太久(幾秒鐘就算久了),否則接收到的資料無法顯示或播出,這種特徵可以用「即時流量」來表達。前面提到過的NetMeeting、Media Server、TAPI都是屬於此類服務。其餘傳統網路服務,對於頻寬要求比較不高,頻寬壅塞時就減低傳輸量,雖然會增加延遲,但畢竟還是能正常傳遞資料,這種特徵可以用「彈性流量」來表達。
Win2000頻寬管制的目的,就在於管制「即時流量」,來增加網路的可用性。換句話說,當影音服務很重要時,就保留頻寬給影音應用程式,以避免影像聲音的傳輸中斷。當影音服務不是公司網路的主要目的時,就要避免因為使用者大量使用影音資料流,而造成正常服務無法運作。
如果使用者利用上班時間觀看網路電視、收聽網路廣播或是以NetMeeting聊天交友,公司對外連線的ADSL或T1專線的頻寬,就會滿載不敷使用,這種情況對公司正常營運所需要的網頁和電子郵件服務,殺傷力非常大。
Win2000對於頻寬管制是採用階層式管理,最上層是「企業原則」,主要是針對企業內的授權與未授權使用者進行連線頻寬的管制,是屬於使用者層面的管制。下層稱為「子網路原則」,是用來規範內部網路的保留頻寬和總頻寬,是屬於應用程式的管制。
管制等級區分為三種:最佳效果、控制載入、保證服務。這三個名詞翻譯得相當奇怪,我們來進一步解釋一下。最佳效果是指一般IP網路的標準運作模式,也就是不做任何管制,讓資料流自行去適應頻寬狀態,這種情況適用於沒有即時流量的網路。控制載入是指優先分配頻寬給即時流量,而未使用的頻寬可以分配給彈性流量使用,但是如果彈性流量大而造成頻寬壅塞,就可能會使得即時流量傳輸中斷。保證服務是指保留頻寬給即時流量,以保證即時流量傳輸不會延遲或中斷。
底下分別以例子來說明,如何為使用者保留頻寬,以及如何為即時流量保留頻寬。
模擬狀況一: 為總經理建立高速通道
解決方式:
- 在總經理所使用的電腦上面,打開網路卡介面,新增服務,把「QoS封包排程器」安裝起來。
- 在「QoS許可控制」主機上面開啟「QoS許可控制」管理工具,點選「企業設定值」。
- 新增「企業原則」,「身分識別」設定為總經理,「資料流設定」和「限制總數」全部設定為「資源有限」(這個翻譯也夠奇怪了,在Win2000裡面翻譯不當的情形不勝枚舉,不知是找哪一國人翻的?)
- 解釋一下好了,「資源有限」真正的意思是說不做任何限制,一直用到頻寬上限為止。
模擬狀況二: 保留頻寬給影音程式
延續前面C公司的例子,公司內部有兩個C級虛擬網路,同時以Win2000當兩個網路之間的Router。
解決方式:
- 在該台Win2000 Router上安裝192.168.1子網路的AD,同時把「QoS許可控制」管理工具安裝起來,此時這台電腦就成為「QoS許可控制」主機(ACS)。
- 在ACS上面開啟「QoS許可控制」管理工具,點選「子網路設定值」新增「子網路」,子網路IP是192.168.1.0/24,也就是一個完整Class C網路。
- 打開剛才新增的子網路的「內容」,新增一個「服務限制」,管制等級為「保證服務」,「總資料速率」的上限設為10MB。其餘未設定的頻寬會自動套用「最佳效果」管制等級。
- 設定好了以後,使用各種網路服務只能達到90MB的流量,10MB保留給影音程式利用。反過來說,影音程式最多只能使用10MB,其餘頻寬分配給其他服務使用。
七、伺服器的配對安裝
雖然Win2000內建了多種伺服器,但是千萬不要把它們通通裝在同一台電腦上面執行,除非您的電腦是無敵鐵金剛,否則這樣做下場會很淒慘。依據所需的服務來適當的配置伺服器,關係重大,配置得不好足以影響整個網路的效能,必須要謹慎為之。
區域網路服務主機配置
首先必須先規劃區域網路的需求,所謂區域網路需求是指內部網域成員會用到,但是不希望讓外部網路存取的服務。這一類的服務包括:網域主控站、資料庫伺服器、終端伺服器、應用程式伺服器、檔案伺服器、列印伺服器、DHCP、WINS......等各種服務。
以上這些服務中,網域主控站和資料庫伺服器由於需耗用大量系統資源,因此必須專職。檔案伺服器和列印伺服器可以分散由多台工作站以分享資料夾方式取代,所以除非有集中管理的理由,否則不必去架設一台專職的檔案或列印伺服器。
終端伺服器的功能,在於提供一些高階應用軟體的執行環境給其他較低階的電腦使用,例如:讓486的機器能夠連線上來執行Office 2000。以目前電腦硬體便宜的程度,是否要這樣做也是有待商榷的。如果有必要需架設終端伺服器,那就必須專職,想想如果有30個人同時上來執行Word 2000,不專職行嗎?
DHCP與WINS算是負載很輕的服務,一台專職的DHCP或WINS足以管理上千台工作站,如果企業規模不是很大,這兩種服務裝在同一台電腦就可以了。
網際網路服務主機配置
接著再規劃網際網路所需的服務,這一類的服務包括:防火牆、DNS伺服器、網頁伺服器、電子郵件伺服器、多媒體伺服器、遠端存取伺服器......等。
以服務依存性的觀點來看,通常DNS會和Proxy裝在同一台,這樣可以降低TCP_MISS的錯誤發生,同時也可以增進Proxy的效能(當然Win2000的Proxy不是內建的,必須要另外購買)。如果想要使用動態DNS的功能(DDNS),那麼就把DNS、WINS和DHCP裝在一起,這樣當DHCP配出IP之後,就可以直接通知DNS,自動把正反解紀錄做起來。
以系統資源的耗用來考量,網頁伺服器因為執行CGI應用程式,所以需要使用CPU運算資源。而多媒體伺服器因為需要儲存影音資料,會耗用記憶體及硬碟IO,兩種伺服器所耗用的資源重疊性不高,具有互補性,可以考慮裝在一起。過去在UNIX系統由於使用者磁碟配額的管理問題,我們會建議將網頁伺服器和電子郵件伺服器裝在一起,這樣網頁空間與郵件信箱就結合為一。但是在Win2000系統中,這兩者的空間可以統一由網域主控站來提供,不必一定要有親密關係,所以分開來配置,會使服務效能更佳。
遠端存取伺服器主要是提供VPN或是PPP連線服務,VPN對於大型企業相當重要,因為要在各地的分公司之間傳遞資料,安全要求比較嚴格,不管是以專線連接或透過網際網路連線,VPN都可以派上用場,因此建議要安裝。至於PPP連線服務,通常只有網管師自己在用,裝不裝就沒那麼重要。
八、Windows混合網域的建置
先解釋一下「網域」:Windows網路中「網域」一詞和DNS裡面的「領域」,還有IP Class裡面的「網路」,三者因為名詞接近,而常常被等同視之,造成許多誤解和觀念混淆。Windows網路中的「網域」,與URL定址無關(注意:Win2000例外,容後詳述),其成員電腦是否在同一個Class C也不重要。
Win2000雖然源自於NT,但是由於網域觀念的改變幅度太大,兩種網域並無法融合的很好,如果純以Win2000來架構網路,當然更能發揮Win2000在網路機制上的嶄新功能。但是考慮企業現有NT應用程式開發與相容性問題,大多企業還是希望採行混合網域的建置。使用混合網路之前,我們先來暸解一下,到底採用純Win2000架構有什麼好處?Win2000改革幅度最大的是網域主控站,主要的變革有二個方面:帳號管理、電腦管理。
帳號管理
先來說說帳號管理,過去帳號管理依靠SAM資料庫,必須透過所謂「Windows回應與挑戰」這種獨門的通訊協定來進行使用者認證,由於這個機制太特殊,微軟又不願公開內容,導致不同平台之間的整合有困難,並且也使得WinNT無法支援其它的網路設備的認證。
新的帳號管理是以關聯式資料庫(以MS SQL引擎實作)當後端,以LDAP通訊協定當前端管理帳號,需要讓使用者登入時,就使用Kerberos通訊協定,其結構如下圖:
LDAP是衍生自DAP的輕型通訊協定,以TCP/IP來實作,許多比較複雜的資料庫操作並沒有被包含在內,原因就在於TCP不適合作重型傳輸,而UDP又不適合作資料庫動態交易。無論如何LDAP拿來作目錄服務、帳號管理是相當合適的。LDAP的原始精神在於契合DNS領域的觀念,希望發展出人類的URL定址,有點像 http://www.tp.edu.tw 是一個站台,而 ldap:///o=Taipei Edu-Network Center,c=tw??sub?(cn=李忠憲) 是一個人,換句話說,LDAP也可以當成人名錄來作查詢(outlook系列已經支援LDAP人員搜尋)。
LDAP的原始設計裡面,分為幾個階層式架構,c代表地域,o代表組織,而o裡面的物件person和group分別代表個人和群組,這種設計當然與Win2000裡面的AD稍有不同,Win2000為了嵌入DNS,以dc階層取代了c階層。有些雜誌上的作者認為LDAP裡面沒有群組觀念,群組觀念是繼承自NT,這是因為不暸解LDAP的內涵,而產生錯誤的認知。事實上LDAP的起源地美國密西根大學用NT的人可沒多少,業界第一個將LDAP商品化的Netscape更是微軟死對頭,何來繼承之說呢?
其實就是因為LDAP高彈性的作法,讓Win2000的群組管理顯得複雜起來,不過只要把觀念弄清楚,其實也很簡單。關鍵在於ou階層是所謂「行政的群組」,而group是所謂「權限的群組」,這就好比「業務部」的陳「經理」和「研發部」的王「經理」是好朋友,「業務部」、「研發部」是ou,而「經理」是group。在LDAP原始設計中,ou和group是兩種獨立的觀念,但在AD裡面兩者都可以被賦予原則,有許多人就在這種情形下弄擰了觀念。
使用LDAP除了讓帳號管理更具彈性以外,另一個好處是可以使用公開的LDAP API來撰寫應用程式,使應用程式與網域使用者能更緊密的結合。由於資料欄位可以自由擴充,企業可以依自己的需要開發出人事管理系統,而該人事資料又自動成為企業內各種網路設備的成員帳號。
電腦管理
電腦管理的問題可以分成兩方面來探討,一是電腦名稱辨識的問題,一是網域成員認證的問題。過去NT的電腦名稱是以NetBios名稱來實作,這就造成廣播風暴問題和無法跨越Router問題,雖然微軟已經將NetBios名稱服務封裝成TCP/IP格式的NetBT,但這只解決了跨越Router問題,廣播的問題仍然存在。
微軟後來開發的WINS伺服器雖然可以有效降低廣播風暴的發生,但仍然不能徹底解決頻寬被佔用的老問題,造成使用者與網管師相當程度的困擾。在Win2000中由於網路機制改採TCP/IP來實作,所以這種落伍的名稱服務已然被淘汰(相容前版模式例外),於是DNS就成為電腦名稱辨識的不二人選。
在Win2000網域內的所有成員電腦,其名稱一律沿襲DNS命名法,如果安裝時選擇與舊Windows網路相容,那麼就會將DNS命名的頭碼當成NetBios名稱。DNS名稱會寫入AD資料庫中保管,以便備份和移轉。
那麼Win2000又如何來辨識某電腦是否為網域成員呢?在第一次安裝Win2000時,安裝程序會依照要求向網域主控站登錄,並取得憑證(金鑰),該憑證係由金鑰配發中心(KDC)所配發,並儲存於網域成員電腦的系統登錄裡面,像這樣經過網域主控站認證的電腦,我們可以將它稱為「可信任電腦」。
由於過去大家對於網域成員的認證都很忽視,例如WinNT也僅只對網域成員進行單向認證,所以常發生安全漏洞被駭客利用。為了改善此問題,在Win2000中採用Kerberos 5來進行雙向認證,在使用者登入前,伺服器與工作站先交換金鑰,並向KDC查驗是否正確,網域主控站可藉此來決定該使用者是否有權登入該主機,如果發現該使用者有登入權限,接著再以LDAP向AD查驗帳號密碼。安全性相對比起NT來的高許多,並且由於Kerberos和LDAP是TCP/IP上面的標準,所有其他平台如Solaris、Linux、FreeBSD......等等都可以透過Win2000帳號來進行登入。
整合WinNT與Win2000網域
由於上述的重大變革造成WinNT與Win2000網域管理方式完全不同,連帶造成網域帳號無法移轉,假設企業內部已經擁有架構完整的WinNT網域,在影響最小的情形下,可以先將對外服務伺服器升級為Win2000伺服器。
在安裝此類伺服器時,必須選擇「與Windows 2000前版網域相容」選項,讓伺服器支援NT的認證方式。同時要注意將這些伺服器安裝成獨立伺服器,這樣就可以無痛融入NT網域之中。當然這種獨立伺服器因為帳號認證方式不同,所以安全性和互操作性比較差,無法讓非NT平台使用者登入,無法使用IP安全原則與群組原則,同時會變成以NetBios來廣播電腦名稱,造成頻寬浪費。
如果企業有全面提昇到Win2000網域的計劃,但礙於應用程式相容性問題,暫時無法實施升級,此時不妨採取雙架構策略。也就是將可以轉移至Win2000平台的服務或應用程式,組成一個完整2000網域,無法轉移的部分依舊使用NT網域來擔綱。
在Win2000網域主控站安裝時,記得選擇「與Windows 2000前版網域相容」選項,裝完AD之後,接著使用「AD網域與信任」管理工具,建立與舊有NT網域之雙向信任,就可以讓擁有NT網域帳號的使用者分享2000網域的資源。
這種雙架構可以保留大部分Win2000的先進功能,但是NetBios的問題仍不能免除。2000網域與NT網域所建立的信任稱為「外部信任」,使用者帳號無法在兩個網域間作轉移,因此將來NT網域如果要撤離,必須先以人工方式在Win2000網域主控站建立相同帳號。
還好NT升級成2000是很容易的,升級完畢後帳號也會自動寫入AD,到時候把早先架構的win2000網域當成授權子網域,與升級後的NT網域形成樹狀組織,帳號問題自然而然就解決了。
整合Win98與Win2000網域
Win98可以直接登入「與前版相容的Win2000網域」,但是因為Win98缺乏Kerberos用戶端程式會被Win2000當成未授權使用者,不但無法享有Win2000所帶來的各種安全性措施,而且為了讓Win98得以存取2000網域分享的資源,許多Win2000伺服器上的安全原則都必須撤離,這使得2000網域只能當成陽春的NT網域來使用。
如果要讓Win98可以享受AD所帶來的好處,例如﹔分享資源集中式保管,快速搜尋檔案與印表機......等等,就必須在Win98上面安裝LDAP用戶端程式,該程式放在Win2000原版光碟的client\win9x資料夾內,檔名為Dsclient.exe,安裝完畢後必須重開機才能生效。
為了真正成為2000網域的成員之一,Win98終究是必須升級成Win2000 pro。
九、與UNIX的整合
過去筆者曾經多次在台北市教育網路中心開辦的研習中,對各級學校系管師說明採用UNIX為Server與採用Win98為工作站的混合網域概念。當時是推廣以SAMBA來進行資源整合。
因應Win2000的發行,現在已經出現採用UNIX和Win2000為Server與採用UNIX和Win2000 pro為工作站的混合網域概念。整合的可能性也從資源整合,更進一步衍生到帳號整合與管理整合兩個更廣大的領域。
先說明資源整合的部分,SAMBA仍然佔據最重要的角色,因為它支援了三種NetBT通訊協定的操作,分別是名稱服務(TCP 137)、建立連線(TCP 138)與資料交換(TCP 139)。但是由於Win2000在名稱服務上已經揚棄NetBT的作法,所以SAMBA將無法與2000網域(這裡指純2000網域,相容前版模式仍支援NetBT)溝通,因此為了與UNIX作資源整合,就必須要安裝Win2000裡面的WINS伺服器,透過WINS伺服器來當SAMBA與網域主控站之間的白手套。(SAMBA的技術細節請自行參考市網中心http://www.tp.edu.tw的Linux文獻)
帳號整合的前提條件是所有的伺服器與工作站必須支援Kerberos通信協定,而且必須支援MD5加密,在UNIX方面網管師必須自行下載相關套件,並進行安裝。Win2000 pro則已經內建支援Kerberos和MD5,額外的組態設定工具也可以在Win2000原版光碟的 \support\reskit\netmgmt\security 資料夾中找到。
Win2000與UNIX帳號的整合,必須透過用戶端組態修改、帳號對應或Kerberos管轄範圍(realm)的雙向信任三種操作來達成。例如:UNIX要登入Win2000網域,必須修改UNIX工作站的Kerberos組態設定,反過來說,Win2000 pro要登入UNIX伺服器,也必須修改win2000 pro的Kerberos組態設定。
如果要讓win2000與UNIX網域更完美的結合,則必須修改伺服端的Kerberos組態設定,進行Kerberos範圍的雙向信任,讓UNIX或Win2000工作站可以交互登入到兩個不同網域。如果要做到UNIX與Win2000的同步登入,那就必須要在兩個網域內建立對應帳號,這個動作可藉由Win2000內建的ADSI管理介面來進行,事實上只要是標準LDAP管理工具,都可以同時管理Win2000 AD和UNIX上的LDAP帳號。
管理整合的問題,隨著新版WSH(Windows Script Host)的出現已經獲得解決。只要加掛不同語言直譯器到WSH裡面,就可以透過telnet連上Win2000伺服器,以UNIX平台常見的bash或其他語言(Perl、Python......)來管理Win2000伺服器。網路上已經有許多電腦公司開發此類產品,可以線上訂購取得。
十、結語
網路的時代早已經來臨,即時您不需要在網路上直接販賣任何產品,但是售後服務、廣告利益與商情資訊的蒐集,都讓您不得不連上網際網路。隨著NII國家資訊基礎建設的推動,網路的建置也已經進入DIY的階段,特別是越來越多傻瓜網路設備和傻瓜伺服器的推出,使得網路架設也不再艱深難懂。
看過本文後,相信您已經充分瞭解Win2000可以在網路上許多不同的位置發揮功能,對於UNIX Like產品仍然戒慎恐懼的人,現在可以嘗試使用Win2000來架構企業網路。使用Win2000來建構網路是簡單的,雖然在效率和功能還及不上UNIX作業平台,但是其簡易上手的操作介面,依舊散發著致命的吸引力,假如您不介意Win2000昂貴軟硬體價格的話,Win2000倒是不壞的選擇。
網路資源
- 市網中心:http://www.tp.edu.tw
- Windows 2000:http://www.microsoft.com/TechNet/win2000/
- RFC組織:http://www.rfc-editor.org/
- IETF組織:http://www.ietf.org/html.charters/rsvp-charter.html
联系客服