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

思科交换机如何配置trunk中继并允许指定VLAN通过?

在现代网络架构中,虚拟局域网(VLAN)是实现逻辑网络分段、增强安全性和优化流量的基石,当需要在不同的交换机之间传递多个VLAN的流量时,如果为每个VLAN都铺设一条物理线路,将是极其低效且不切实际的,这时,中继链路的概念便应运而生,它就像一条多车道的高速公路,允许来自不同VLAN的数据包在同一条物理链路上有序地传输。

什么是中继链路?

中继链路是连接两台网络设备(通常是交换机)的一条点对点链路,它能够承载多个VLAN的流量,为了区分不同VLAN的数据帧,交换机在将这些帧发送到中继链路之前,会给它们“打上”一个标签,这个标签标识了该数据帧所属的VLAN,当对端交换机收到这个带标签的帧后,会根据标签信息将其转发到正确的VLAN。

与之相对的是接入端口,它通常只属于一个VLAN,用于连接终端设备(如个人电脑、打印机等),这些设备发出的流量是不带VLAN标签的。

为了更直观地理解,我们可以看一个简单的对比:

特性 接入链路 中继链路
用途 连接终端用户设备 连接交换机之间、交换机与路由器之间
承载VLAN数量 通常为1个 多个(通常为2-4094个)
数据帧 不带VLAN标签(标准以太网帧) 带有VLAN标签(用于识别VLAN)
工作模式 Access模式 Trunk模式

中继协议:ISL vs. 802.1Q

在思科交换机上,实现中继功能主要有两种协议:ISL(Inter-Switch Link)和IEEE 802.1Q。

  • ISL (Inter-Switch Link):这是思科早期的私有协议,它通过封装整个原始以太网帧并在外部添加一个新的ISL头部和CRC校验来工作,这种方式会增加30字节的开销,由于ISL是思科私有标准,且已被业界淘汰,现代的思科交换机大多已不再支持此协议。

  • IEEE 802.1Q:这是由IEEE制定的工业标准,也常被称为“dot1q”,与ISL不同,802.1Q不是封装整个帧,而是在原始以太网帧的源MAC地址和类型/长度字段之间插入一个4字节(32位)的标签,这个标签包含了VLAN ID(12位,支持最多4094个VLAN)等信息,由于其开放性和高效性,802.1Q已成为当前配置中继链路的通用标准。

    思科交换机如何配置trunk中继并允许指定VLAN通过? 第1张

特性 ISL (Inter-Switch Link) IEEE 802.1Q
标准化 思科私有 IEEE工业标准
封装方式 封装整个原始帧 在帧内插入一个4字节标签
帧开销 30字节 4字节
当前状态 已基本淘汰 行业标准,广泛应用

配置思科交换机中继

以下是在思科IOS交换机上配置802.1Q中继链路的典型步骤,假设我们要在交换机的GigabitEthernet0/1接口上配置中继。

创建VLAN(如果尚未创建)

在配置中继之前,请确保您已经创建了需要通过中继链路传输的VLAN。

Switch> enable Switch# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Switch(config)# vlan 10 Switch(config-vlan)# name Sales Switch(config-vlan)# vlan 20 Switch(config-vlan)# name Marketing Switch(config-vlan)# exit

进入接口配置模式

选择您要配置为中继链路的物理接口。

Switch(config)# interface GigabitEthernet0/1

将接口设置为中继模式

使用switchport mode trunk命令将接口强制设置为Trunk模式。

Switch(config-if)# switchport mode trunk

指定中继封装协议

对于支持多种封装协议的老型号交换机,需要明确指定使用802.1Q,现代的交换机通常默认使用802.1Q,此步骤可能被省略。

思科交换机如何配置trunk中继并允许指定VLAN通过? 第2张

管理本征VLAN(Native VLAN)

本征VLAN是一个特殊的概念,通过中继链路传输的、属于本征VLAN的流量,在发送时是不带802.1Q标签的,默认情况下,本征VLAN是VLAN 1,为了安全和管理最佳实践,强烈建议将本征VLAN更改为一个未被使用的、专用的VLAN(例如VLAN 99或VLAN 999)。

