当前位置:首页 > 虚拟主机 > 正文

Cisco路由器如何配置VLAN并实现不同网段互通?

VLAN(虚拟局域网)技术是现代网络管理中不可或缺的一部分,它通过在逻辑上对局域网进行划分,实现了不同用户群组的隔离,从而增强了网络的安全性、灵活性和管理效率,不同 VLAN 之间默认是无法直接通信的,它们就像被一堵无形的墙隔开,要实现跨 VLAN 的通信,就需要一个三层设备来进行路由转发,而这正是 Cisco 路由器大显身手的场景,本文将详细介绍如何在 Cisco 路由器上配置 VLAN,实现 VLAN 间的路由,这种配置模式通常被称为“单臂路由”。

配置前的准备工作

在开始配置之前,请确保您具备以下硬件和基本条件:

  1. 一台支持 802.1Q 协议的 Cisco 路由器:这是实现单臂路由的核心设备。
  2. 一台支持 VLAN 功能的 Cisco 交换机:用于创建 VLAN 和连接终端设备。
  3. 终端设备:例如两台 PC,分别用于测试不同 VLAN 间的连通性。
  4. Console 线缆:用于初始连接和配置设备。

我们的目标拓扑如下:交换机上创建两个 VLAN(VLAN 10 和 VLAN 20),路由器通过一个物理接口连接到交换机的一个中继端口,并负责为这两个 VLAN 提供路由服务。

设备类型 接口 VLAN ID IP 地址 子网掩码
PC 1 网卡 10 168.10.10 255.255.0
PC 2 网卡 20 168.20.10 255.255.0
交换机 (SW1) Fa0/2 10
交换机 (SW1) Fa0/3 20
交换机 (SW1) Fa0/1 (Trunk) 10, 20
路由器 (R1) G0/0 (Trunk) 10, 20 168.10.1 255.255.0 (子接口 G0/0.10)
路由器 (R1) G0/0 (Trunk) 10, 20 168.20.1 255.255.0 (子接口 G0/0.20)

第一步:在交换机上创建 VLAN 并分配端口

我们需要在交换机上创建两个 VLAN,并将相应的物理端口划入这些 VLAN,PC1 连接到交换机的 Fa0/2 端口,PC2 连接到 Fa0/3 端口。

# 进入交换机全局配置模式 Switch> enable Switch# configure terminal # 创建 VLAN 10 和 VLAN 20 Switch(config)# vlan 10 Switch(config-vlan)# name Sales Switch(config-vlan)# exit Switch(config)# vlan 20 Switch(config-vlan)# name Marketing Switch(config-vlan)# exit # 将 Fa0/2 端口分配给 VLAN 10 Switch(config)# interface fastethernet 0/2 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 10 Switch(config-if)# exit # 将 Fa0/3 端口分配给 VLAN 20 Switch(config)# interface fastethernet 0/3 Switch(config-if)# switchport mode access Switch(config-if)# switchport access vlan 20 Switch(config-if)# exit

第二步:配置交换机的中继端口

需要将连接路由器的交换机端口(Fa0/1)配置为中继模式,中继端口能够在单个链路上承载多个 VLAN 的流量。

Cisco路由器如何配置VLAN并实现不同网段互通? 第1张

至此,交换机端的配置已全部完成,它已经能够识别并标记来自 VLAN 10 和 20 的数据帧,并通过 Fa0/1 端口转发给路由器。

第三步:在路由器上配置子接口

这是“单臂路由”的核心步骤,我们将在路由器的物理接口上创建逻辑子接口,每个子接口对应一个 VLAN,并负责为其分配 IP 地址,作为该 VLAN 的网关。

