核心概念与网络拓扑
在开始配置之前,理解其背后的核心概念至关重要。
- 子接口:物理路由器接口可以被划分为多个逻辑上的虚拟接口,即子接口,每个子接口可以独立配置IP地址和处理特定的流量,在单臂路由中,我们为每个VLAN创建一个对应的子接口。
- 1Q封装:这是VLAN标记的标准协议,当数据帧通过一个中继链路时,交换机会在帧中添加一个标签,用以标识该帧属于哪个VLAN,路由器上的子接口需要能够识别并剥离这些标签,因此必须配置相应的802.1Q封装。
- 网络拓扑:典型的单臂路由拓扑非常简单,一台Cisco交换机连接多个终端设备(如PC),并将这些终端划分到不同的VLAN中,交换机通过一根高速线缆(如千兆以太网线)连接到Cisco路由器的一个物理接口,这根连接线被配置为“中继链路”,允许多个VLAN的流量通过。
为了便于说明,我们假设一个简单的网络环境:
- VLAN 10:销售部,网络地址
168.10.0/24
- VLAN 20:技术部,网络地址
168.20.0/24
- 交换机:连接PC的端口配置为接入模式,连接路由器的端口配置为中继模式。
- 路由器:物理接口
GigabitEthernet0/0
连接交换机,并为VLAN 10和VLAN 20分别创建子接口。
交换机配置步骤
我们需要在交换机上创建VLAN并分配端口。
创建VLAN
进入交换机的全局配置模式,创建VLAN 10和VLAN 20。Switch> enable Switch# configure terminal Switch(config)# vlan 10 Switch(config-vlan)# name Sales Switch(config-vlan)# vlan 20 Switch(config-vlan)# name Tech Switch(config-vlan)# exit
分配端口到VLAN
将连接销售部PC的端口(FastEthernet0/1
)分配给VLAN 10,连接技术部PC的端口(FastEthernet0/2
)分配给VLAN 20。Switch(config)# interface FastEthernet0/1 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 10 Switch(config-if)# interface FastEthernet0/2 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 20 Switch(config-if)# exit
配置中继端口
将连接路由器的端口(GigabitEthernet0/1
)配置为中继模式,以允许VLAN 10和20的流量通过。Switch(config)# interface GigabitEthernet0/1 Switch(config-if)# switchport mode trunk Switch(config-if)# switchport trunk allowed vlan 10,20 Switch(config-if)# end Switch# write memory
路由器配置步骤
接下来是核心部分,在路由器上配置子接口和路由。
启用物理接口
进入连接交换机的物理接口GigabitEthernet0/0
,并确保其处于启动状态,该物理接口本身不需要配置IP地址。Router> enable Router# configure terminal Router(config)# interface GigabitEthernet0/0 Router(config-if)# no shutdown Router(config-if)# exit
创建子接口并配置封装
为VLAN 10创建子接口GigabitEthernet0/0.10
,并将其配置为802.1Q封装,关联VLAN ID 10。Router(config)# interface GigabitEthernet0/0.10 Router(config-subif)# encapsulation dot1q 10 Router(config-subif)# ip address 192.168.10.1 255.255.255.0 Router(config-subif)# exit
为第二个VLAN创建子接口
同样地,为VLAN 20创建子接口GigabitEthernet0/0.20
,配置封装并分配IP地址,这个地址将成为VLAN 20内主机的默认网关。Router(config)# interface GigabitEthernet0/0.20 Router(config-subif)# encapsulation dot1q 20 Router(config-subif)# ip address 192.168.20.1 255.255.255.0 Router(config-subif)# end Router# write memory
至此,配置已全部完成,路由器现在拥有了两个逻辑接口,分别作为两个VLAN的网关,能够根据数据包的目标IP地址,在不同VLAN之间进行路由转发。
设备 | 接口/子接口 | IP地址/子网掩码 | VLAN ID | 角色 |
---|---|---|---|---|
销售部PC | 网卡 | 168.10.x /24 | 10 | 终端 |
技术部PC | 网卡 | 168.20.x /24 | 20 | 终端 |
交换机 | Gi0/1 | N/A | Trunk | 中继链路 |
路由器 | Gi0/0 | N/A | N/A | 物理接口 |
路由器 | Gi0/0.10 | 168.10.1 /24 | 10 | VLAN 10网关 |
路由器 | Gi0/0.20 | 168.20.1 /24 | 20 | VLAN 20网关 |
验证与排错
配置完成后,验证是必不可少的环节。
- 在交换机上,使用
show vlan brief
命令检查VLAN创建和端口分配是否正确,使用show interfaces trunk
确认中继端口状态正常,且允许的VLAN列表正确。 - 在路由器上,使用
show ip interface brief
查看所有接口和子接口的IP地址及状态,确保它们都是up/up
。 - 从PC端测试,将销售部PC的默认网关设置为
168.10.1
,技术部PC的默认网关设置为168.20.1
,从销售部PCping
自己的网关、技术部PC的网关以及技术部PC的IP地址,以确认VLAN内和VLAN间的连通性。
如果通信失败,请检查:物理线路连接、接口是否no shutdown
、VLAN ID是否匹配、IP地址和子网掩码是否正确、PC的网关设置是否无误。
相关问答FAQs
Q1:单臂路由和三层交换机实现VLAN间路由有什么区别?我应该选择哪种?
A1: 主要区别在于性能、成本和适用场景。
- 单臂路由:利用路由器进行VLAN间路由,所有VLAN流量都必须通过单一的物理链路进出路由器,这会形成网络瓶颈,尤其是在流量较大的网络中,但其优点是成本低,只需一台支持子接口的路由器即可,非常适合小型网络或预算有限的场景。
- 三层交换机:在交换机硬件层面实现路由功能,数据交换速度极快,可以达到线速转发,没有瓶颈,它专为处理大量的VLAN间通信而设计,缺点是成本远高于普通路由器。
选择建议:对于小型办公室、分支机构或VLAN数量少、VLAN间流量不大的环境,单臂路由是性价比极高的选择,对于中大型企业网络、数据中心或需要高性能VLAN间通信的场景,应毫不犹豫地选择三层交换机。
Q2:为什么我的VLAN内的PC可以互相ping通,但无法ping通其他VLAN的PC?
A2: 这是一个典型的VLAN间路由问题,请按照以下步骤排查:
- 检查网关设置:确保每个VLAN内的PC都已正确配置其默认网关,该网关地址必须是路由器上对应子接口的IP地址(VLAN 10的PC网关应为192.168.10.1)。
- 检查路由器配置:登录路由器,使用
show ip interface brief
确认子接口状态为up/up
,并且IP地址配置正确,使用show running-config
检查子接口的encapsulation dot1q [VLAN_ID]
命令是否与VLAN ID完全匹配。 - 检查交换机中继配置:确认连接路由器的交换机端口已配置为
trunk
模式,allowed vlan
列表包含了需要通信的所有VLAN,可以使用show interfaces trunk
命令查看。 - 检查物理连接:确保连接路由器和交换机的网线是好的,并且两端接口的指示灯正常。
- 启用路由功能:虽然对于单臂路由,IP路由通常是默认开启的,但可以检查路由器全局配置下是否有
ip routing
命令(如果被禁用,请在全局配置模式下输入ip routing
)。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/14014.html