一般在一個企業網絡內部很少會使用路由器,在生產環境中,VLAN間的通信主要是通過三層交換來實現的。
三層交換機具備網絡層的功能,實現VLAN相互訪問的原理是:利用三層交換機的路由功能,通過識別數據包的IP地址,查找路由表進行選路轉發。在三層交換機中跨VLAN間路由,需要使用SVI(Switch Virtual Interface,交換虛擬接口),SVI是指為交換機中的VLAN創建的虛擬接口,并且配置IP地址。SVI是聯系二層VLAN的IP接口,一個SVI只能和一個VLAN相聯系。
實驗拓撲與上文類似,只是將2811路由器換成了3560三層交換機。
PC0接在2960交換機f0/1口,IP:192.168.1.10,默認網關192.168.1.254,屬于VLAN 10;PC1接在2960交換機f0/13口,IP:192.168.2.10,默認網關192.168.2.254,屬于VLAN 20;2960交換機的f0/24口與3560三層交換機的f0/1口相連,設為trunk模式。
PC0和PC1分屬于不同的vlan,它們間數據的通信首先要經由trunk鏈路傳輸給三層交換機,然后再由三層交換機轉發到不同的vlan。
一、配置Cisco 2960交換機
創建VLAN:
Switch#vlan database
Switch(vlan)#vlan 10 name vlan10
Switch(vlan)#vlan 20 name vlan 20
Switch(vlan)#exit
分配端口(將f0/1-f0/12端口劃歸vlan10,f0/13-f0/23端口劃歸vlan20):
Switch(config)#int range f0/1-12
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 10
Switch(config-if-range)#exit
Switch(config)#int range f0/13-23
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 20
Switch(config-if-range)#exit
設置trunk
Switch(config)#int f0/24
Switch(config-if)#switchport mode trunk
Switch(config-if)#exit
二、配置Cisco 3560交換機
首先創建相同編號的VLAN:
Switch#vlan database
Switch(vlan)#vlan 10 name vlan10
Switch(vlan)#vlan 20 name vlan20
Switch(vlan)#exit
然后通過設置SVI交換虛擬接口,分別為每個VLAN設置IP:
Switch#conf t
Switch(config)#int vlan 10
Switch(config-if)#ip address 192.168.1.254 255.255.255.0
Switch(config-if)#no shutdown
Switch(config-if)#exit
Switch(config)#int vlan 20
Switch(config-if)#ip address 192.168.2.254 255.255.255.0
Switch(config-if)#no shutdown
Switch(config-if)#exit
最后還有一條非常重要的命令需要執行:
Switch(config)#ip routing
這條命令的作用是啟用三層交換機的路由功能,否則三層交換機只能使用其二層功能。
三、在PC上測試
為兩臺PC分別設置好相應的IP,用ping命令進行測試,可以ping通,證明vlan間可以互通。