随着交换技术的发展,三层交换机在网络汇聚层与核心层的应用越来越多。在内网中子网与子网之间的通讯越来越少依赖于路由(几乎见不到了),而是使用带有路由功能的三层交换机,这对于内网中子网之间的通信效率的提高是显著的。

在三层交换机配置子网之间的通讯有一个关键的地方,就是子网网关的配置。当子网与子网之间进行通讯时,发起通讯的一方,在本子网中找不到通讯的目标时,就会将通讯的请求提交给自己子网的网关,由自己子网的网关负责处理。在三层交换机启用路由功能时,第一次根据路由条目查询对应目标计算机所在的子网,记录下对应端口,以后就采用交换功能进行通讯。

思科交换设备中典型的三层交换设备是3560。不同于华为的三层交换设备,思科的三层交换设备在配置子网网关时可以有两种方法:一种方法是将网关直接配置在子网连接的交换机端口上,另一种方法则与华为的设备类似,通过创建vlan并将相应端口加入到vlan中再配置vlan的虚拟子接口作为子网的网关。

下面在CiscoPacket Tracer 模拟器模拟,说明两种方式的配置。两种配置方式使用的拓扑图都是如下拓扑:

wKioL1mBx0TDg6FGAABFfvCNkeg168.jpg

一、拓扑图说明

1Multillayer Switch0

三层交接机,网关所在设备。Fa0/1接子网一(网段:192.168.10.0/24,网关192.168.10.1);Fa0/2接子网二(子网二网段:192.168.20.0/24,网关192.168.20.1)。

2Switch0

Fa0/1上连三层交换机,Fa0/2下接计算机PC0模拟子网一。

3Switch1

Fa0/1上连三层交换机,Fa0/2下接计算机PC1模拟子网二。

4PC0-PC2网络配置

PC0IP 192.168.10.2/24 GateWay 192.168.10.1

PC1IP 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,这是能起到在不同子网之间路由并通讯的关键。

四、扩展一

如果将拓扑结构变化为如下:

wKioL1mBx36yNYO5AABTYIUcqCw019.jpg

Switch1下接两个子网,PC1属于子网二(IP 192.168.20.2/24GateWay 192.168.20.1),PC2属于子网三(IP 192.168.30.2/24GateWay 192.168.30.1)。网关依旧配置在三层交换机。这时方法一(在三层交换机端口配置网关地址)就没办法做到了,因为通常只有路由器才能在一个端口配置多个IP地址(即使用子接口)。但是方法二依旧可以实现,在配置时fa0/2端口要使用trunk且封装dot1q协议,在switch1创建vlan,并配置fa0/1fa0/2fa0/3端口类型依次为trunkaccessaccess。具体配置如下:

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

五、扩展二

如果将拓扑结构变化如下:

wKioL1mBx6SS0xK4AABYGkUx6BM418.jpg

网关还是配置在三层交换机Multilayer Switch0

三层交换机的Fa0/1下接子网一(网段192.168.10.0/24 网关192.168.10.1);三层交换机的Fa0/2Fa0/3下接子网二(网段192.168.20.0/24 网关192.168.20.1);

Switch0Fa0/1端口上联三层交换机,Fa0/2下接计算机PC0IP 192.168.10.2/24网关 192.168.10.1)模拟子网一设备;

Switch1Switch2都是子网二的交换机,Switch1Fa0/1上联三层交换机,Fa0/2下接计算机PC1IP 192.168.20.2/24 网关192.168.20.1)模拟子网二的一部分设备接入,Switch2Fa0/1上联三层交换机,Fa0/2下接计算机PC2IP 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

六、总结

    方法一通常只能在三层交换机一个端口对应一个子网的时候使用,如果三层交换机一个端口下面有两个子网或者一个子网有两个端口接入就需要使用第二种方法(即使用虚拟子网接口)。