# 进入路由器全局配置模式 Router> enable Router# configure terminal # 进入连接交换机的物理接口 G0/0 Router(config)# interface gigabitethernet 0/0 # **至关重要:** 启用物理接口 Router(config-if)# no shutdown Router(config-if)# exit # 创建子接口 G0/0.10,对应 VLAN 10 Router(config)# interface gigabitethernet 0/0.10 # 定义子接口的 VLAN 封装协议为 802.1Q,并指定 VLAN ID 为 10 Router(config-subif)# encapsulation dot1q 10 # 为该子接口配置 IP 地址,此地址将成为 VLAN 10 的网关 Router(config-subif)# ip address 192.168.10.1 255.255.255.0 Router(config-subif)# exit # 创建子接口 G0/0.20,对应 VLAN 20 Router(config)# interface gigabitethernet 0/0.20 # 定义子接口的 VLAN 封装协议为 802.1Q,并指定 VLAN ID 为 20 Router(config-subif)# encapsulation dot1q 20 # 为该子接口配置 IP 地址,此地址将成为 VLAN 20 的网关 Router(config-subif)# ip address 192.168.20.1 255.255.255.0 Router(config-subif)# end # 保存配置 Router# write memory

第四步:验证配置

配置完成后,我们需要进行验证以确保一切正常工作。

Cisco路由器如何配置VLAN并实现不同网段互通? 第2张

  1. 在交换机上验证 VLAN

    Switch# show vlan brief

    此命令可以查看 VLAN 的创建情况以及各端口所属的 VLAN。

  2. 在路由器上验证接口状态

    Router# show ip interface brief

    检查物理接口 G0/0 和两个子接口 G0/0.10、G0/0.20 的状态是否为 “up” 和 “up”,IP 地址是否配置正确。

  3. 在路由器上验证路由表

    Router# show ip route

    在路由表中,应该能看到两条直连路由(C),分别指向 192.168.10.0/24 和 192.168.20.0/24 网络,这表明路由器已经“知道”了这两个网络的存在。

  4. 终端连通性测试

    Cisco路由器如何配置VLAN并实现不同网段互通? 第3张

    • 将 PC1 的网关设置为 192.168.10.1,PC2 的网关设置为 192.168.20.1。
    • 从 PC1 ping 自己的网关(192.168.10.1)。
    • 从 PC2 ping 自己的网关(192.168.20.1)。
    • 从 PC1 ping PC2 的 IP 地址(192.168.20.10),如果能够 ping 通,说明 cisco 路由器配置 vlan 成功,VLAN 间路由已经正常工作。

通过以上步骤,我们成功地利用 Cisco 路由器的单臂路由技术,实现了跨 VLAN 的通信,这种方法经济高效,尤其适用于中小型网络或分支机构的网络环境,因为它节省了路由器的物理接口,仅用一个端口就能处理多个 VLAN 的路由请求。


相关问答 (FAQs)

Q1:为什么使用子接口而不是为每个 VLAN 使用一个独立的物理接口?

A: 使用子接口(即单臂路由)主要是出于经济性和可扩展性的考虑,如果为每个 VLAN 都分配一个独立的路由器物理接口,那么对于有多个 VLAN 需要昂贵的路由器提供大量的物理端口,这会导致成本急剧上升和端口资源的浪费,而子接口技术允许在单个物理接口上创建多个逻辑接口,每个逻辑接口处理一个 VLAN 的流量,极大地提高了接口利用率,降低了硬件成本,并且扩展起来非常灵活,新增 VLAN 只需增加一个新的子接口配置即可。

Q2:什么是“本征 VLAN”(Native VLAN),在配置中需要注意什么?

A: 本征 VLAN 是在中继链路上一个特殊的 VLAN,在中继链路上,除了本征 VLAN 以外的所有 VLAN 的数据帧都会被打上 802.1Q 标签,而本征 VLAN 的数据帧在发送时会被剥离标签,默认情况下,Cisco 设备的本征 VLAN 是 VLAN 1,为了安全起见,最佳实践是将中继链路的本征 VLAN 更改为一个未被使用的、专门的 VLAN 号,以防止 VLAN 1 上的潜在安全威胁(如 DTP 攻破、STP BPDU 泛洪等)影响到生产网络,可以在交换机和路由器的中继端口上使用 switchport trunk native vlan [vlan-id] 命令进行修改。

0