VLAN間路由選擇 同一個VLAN中的主機位于同一個廣播域中,可自由地通信。VLAN在OSI模型的第2層劃分網(wǎng)絡(luò)和隔離數(shù)據(jù)流;正如前面解釋為何仍需要路由器時說的,如果要讓不同VLAN中的主機(或其他有IP地址的設(shè)備)能夠彼此通信,就必須使用第3層設(shè)備來提供路由選擇功能。 為此,可使用能為每個VLAN提供一個接口的路由器,也可使用支持ISL或802.1Q的路由器。在支持ISL或802.1Q的路由器中,最便宜的是2600系列路由器(你只能從二手設(shè)備經(jīng)銷商那里購買,因為它們已經(jīng)停產(chǎn)了)。1600、1700和2500系列路由器不支持ISL或802.1Q。筆者建議至少使用2800系列路由器,它只支持802.1Q-思科正逐漸放棄 ISL,因此你可能應(yīng)該只使用802.1Q ( 2800系列路由器安裝的部分IOS可能支持ISL和802.1Q,但筆者沒有見過)。 如圖11-7所示,如果只有兩三個VLAN,則可使用帶兩三個快速以太網(wǎng)接口的路由器。對家庭用戶來說,10 BaseT是可行的,但對于其他用戶,建議使用快速以太網(wǎng)接口或吉比特以太網(wǎng)接口。 在圖11-7中,每個路由器接口都連接了一條接人鏈路,這意昧著每個路由器接口的IP地址都將成為相應(yīng)VLAN中每臺主機的默認(rèn)網(wǎng)關(guān)地址。 如果VLAN數(shù)量比路由器接口多,可在一個快速以太網(wǎng)接口上配置中繼,也可購買一臺第3層交換機,如Cisco 3560交換機或諸如6500等高端交換機。也可不給每個VLAN提供-個路由器接口,而只使用一個快速以太網(wǎng)接口,并在該接口上運行中繼協(xié)議ISL或802.1Q,如圖11-8 所示。這讓所有VLAN都通過一個接口進行通信,思科稱之為“單臂路由器”。 需要指出的是,這導(dǎo)致了潛在的瓶頸和單點故障,因此必須限制主機VLAN數(shù)量。那么多少合適呢?這取決于流量。要讓設(shè)計真正合理,最好使用高端交換機并在背板( backplane )上進行路由選擇,但如果只有一-臺路由器可用,這樣做不需要額外的費用。 配置VLAN 配置VLAN實際上非常容易,這可能讓你感到驚訝。確定要在每個VLAN中包含哪些用戶并不容易,需要耗費大量的時間。但確定要創(chuàng)建多少個VLAN以及每個VLAN都包含哪些用戶后,就可開始創(chuàng)建第一個VLAN了。 要在思科Catalyst交換機上配置VLAN,可使用全局配置命令v1an。下面的示例演示了如何在交換機SI上配置VLAN_為 3個不同的部門創(chuàng)建了3個VLAN (別忘了,默認(rèn)情況下,VLAN 1為本機VLAN和管理VLAN ): 從上述代碼可知,可以創(chuàng)建編號為2~ 4094的VLAN,但這不完全正確。前面說過,實際上可使用的最大VLAN編號為1005,且不能使用、修改、重命名或刪除VLAN 1以及VLAN 1002~ 1005,因為它們被預(yù)留。編號大于1005的VLAN稱為擴展VLAN,除非交換機處于VTP透明模式,否則它們不會保存到數(shù)據(jù)庫中;在生產(chǎn)環(huán)境中,使用這些VLAN編號的情況不常見。在下面的示例中,筆者試圖在處于VTP服務(wù)器模式(默認(rèn)VTP模式)的交換機SI上創(chuàng)建VLAN 4000: 創(chuàng)建所需的VLAN后,可使用命令show v1an查看它們,但注意,交換機的所有端口默認(rèn)都屬于VLAN 1。要調(diào)整端口所屬的VLAN,需要對每個接口進行配置,指定它所屬的VLAN。 注意:VLAN創(chuàng)建后,除非給它分配交換機端口,否則不會被使用。默認(rèn)情況下,所有端口都屬于VLAN 1。 創(chuàng)建VLAN后,可使用show vlan (簡寫為sh vlan) 查看配置: 這看似多余,但很重要,還需牢記的是,不能修改、刪除或重命名VLAN 1,因為它是默認(rèn)VLAN,不能修改。它還是所有交換機的默認(rèn)本機VLAN,思科建議將其用作管理VLAN?;旧?沒有顯式地分配到特定VLAN的端口都屬于本機VLAN (VLAN 1)。 從交換機S1的上述輸出可知,端口Fa0/3 ~ Fa0/8以及上行鏈路Gi0/1都屬于VLAN 1,但端口1和2到哪里去了呢?還記得嗎,前-章創(chuàng)建了一個以太信道束,所有中繼端口都不會出現(xiàn)在VLAN數(shù)據(jù)庫中,要查看中繼端口,必須使用命令show interface trunk。 確定VLAN已創(chuàng)建后,便可將交換機端口分配給VLAN了。每個端口都只能屬于一個VLAN,但語音接口端口除外。通過使用前面介紹的中繼技術(shù),可讓端口為所有VLAN傳輸數(shù)據(jù)流,這將在后面介紹。 將交換機端口分配給VLAN 要指定端口所屬的VLAN,可指定其接口模式(這決定了它將傳輸哪種類型的數(shù)據(jù)流)以及所屬VLAN的編號。要將交換機端口分配給特定VLAN (接入端口),可使用接口命名swi tchport;要同時配置多個端口,可使用命令interface range。 前面說過,可將端口配置為靜態(tài)或動態(tài)的,但本書只介紹靜態(tài)端口。接下來,我將把接口Fa0/3分配給VLAN3,該接口將交換機S1連接到主機A: 在上述輸出中,有一些新內(nèi)容。其中顯示了各種命令一有 些介紹過,也有你沒見過的,但不用擔(dān)心,稍后將介紹access、mode. nonegotiate. trunk和voice。下面首先將交換機S1的一個端口設(shè)置為接人端口,在配置了VLAN的生產(chǎn)環(huán)境中,這可能是使用最廣泛的端口類型: 這里首先使用了命令swi tchport mode access, 它告訴交換機這是-一個非中繼第2層端口。接下來,使用命令switchport access 將端口分配給個VLAN。別忘了,要同時配置多個端口,可使用命令interface range。 這就指定了端口所屬的VLAN,但如果此時將設(shè)備連接到VLAN端口,它們將只能與同一個VLAN內(nèi)的設(shè)備通信。下面將啟用VLAN間通信,但在此之前,我們先來更詳細(xì)地介紹一下中繼。 配置中繼端口 2960交換機只支持IEEE 802.1Q封裝方法。要將快速以太網(wǎng)接口配置為中繼端口,可使用接口命令switchport mode trunk。在3560交換機上,配置方法稍有不同。下面的示例將接口fa0/8 配置成了中繼端口: S1#config t S1(config)#int fa0/8 S1(config-if)#switchport mode trunk 配置交換機接口時,可使用的選項如下所示。
注意: 動態(tài)中繼協(xié)議(DTP)用于在兩臺設(shè)備之間協(xié)商鏈路的模式以及封裝類型(802.1Q還是ISL)。在不希望中繼端口進行協(xié)商時,筆者使用命令nonegotiate。 要在接口,上禁用中繼,可使用命令swi tchport mode access,它將端口恢復(fù)為專用的第2層接人端口。
下面來看另一種交換機——思科 Catalyst 3560。配置與2960交換機幾乎相同,但3560交換機提供了第3層服務(wù),而2960交換機沒有。另外,3560交換機支持中繼封裝方法ISL和IEEE 802.1Q,而2960交換機只支持802.1Q。下面簡要地介紹如何在3560交換機上配置封裝方法,以及與2960的差異。 3560交換機支持命令encapsulation,而2960交換機不支持: 你可以看到,在3560交換機上,需要將端口的封裝方法指定為IEEE 802.1Q (dot1q)或ISL。設(shè)置封裝方法后,還必須將接口模式設(shè)置為中繼。坦率地說,現(xiàn)在很少使用封裝方法ISL了。思科正逐漸放棄ISL,其新路由器甚至不支持ISL。 2.指定中繼端口支持的VLAN 前面說過,默認(rèn)情況下,中繼端口發(fā)送和接收來自所有VLAN的信息,并將未標(biāo)記的幀發(fā)送到管理VLAN。這也適用于擴展VLAN。 然而,可將某些VLAN排除在外,禁止其數(shù)據(jù)流通過中繼鏈路進行傳輸,如下所示: 上述代碼影響在S1的端口f0/1上配置的中繼鏈路,導(dǎo)致它丟棄來自VLAN4的數(shù)據(jù)流??梢試L試將VLAN 1排除在外,但中繼鏈路仍將接收和發(fā)送管理數(shù)據(jù)流,如CDP、PAgP、LACP、DTP和VTP。 要將特定范圍內(nèi)的VLAN排除在外,可使用連字符: S1(config-1 f)#switchport trunk allowed v1an remove 4-8 將VLAN排除在外后,要恢復(fù)到默認(rèn)設(shè)置,可使用下述命令: S1(config-if)#switchport trunk allowed vlan a11 也可使用如下命令: S1(config-if)tno swi tchport trunk a1lowed vlan 下面介紹如何配置中繼端口的本機VLAN,然后啟用VLAN間路由選擇。 3.修改中繼端口的本機VLAN 實際上,不需要修改中繼端口的本機VLAN,但可以這樣做,有些人處于安全考慮而這樣做。要修改本機VLAN,可使用如下命令: 將中繼端口的本地VLAN改為VLAN 40后,使用命令show running-cofig查看該中繼接口的配置: 別忘了鄰接端口需要相互配合!你不會認(rèn)為事情會如此簡單吧?確實不會如此簡單。如果中繼鏈路兩端的交換機端口的本機VLAN不同,將出現(xiàn)如下錯誤: 這是清晰而有幫助的錯誤。為消除這種錯誤,要么修改中繼鏈路另一端的本機VLAN,要么將當(dāng)前端口的本機VLAN恢復(fù)到默認(rèn)設(shè)置。這里采取第二種方式: S1(config-if)#no switchport trunk native vlan 這樣,當(dāng)前中繼端口將把VLAN 1用作本機VLAN。請記住,中繼鏈路兩端的本機VLAN必須相同,否則將導(dǎo)致嚴(yán)重問題。下面在交換型網(wǎng)絡(luò)中添加一臺路由器, 并配置VLAN間通信。 配置 VLAN間路由選擇 默認(rèn)情況下,只有屬于同一個VLAN的主機才能相互通信。要改變這種狀況,允許進行VLAN間通信,需要路由器或第3層交換機。這里介紹使用路由器的方式。 為在快速以太網(wǎng)接口,上支持ISL或802.1Q,將這種接口分成了多個邏輯接口——每個VLAN一個。這些邏輯接口被稱為子接口。 要在快速以太網(wǎng)接口或吉比特以太網(wǎng)接口上啟用中繼,可使用命令encapsulation: 注意到筆者的2811路由器(名為ISR)只支持802.1Q。要使用ISL封裝,需要購買較老的路由器,但為何要如此麻煩呢? 子接口號只有邏輯意義,因此使用什么樣的編號無關(guān)緊要。由于子接口號只用于管理目的,筆者在大多數(shù)情況下都使用要路由的VLAN的編號,這將方便記憶。 每個VLAN都是一個獨立的子網(wǎng),明白這一點很重要。最好將VLAN配置為獨立的子網(wǎng),雖然并非必須這樣。 現(xiàn)在,需要確保你為配置VLAN間路由選擇和確定主機IP地址作好了充分準(zhǔn)備。與往常一樣,最好能夠在問題出現(xiàn)時修復(fù)它們。為確保你成功,來看幾個示例。首先,請看圖11-9并閱讀其中的路由器和交換機配置。學(xué)習(xí)到本書的這部分內(nèi)容,你應(yīng)該能夠指出VLAN中所有主機的IP地址、掩碼和默認(rèn)網(wǎng)關(guān)了。 接下來需要確定使用哪些子網(wǎng)。從圖中顯示的路由器配置可知, VLAN 1使用子網(wǎng)192.168.1.64/26,而VLAN 10使用子網(wǎng)192.168.1.128/27。從交換機配置可知,端口2和3屬于VLAN 1,而端口4屬于VLAN10。這意味著主機A和B屬于VLAN1,而主機C屬于VLAN10。 主機應(yīng)使用的IP地址如下。
主機可使用正確范圍內(nèi)的任何地址,筆者選擇的是默認(rèn)網(wǎng)關(guān)地址后面的第一個可用IP地址。這不太難,不是嗎? 現(xiàn)在繼續(xù)以圖11-9 為例,介紹配置交換機端口1,使其建立一條到路由器的鏈路,并使用封裝方法IEEE 802.1Q支持VLAN間通信所需的命令。別忘了,根據(jù)使用的交換機類型,所需的命令可能有細(xì)微的差別。 就2960交換機而言,使用如下命令: 2960#config t 2960(config)#interface fa0/1 2960(config-if)#switchport mode trunk 我們知道,2960 交換機只支持封裝方法802.1Q,因此不需要指定,也無法指定。對于3560交換機,配置基本相同,但由于它支持ISL和802.1Q,因而必須指定要使用的中繼協(xié)議。 注意:別忘了,創(chuàng)建中繼鏈路時,默認(rèn)情況下所有VLAN都可通過它傳輸數(shù)據(jù)。 來看圖11-10,看看從中能學(xué)到什么。在該圖中,有3個VLAN,而每個VLAN都有兩臺主機。在圖11-10 中,路由器連接的是交換機端口fa0/1, 而VLAN 2連接的是端口fa0/6。 思科要求根據(jù)該示意圖知道如下幾點:
該交換機的配置應(yīng)類似于下面這樣: 配置路由器前,需要設(shè)計邏輯網(wǎng)絡(luò)。
路由器的配置應(yīng)類似于下面這樣: 對于每個VLAN中的主機,都需要給它們分配相應(yīng)子網(wǎng)中的地址,而默認(rèn)網(wǎng)關(guān)為相應(yīng)路由器子接口的IP地址。 再來看圖11-11,看看你能否在不參考答案的情況下確定交換機和路由器的配置——可不要作弊!在該圖中,一臺路由器連接到了有兩個VLAN的2960交換機,對于每個VLAN,都給其中的一臺主機分配了IP地址。根據(jù)這些IP地址,如何配置路由器和交換機呢? 由于沒有指出主機使用的子網(wǎng)掩碼,因而必須根據(jù)每個VLAN包含的主機數(shù)確定塊大小。VLAN 1有85臺主機,而VLAN 2有115臺主機,它們要求的塊大小都是128, 即子網(wǎng)掩碼為/25 (255.255.255.128 )。 你應(yīng)該知道,它們應(yīng)分別使用子網(wǎng)0和128。其中子網(wǎng)0 (VLAN 1)的主機地址范圍為1~ 126,而子網(wǎng)128 ( VLAN 2)的主機地址范圍為129~254。主機A的IP地址為126,這使它看起來像是與主機B屬于同一個子網(wǎng)。但實際情況并非如此,你現(xiàn)在很聰明了,不會再受此蒙蔽了。 下面是交換機的配置: 下面是路由器的配置: 這里使用了VLAN 1的主機地址范圍內(nèi)的第一個地址以及VLAN 2的主機地址范圍內(nèi)的最后一個地址,但使用相應(yīng)范圍內(nèi)的任何地址都可行,只需將主機的默認(rèn)網(wǎng)關(guān)配置為相應(yīng)的路由器地址即可。 介紹下一個示例前,需要確保你知道如何在交換機上設(shè)置IP地址。鑒于VLAN 1通常是管理VLAN,我們將使用該地址池中的一個IP地址。下面的示例演示了如何設(shè)置交換機的IP地址(我不想喋喋不休,但你應(yīng)該確保自己知道如何設(shè)置); 2960#config t 2960(config)#int vlan 1 2960( config-if)#ip address 172.16.10.2 255.255.255.128 2960( config-if)#no shutdown 在VLAN接口上,必須配置命令no shutdown。 下面再介紹一個例子,然后討論VTP——絕對需要掌握的另一個重要主題。在圖11-12中,有兩個VLAN。通過路由器的配置可知,主機A的IP地址、子網(wǎng)掩碼和默認(rèn)網(wǎng)關(guān)是什么呢?請將相應(yīng)范圍內(nèi)的最后一個地址用于主機A。 如果仔細(xì)查看路由器(在這里,其主機名為Router)的配置,答案非常簡單。兩個子網(wǎng)的子網(wǎng)掩碼都是/28,即255.255.255.240, 因此塊大小為16。屬于VLAN 1的路由器子接口的地址包含在子網(wǎng)128內(nèi),下一個子網(wǎng)為144,因此VLAN 1的廣播地址為143,所以合法的主機地址范圍為129 ~ 142。 因此主機A的配置如下所示。
|
|