随着交换技术的发展,三层交换机在网络汇聚层与核心层的应用越来越多。在内网中子网与子网之间的通讯越来越少依赖于路由(几乎见不到了),而是使用带有路由功能的三层交换机,这对于内网中子网之间的通信效率的提高是显著的。
在三层交换机配置子网之间的通讯有一个关键的地方,就是子网网关的配置。当子网与子网之间进行通讯时,发起通讯的一方,在本子网中找不到通讯的目标时,就会将通讯的请求提交给自己子网的网关,由自己子网的网关负责处理。在三层交换机启用路由功能时,第一次根据路由条目查询对应目标计算机所在的子网,记录下对应端口,以后就采用交换功能进行通讯。
思科交换设备中典型的三层交换设备是3560。不同于华为的三层交换设备,思科的三层交换设备在配置子网网关时可以有两种方法:一种方法是将网关直接配置在子网连接的交换机端口上,另一种方法则与华为的设备类似,通过创建vlan并将相应端口加入到vlan中再配置vlan的虚拟子接口作为子网的网关。
下面在CiscoPacket Tracer 模拟器模拟,说明两种方式的配置。两种配置方式使用的拓扑图都是如下拓扑:
一、拓扑图说明
1、Multillayer Switch0
三层交接机,网关所在设备。Fa0/1接子网一(网段:192.168.10.0/24,网关192.168.10.1);Fa0/2接子网二(子网二网段:192.168.20.0/24,网关192.168.20.1)。
2、Switch0
Fa0/1上连三层交换机,Fa0/2下接计算机PC0模拟子网一。
3、Switch1
Fa0/1上连三层交换机,Fa0/2下接计算机PC1模拟子网二。
4、PC0-PC2网络配置
PC0:IP 192.168.10.2/24 GateWay 192.168.10.1
PC1:IP 192.168.20.2/24 GateWay 192.168.20.1
二、方法一:子网网关配置在交换机接口上
在核心交换机Multillayer Switch0上做如下配置:
Switch>enable
Switch#configure terminal
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#no switchport
Switch(config-if)#ip address 192.168.10.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#interface fastEthernet 0/2
Switch(config-if)#no switchport
Switch(config-if)#ip address 192.168.20.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#ip routing
配置的关键点在:
(1)进入端口后,打对应的端口改为no switchport,则可以为端口配置IP;
(2)启用ip routing。
在特权模式下输入命令:
Switch#show ip route
可以看到有两条直连路由
C 192.168.10.0/24 is directly connected, FastEthernet0/1
C 192.168.20.0/24 is directly connected, FastEthernet0/2
这两条路由就是位于对应的端口上,起不同子网间路由通讯的作用。
三、方法二:使用虚拟子接口
同样也是在Multillayer Switch1上做如下配置(做完上面配置,如果要重新配置在特权模式下使用命令reload):
Switch>enable
Switch#vlan database
Switch(vlan)#vlan 10
Switch(vlan)#vlan 20
Switch(vlan)#exit
Switch#configure terminal
Switch(config)#interface vlan 10
Switch(config-if)#ip address 192.168.10.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#interface vlan 20
Switch(config-if)#ip address 192.168.20.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
Switch(config-if)#exit
Switch(config)#interface fastEthernet 0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
Switch(config-if)#exit
Switch(config)#ip routing
配置的关键点在于:
(1)创建vlan
(2)进入vlan配置其ip,相当于将vlan作为一个接口使用
(3)将对应端口添加到相应的vlan中
(4)启用ip routing。
在特权模式下输入命令:
Switch#show ip route
可以看到有两条直连路由
C 192.168.10.0/24 is directly connected, Vlan10
C 192.168.20.0/24 is directly connected, Vlan20
这两条直连路由对应的就是两个vlan,这是能起到在不同子网之间路由并通讯的关键。
四、扩展一
如果将拓扑结构变化为如下:
Switch1下接两个子网,PC1属于子网二(IP 192.168.20.2/24,GateWay 192.168.20.1),PC2属于子网三(IP 192.168.30.2/24,GateWay 192.168.30.1)。网关依旧配置在三层交换机。这时方法一(在三层交换机端口配置网关地址)就没办法做到了,因为通常只有路由器才能在一个端口配置多个IP地址(即使用子接口)。但是方法二依旧可以实现,在配置时fa0/2端口要使用trunk且封装dot1q协议,在switch1创建vlan,并配置fa0/1、fa0/2、fa0/3端口类型依次为trunk、access、access。具体配置如下:
1.在Multillayer Switch0三层交换机做的配置
Switch>enable
Switch#vlan database
Switch(vlan)#vlan 10
Switch(vlan)#vlan 20
Switch(vlan)#vlan 30
Switch(vlan)#exit
Switch#configure terminal
Switch(config)#interface vlan 10
Switch(config-if)#ip address 192.168.10.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#interface vlan 20
Switch(config-if)#ip address 192.168.20.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#interface vlan 30
Switch(config-if)#ip address 192.168.30.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
Switch(config-if)#exit
Switch(config)#interface fastEthernet 0/2
Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk allowed vlan 20
Switch(config-if)#switchport trunk allowed vlan add 30
Switch(config-if)#exit
Switch(config)#ip routing
2.在switch1上的配置
Switch>enable
Switch#vlan database
Switch(vlan)#vlan 20
Switch(vlan)#vlan 30
Switch(vlan)#exit
Switch#configure terminal
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport trunk allowed vlan 20
Switch(config-if)#switchport trunk allowed vlan add 30
Switch(config-if)#exit
Switch(config)#interface fastEthernet 0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
Switch(config-if)#exit
Switch(config)#interface fastEthernet 0/3
Switch(config-if)#switchport mode access
Switch(config-if)#switchportaccess vlan 30
关键点在于:三层交换机的interface fastEthernet 0/2要封装dot1q协议(Switch(config-if)#switchport trunk encapsulation dot1q )。封装了dot1q协议才可以在一个端口通过两个vlan,而二层交换机Switch1上则不需要封装就可以使一个端口直接通过两个vlan。
五、扩展二
如果将拓扑结构变化如下:
网关还是配置在三层交换机Multilayer Switch0;
三层交换机的Fa0/1下接子网一(网段192.168.10.0/24 网关192.168.10.1);三层交换机的Fa0/2、Fa0/3下接子网二(网段192.168.20.0/24 网关192.168.20.1);
Switch0的Fa0/1端口上联三层交换机,Fa0/2下接计算机PC0(IP 192.168.10.2/24网关 192.168.10.1)模拟子网一设备;
Switch1与Switch2都是子网二的交换机,Switch1的Fa0/1上联三层交换机,Fa0/2下接计算机PC1(IP 192.168.20.2/24 网关192.168.20.1)模拟子网二的一部分设备接入,Switch2的Fa0/1上联三层交换机,Fa0/2下接计算机PC2(IP 192.168.20.100/24 网关192.168.20.1)模拟子网二的另一部分设备接入。
对于上面的拓扑情况,也没办法使用第一种方法(在三层交换机端口上配置网关),只能使用虚拟子接口配置网关。主要在三层交换机上做配置,具体如下:
Switch>enable
Switch#vlan database
Switch(vlan)#vlan 10
Switch(vlan)#vlan 20
Switch(vlan)#exit
Switch#configure terminal
Switch(config)#interface vlan 10
Switch(config-if)#ip address 192.168.10.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#interface vlan 20
Switch(config-if)#ip address 192.168.20.1 255.255.255.0
Switch(config-if)#exit
Switch(config)#interface fastEthernet 0/1
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
Switch(config-if)#exit
Switch(config)#interface range fastEthernet 0/2-3
Switch(config-if-range)#switchport mode access
Switch(config-if-range)#switchport access vlan 20
Switch(config-if-range)#exit
Switch(config)#ip routing
六、总结
方法一通常只能在三层交换机一个端口对应一个子网的时候使用,如果三层交换机一个端口下面有两个子网或者一个子网有两个端口接入就需要使用第二种方法(即使用虚拟子网接口)。