Switch(config-if)# switchport trunk native vlan 99

注意:链路两端的交换机接口必须配置相同的本征VLAN,否则可能会引发“本征VLAN不匹配”的警告,并可能导致某些流量问题。

定义允许通过的VLAN列表

默认情况下,中继链路允许所有已创建的VLAN通过,出于安全考虑,可以手动配置一个“允许列表”,只让必要的VLAN流量通过。

Switch(config-if)# switchport trunk allowed vlan 10,20,99

您还可以使用add、remove和except等关键字来灵活管理这个列表。

完整配置示例

! 创建VLAN vlan 10 name Sales vlan 20 name Marketing vlan 99 name NATIVE_VLAN ! 配置中继接口 interface GigabitEthernet0/1 description Trunk to Core-Switch switchport trunk encapsulation dot1q switchport mode trunk switchport trunk native vlan 99 switchport trunk allowed vlan 10,20,99 spanning-tree portfast trunk

验证与排错

配置完成后,使用以下命令来验证中继链路的状态:

  • show interfaces trunk:这是最核心的验证命令,它会显示所有处于中继模式的接口、封装协议、本征VLAN以及允许通过的VLAN列表。
  • show vlan brief:可以查看VLAN的设置以及哪些端口被分配到哪个VLAN。
  • show running-config interface GigabitEthernet0/1:查看特定接口的详细运行配置。

如果中继链路无法正常工作,请检查以下几点:

思科交换机如何配置trunk中继并允许指定VLAN通过? 第3张

  1. 两端接口是否都正确配置为trunk模式。
  2. 封装协议是否一致(通常都是dot1q)。
  3. 本征VLAN ID是否匹配。
  4. 允许的VLAN列表是否包含了您需要通信的VLAN。


相关问答FAQs

switchport mode trunk、switchport mode dynamic desirable 和 switchport mode dynamic auto 这三种模式有什么区别?

解答:

这三种模式与思科的动态中继协议(DTP)相关,用于自动协商链路是否成为中继。

  • switchport mode trunk:强制将接口设置为Trunk模式,不发送DTP协商报文,无论对端是什么模式,本端都始终是Trunk,这是最明确、最推荐的生产环境配置方式。
  • switchport mode dynamic desirable:主动模式,接口会主动发送DTP报文,尝试与对端协商建立Trunk链路,如果对端是trunk、desirable或auto模式,链路将成为Trunk。
  • switchport mode dynamic auto:被动模式,接口处于被动状态,不会主动发起协商,但会响应来自对端的DTP协商请求,只有当对端是trunk或desirable模式时,链路才会成为Trunk,如果两端都是auto模式,链路将成为Access链路。

为了网络的稳定性和可预测性,最佳实践是手动将接口配置为switchport mode trunk,避免使用动态协商模式。

为什么推荐更改默认的本征VLAN(VLAN 1),而不是继续使用它?

解答:

更改默认的本征VLAN主要出于两个重要原因:安全和管理。

  1. 安全风险:VLAN 1是许多网络协议(如CDP、VTP、DTP等)的默认VLAN,攻破者可能利用这一点,通过发送带有VLAN 1标签的恶意流量来尝试进行VLAN跳跃攻破,如果中继链路上的本征VLAN是VLAN 1,那么这些流量是未加标签的,更容易绕过一些安全检查,将本征VLAN更改为一个未被使用的、不承载任何用户流量的“哑VLAN”(如VLAN 999),可以有效隔离这些潜在的协议流量和攻破向量。

  2. 管理最佳实践:将VLAN 1保留为默认,但清空其所有成员端口,并禁止其在中继链路上传输用户数据,是一种网络“卫生”习惯,这确保了网络的基础架构更加清晰、可预测,减少了因默认配置引入的未知风险,更改本征VLAN是实现这一目标的关键步骤,它能确保中继链路上传输未打标签流量的VLAN是我们自己定义和控制的,而不是默认的VLAN 1。

0