眾多中小企業內部網絡結構都很簡單,僅僅是用一台交換機將所有員工機以及服務器連接到一起,然后通過光纖訪問internet而已。當然為了保證部分主機的安全性以及分割內部廣播包提高網絡傳輸速度,采取諸如划分VLAN,分配不同子網的方法來實現。通過划分VLAN可以讓在同一台交換機不同端口的客戶機不能互相訪問,有效的隔離了網絡。
通過VLAN划分網絡固然可以解決安全和廣播風暴的頻繁出現,但是對於那些既希望隔離又希望對某些客戶機進行互通的公司來說,划分VLAN的同時為不同VLAN建立互相訪問的通道也是必要的。
眾所周知可以使用三層交換機來實現,但是大多數情況企業網絡搭建初期購買的僅僅是二層可管理型交換機,如果要購買三層交換機實現VLAN互通功能的話,以前的二層設備將被丟棄。這樣就造成了極大的浪費。那么有沒有什么辦法在仍然使用二層設備的基礎上,實現三層交換機的功能呢?
一、三層交換機的原理:
在告訴各位讀者解決方法前我們需要首先了解三層交換機的工作原理。理論上講一台三層交換機可以看做是一個二層交換機+一個路由模塊,實際使用中各個廠商也是通過將路由模塊內置於交換機中實現三層功能的。在傳輸數據包時先發向這個路由模塊,由其提供路由路徑然后再由交換機轉發相應的數據包。
二、單臂路由原理:
既然仍然要使用以前的二層設備,那么我們可以通過添加一台路由器解決上面提到的企業網絡升級問題。這台路由器就相當於三層交換機的路由模塊,只是我們將其放到了交換機的外部。具體原理拓撲
router路由器
連接線路(負責多個vlan之間的的通信)
switch交換機
大家可以看出在router路由器與交換機之間是通過外部線路連接的,這個外部線路只有一條,但是他在邏輯上是分開的,需要路由的數據包會通過這個線路到達路由器,經過路由后再通過此線路返回交換機進行轉發。所以大家給這種拓撲方式起了一個形象的名字——單臂路由。說白了,單臂路由就是包從哪個口進去,又從哪個口出來,而不象傳統網絡拓撲中數據包從某個接口進入路由器又從另一個接口離開路由器。
那么什么時候要用到單臂路由呢?在企業內部網絡中划分了VLAN,當VLAN之間有部分主機需要通信,但交換機不支持三層交換,這時候可以采用一台支持802.1Q的路由器實現VLAN的互通。我們只需要在以太口上建立子接口,並分配IP地址作為該VLAN的網關,同時啟動802.1Q協議即可。
小提示:
一個物理接口當成多個邏輯接口來使用時,往往需要在該接口上啟用子接口。通過一個個的邏輯子接口實現物理端口以一當多的功能。
三、實戰單臂路由:
筆者所在公司恰恰遇到了上面說的問題,原來使用交換機連接內部網,划分了VLAN。但是現在需要讓這些VLAN實現互通,筆者購買了一台華為2621路由器來實施單臂路由解決此問題。具體拓撲圖如圖1所示。
交換機連接了多個網段,有10.91.30.*/24,10.83.224.*/24,10.83.225.*/24,10.83.226.*/24。每個網段都處在不同的VLAN中。所有數據包都通過光纖連接到核心設備。由於交換機上的光纖接口只對於10.91.30.*/24有效,所以其他網段的計算機在沒有路由器的前提下都無法正常上網。這時我們就需要通過華為2621路由器為他們指明路由下一跳的地址,完成數據包的傳輸。
(1)交換機上配置:
交換機上划分VLAN以及將不同接口和網段加入不同VLAN的操作這里就不詳細說明了。實際情況中10.83.224.*對應VLAN302,10.83.225.*對應VLAN303,10.83.226.*對應VLAN304,10.83.227.*對應VLAN305。下一條的路由地址為10.82.6.113,對應的VLAN號是307。
(2)路由器上的配置:
本實戰路由器上的配置是關鍵,需要將連接交換機設備的那個接口設置為多個子接口。
第一步:用console線連接路由器,進入ethernet 0端口,並啟用該接口。
int ethernet 0
undo shut(如圖2)
圖2:進入E0端口並啟用
第二步:不要對ethernet 0直接操作,為其添加多個子接口。
int ethernet 0.1
int ethernet 0.2
int ethernet 0.3
int ethernet 0.4
int ethernet 0.5
第三步:為每個子接口設置trunk模式,並添加到對應的VLAN中。我們以ethernet0.1為例子,其他幾個子接口設置命令類似。
int ethernet0.1
vlan dot1q vid 302(如圖3)
圖3:為子接口設置trunk模式
小提示:
在設置trunk模式時需要我們定義trunk所使用的協議,一般來說有ISL和dot1q兩種協議提供給我們選擇,如果你的設備都是CISCO的話使用哪個都可以,但是如果你的設備有CISCO還有別的公司的產品的話就必須使用802.1q協議了,筆者這樣的網絡環境,由於路由器是華為2621,所以必須使用802.1q協議進行trunk通訊。筆者開始就盲目的設置為ISL結果網絡始終不通,后來才想到這個問題。
第四步:接下來我們還需要使用ip address命令為每個子接口設置好IP地址。
第五步:為路由器添加一個缺省路由,指向光纖通往核心設備的IP地址。
ip route-static 0.0.0.0 0.0.0.0 10.82.6.114
第六步:保存所有設置后使用dis cur命令查看當前配置列表。(如圖4)
四、常見問題:
在配置單臂路由過程中要特別注意以下幾個問題:
(1)不要對ethernet0進行任何配置,我們只需要對其子接口進行划分和設置即可。
(2)不要忘記將ethernet0開啟,使用命令undo shut,這樣所有子接口會同時開啟。
(3)如果有防病毒ACL等列表的話不要忘記在最后添加到ethernet0上。
(4)由於單臂路由數據包進出都使用同一個接口必然對該路由器的硬件要求比較高,所以在實際使用中不要隨便找一台低端路由器充數,穩定和較大內存是擔當單臂路由器的設備所必須的。
(5)在設置TRUNK類型時候要根據實際情況選擇是ISL還是802.1q協議。
(6)所有配置命令都需要在路由器沒有連接交換機的狀態下進行,當所有設置信息輸入完畢並保存后才可以使用網線將路由器和交換機連接。為什么呢?因為單臂路由很消耗路由器的資源,所以如果在配置過程中已經將該路由器連接到了單臂拓撲中那么輸入命令,顯示命令會變得非常緩慢。筆者剛開始就是這樣邊連接邊設置的,發現路由器跟死機一樣,執行一個dis cur顯示配置信息命令居然要等待十分鍾以上,也可能是內網中已經有的病毒在發送大量數據包造成的。總之還是設置完畢再連接網絡比較保險。
五、單臂路由的缺點:
單臂路由的缺點也是顯而易見的,一方面他非常消耗路由器CPU與內存的資源,在一定程度上影響了網絡數據包傳輸的效率,另一方面將本來可以由三層交換機內部完成的工作交給了額外的設備完成,對於連接線路要求也是非常高的。另外通過單臂路由將本來划分得好好的VLAN徹底打破,原有的提高安全性與減少廣播數據包等措施起到的效果也大大降低了。當然不管怎么說單臂路由仍然是企業網絡升級,經費緊張時一個不錯的選擇。
總結:
單臂路由方式僅僅是對現有網絡升級時采取的一種策略,在企業內部網絡中划分了VLAN,當VLAN之間有部分主機需要通信,但交換機不支持三層交換,這時我們使用該方法來解決實際問題。由於單臂路由存在着很多這樣或那樣的缺點,所以不建議大家在網絡搭建初期就使用這種方式建立拓撲。