1. 程式人生 > >通過子介面實現不同vlan間的互通(也稱為:單臂路由)

通過子介面實現不同vlan間的互通(也稱為:單臂路由)

乙太網子介面常用於vlan間的三層互通和區域網與廣域網間的互聯。因傳統的三層網介面不支援vlan,當收到vlan報文時會當做非法報文而丟棄,通過在子介面上部署終結子介面功能將vlan報文中的vlan標籤去掉,從而實現vlan間的三層互通(終結子介面不僅能剝離vlan,也能新增vlan)

不同Vlan間互通可以通過vlanif介面來實現,也可以通過路由器的子介面來實現。下面的例子通過子介面來實現vlan20和vlan 30之間互通,交換機的GE0/0/1介面允許通過vlan30,vlan 20,在路由器AR1的GE0/0/0上做子介面來實現不同vlan間的互通,拓撲圖如下:


AR1配置如下:

interface GigabitEthernet0/0/0


#
interface GigabitEthernet0/0/0.10
 dot1q termination vid 30
 ip address 192.168.10.1 255.255.255.0 
 arp broadcast enable
#
interface GigabitEthernet0/0/0.20
 dot1q termination vid 20
 ip address 192.168.20.1 255.255.255.0 
arp broadcast enable 
#

交換機配置如下:

#
interface GigabitEthernet0/0/1
 port link-type trunk
 port trunk allow-pass vlan 20 30//

注意沒有配置 埠的pvid ,也不能配置為20或30中的一個,否則不通(因終結子介面處理收到的報文必須是帶標籤的)

#
interface GigabitEthernet0/0/2
 port hybrid pvid vlan 30
 port hybrid untagged vlan 30
#
interface GigabitEthernet0/0/3
 port hybrid pvid vlan 20 //必須有,不然預設pvid為1,PC傳送的報文進入時都會打上pvid為1的標籤。所有的埠預設都允許vlan1的報文通過。
 port hybrid untagged vlan 20
#

--------------------------------------------------------------------------------------------------------------------------------

上述配置,試驗可以實現PC1與PC2互通;

PC2 PING PC1過程中,GE0/0/1口抓包結果展示:


應為192.168.10.2 與 PC2 不在同一個網段,需要先找到閘道器的地址;上圖可以看出,共有4個ICMP包,第一個包的vlan tag 是20 ,是LSW1 至AR1的0/0/0.20子介面;查詢路由表,路由器找到目的地址的下一跳,將資料包從G0/0/0.10子介面轉發出去,第二個包 vlan tag是 30。第三個包是應答包,從PC1途經LSW1至AR1的G0/0/0.10介面,所以第三個包的vlan tag 是30 ;第四個包也是應答包,從路由器的G0/0/0.20子介面途經LSW1至PC2,所以,此包的vlan tag 為 20.

注意:因為路由器的子介面配置了dot1q terminal vlan ,所以從交換機G0/0/1口發出的幀必須是帶vlan tag ,否則,PC1與PC2不通。