天天看點

單臂路由實作原理

一、概述

單臂路由(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