一、概述
單臂路由(router-on-a-stick)是指在路由器的一個接口上通過配置子接口(或“邏輯接口”,并不存在真正實體接口)的方式,
實作原來互相隔離的不同VLAN(虛拟區域網路)之間的互聯互通。
單臂路由的子接口
路由器的實體接口可以被劃分成多個邏輯接口,這些被劃分後的邏輯接口被形象的稱為子接口。值得注意的是這些邏輯子接口不能被單獨的開啟或關閉,也就是說,當實體接口被開啟或關閉時,所有的該接口的子接口也随之被開啟或關閉。
優缺點
VLAN能有效分割區域網路,實作各網絡區域之間的通路控制。但現實中,往往需要配置某些VLAN之間的互聯互通。比如,你的公司劃分為上司層、銷售部、财務部、人力部、科技部、審計部,并為不同部門配置了不同的VLAN,部門之間不能互相通路,有效保證了各部門的資訊安全。但經常出現上司層需要跨越VLAN通路其他各個部門,這個功能就由單臂路由來實作。
- 優點:實作不同vlan之間的通信,有助了解、學習VLAN原理和子接口概念。
- 缺點:容易成為網絡單點故障,配置稍有複雜,現實意義不大。
二、單臂路由配置
實驗背景
實作PC0與PC1不同VLAN之間互相通信
1)客戶機配置IP
直通線連接配接所有裝置,并由上圖所示配置客戶機IP,并手工開啟路由器F0/0端口
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#
Router(config)#int f0/0
Router(config-if)#no sh
Router(config)#do show ip int b 檢視端口狀态
Interface IP-Address OK? Method Status Protocol
FigabitEthernet0/0 unassigned YES unset up up
FigabitEthernet0/1 unassigned YES unset administratively down down
Vlan1 unassigned YES unset administratively down down
要想不同網段的PC通信,必須使用網關。
PC0配置
PC1配置
2)建立VLAN
VLAN 10(IT部),20(财務部)
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#
Switch(config)#vlan 10
Switch(config-vlan)#name IT 給vlan端口命名為IT
Switch(config-vlan)#exit
Switch(config)#vlan 20
Switch(config-vlan)#name CW 給vlan端口命名為CW
Switch(config-vlan)#exit
Switch(config)#
Switch(config)#do show vlan b 檢視vlan清單
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/1, Fa0/2, Fa0/3, Fa0/4
Fa0/5, Fa0/6, Fa0/7, Fa0/8
Fa0/9, Fa0/10, Fa0/11, Fa0/12
Fa0/13, Fa0/14, Fa0/15, Fa0/16
Fa0/17, Fa0/18, Fa0/19, Fa0/20
Fa0/21, Fa0/22, Fa0/23, Fa0/24
Gig0/1, Gig0/2
10 IT active
20 CW active
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
Switch(config)#
3)将端口加入VLAN
将F0/1端口加入到VLAN10,F0/2端口加入到VLAN20。
Switch(config)#int f0/1
Switch(config-if)#switchport access vlan 10
Switch(config-if)#exit
Switch(config)#int f0/2
Switch(config-if)#switchport access vlan 20
Switch(config-if)#exit
Switch(config)#do show vlan
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/3, Fa0/4, Fa0/5, Fa0/6
Fa0/7, Fa0/8, Fa0/9, Fa0/10
Fa0/11, Fa0/12, Fa0/13, Fa0/14
Fa0/15, Fa0/16, Fa0/17, Fa0/18
Fa0/19, Fa0/20, Fa0/21, Fa0/22
Fa0/23, Fa0/24, Gig0/1, Gig0/2
10 IT active Fa0/1
20 CW active Fa0/2
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
通過檢視vlan清單可以看見F0/1端口配置在vlan10,F0/2端口配置在vlan20上。
4)将F0/3設定為Trunk鍊路
允許任何vlan的資料通過。
作用:
trunk端口不屬于任何VLAN
,允許任何vlan的資料通過。
方法:通過在資料幀上加标簽,來區分不同vlan的資料。
Switch(config)#int f0/3
Switch(config-if)#switchport mode trunk
Switch(config-if)#
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/3, changed state to down
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/3, changed state to up
Switch(config-if)#exit
Switch(config)#do show vlan
VLAN Name Status Ports
---- -------------------------------- --------- -------------------------------
1 default active Fa0/4, Fa0/5, Fa0/6, Fa0/7
Fa0/8, Fa0/9, Fa0/10, Fa0/11
Fa0/12, Fa0/13, Fa0/14, Fa0/15
Fa0/16, Fa0/17, Fa0/18, Fa0/19
Fa0/20, Fa0/21, Fa0/22, Fa0/23
Fa0/24, Gig0/1, Gig0/2
10 IT active Fa0/1
20 CW active Fa0/2
1002 fddi-default active
1003 token-ring-default active
1004 fddinet-default active
1005 trnet-default active
由于trunk端口不屬于任何vlan,是以在vlan清單裡沒有該端口,反之如果vlan裡沒有我們要找的端口,那麼這個端口可能被配置成了trunk端口。
5)配置單臂路由
一旦開啟子接口,那麼父接口起到了通道作用,隻進行傳輸
Router(config)# int f0/0.1 建立子接口0.1
Router(config-subif)# encapsulation dotQ1 10 該接口添加到vlan10裡,以後該接口隻接收來自vlan10的資料
Router(config-subif)# ip add 10.1.1.254 255.255.255.0 配置ip+子網路遮罩
Router(config-subif)# no shut 開啟
Router(config-subif)# exit
Router(config)# int f0/0.2 建立子接口0.2
Router(config-subif)# encapsulation dotQ1 20 該接口添加到vlan20裡,以後該接口隻接收來自vlan20的資料
Router(config-subif)# ip add 20.1.1.254 255.255.255.0 配置ip+子網路遮罩
Router(config-subif)# no shut 開啟
檢視端口
注意:子接口會随父接口的開啟而開啟,反之亦然。
完成以上步驟PC0與PC1就是實作了,不同VLAN間的通信。
不同VLAN通信時靠路由實作的。
上圖使用的路由器型号2811