实验目的
VLAN 技术可以防止因广播域过大造成的广播数据包泛滥,影响网络质量的问题。通过本实验,我们可以练习以下技术:
- 在交换机上创建 VLAN 的方法;
- 在交换机上配置 Access, Trunk 和 Hybrid 接口模式的方法;
- 基于接口加入 VLAN 的方法;
- 基于 MAC 地址加入 VLAN 的方法;
本文中的实验步骤基于 eNSP 1.3.00.100 模拟器完成。
实验效果
- 同一个交换机上同一个 VLAN 内的 PC 可以相互通信;
- 不同交换机上同一个 VLAN 内的 PC 可以相互通信;
- 同一交换机上不同 VLAN 内的 PC 不可以相互通信。
实验拓扑
前期准备
首先,使用下面的命令关闭华为网络设备(路由器或交换机等)的信息中心功能:
undo info-center enable
执行完上述命令之后,华为网络设备就不再记录和显示日志等信息,可以使配置过程中的终端界面更加“清爽”。
如果要重新开启该信息中心功能,则只需要执行
info-center enable
命令。
接着,按照上面的拓扑图所示,添加相应的设备(交换机和 PC)并用线缆完成设备间的连接。
接着,给两台交换机改名,分别命名为 LSW1
和 LSW2
:
<Huawei>system-view [Huawei]sysname LSW1
<Huawei>system-view [Huawei]sysname LSW2
之后,双击 PC 设备,为全部 5 台 PC 配置 IP 地址和子网掩码,其中 PC1 的配置效果如图 02 所示:
创建 VLAN
在 LSW1 交换机上创建 VLAN 10 和 VLAN 20 两个 VLAN:
[LSW1]vlan 10 [LSW1-vlan10]quit [LSW1]vlan 20 [LSW1-vlan20]quit
当然,也可以使用 vlan batch
命令批量创建 VLAN, 例如在 LSW2 交换机上,批量创建 VLAN 10 和 VLAN 20:
[LSW2]vlan batch 10 20
之后,我们可以使用 display vlan
命令查看一下当前设备中 VLAN 的配置情况。
LSW1 上当前的 VLAN 情况如图 03 所示:
LSW1 上当前的 VLAN 情况如图 04 所示:
基于端口的方式加入 VLAN
在 LSW1 上,将 GE 0/0/1 和 GE 0/0/2 这两个接口加入到 vlan 10 中,接口模式设置为 access:
[LSW1]interface GigabitEthernet 0/0/1 [LSW1-GigabitEthernet0/0/1]port link-type access [LSW1-GigabitEthernet0/0/1]port default vlan 10 [LSW1-GigabitEthernet0/0/1]quit
[LSW1]interface GigabitEthernet 0/0/2 [LSW1-GigabitEthernet0/0/2]port link-type access [LSW1-GigabitEthernet0/0/2]port default vlan 10 [LSW1-GigabitEthernet0/0/2]quit
还是在 LSW1 上,将 GE 0/0/3 端口加入到 vlan 20 中,接口模式设置为 access:
[LSW1]interface GigabitEthernet 0/0/3 [LSW1-GigabitEthernet0/0/3]port link-type access [LSW1-GigabitEthernet0/0/3]port default vlan 20 [LSW1-GigabitEthernet0/0/3]quit
当前,LSW1 上的配置结果如图 05 所示:
接着,在 LSW2 上,将 GE 0/0/1 端口加入到 vlan 20 中,接口模式设置为 access:
[LSW2]interface GigabitEthernet 0/0/1 [LSW2-GigabitEthernet0/0/1]port link-type access [LSW2-GigabitEthernet0/0/1]port default vlan 20 [LSW2-GigabitEthernet0/0/1]quit
当前,LSW2 上的配置结果如图 06 所示:
同一个 VLAN 的跨交换机通信
将接口加入到的对应的 VLAN 之后,同一个交换机上且同一个 VLAN 内的 PC 可以相互 PING 通,同一个交换机不同 VLAN 上的 PC 无法相互 PING 通。所以,此时,PC1 和 PC2 可以互通,但是,PC1 和 PC3 不能互通。
但是,由于此时还没有配置 trunk 链路,如果两个 PC 连接在不同的交换机上(例如 PC3 和 PC4),即便他们属于同一个 VLAN, 也无法互通,所以,此时 PC3 PING 不通 PC4.
为了使 PC3 可以 PING 通 PC4, 我们就需要将连接两台交换机的端口配置为 trunk 模式——配置了 trunk 链路之后,就可以允许多个 VLAN 跨交换机交换数据了。
首先,在 LSW1 上把 GE 0/0/4 端口设置为 trunk 模式,并设置来自 VLAN 10 和 VLAN 20 的数据包可以通过该端口:
[LSW1]interface GigabitEthernet 0/0/4 [LSW1-GigabitEthernet0/0/4]port link-type trunk [LSW1-GigabitEthernet0/0/4]port trunk allow-pass vlan 10 20 [LSW1-GigabitEthernet0/0/4]quit
接着,在 LSW2 上把 GE 0/0/3 端口设置为 trunk 模式,并设置来自 VLAN 10 和 VLAN 20 的数据包可以通过该端口:
[LSW2]interface GigabitEthernet 0/0/3 [LSW2-GigabitEthernet0/0/3]port link-type trunk [LSW2-GigabitEthernet0/0/3]port trunk allow-pass vlan 10 20 [LSW2-GigabitEthernet0/0/3]quit
此时,再从 PC3 PING PC4 就可以 PING 通了。
基于 MAC 方式加入 VLAN
基于接口的方式加入 VLAN 存在一些固有的缺点,例如,一个 VLAN 所在的接口坏了,那么,将连接在该接口上的设备移动到其他接口上后,并不能将原有的 VLAN 设置一并移动过去。
而基于 MAC 地址划分 VLAN 就可以克服这个缺点,因为基于 MAC 地址划分的 VLAN 可以将 VLAN 的配置信息与特定的设备绑定,这样一来,无论设备连接在哪个端口上,这个端口都可以根据其提供的 MAC 地址识别出其所属的 VLAN.
此时,由于 PC5 还没有进入 VLAN 10, 因此,PC1 无法 PING 通 PC5.
对于 PC5 我们使用基于 MAC 地址的划分方式。
首先,查看 PC5 的 MAC 地址,发现其 MAC 地址为:
54-89-98-AD-44-B1
配置命令如下:
[LSW2]vlan 10 [LSW2-vlan10]mac-vlan mac-address 5489-98AD-44B1 [LSW2-vlan10]quit [LSW2]interface GigabitEthernet 0/0/2 [LSW2-GigabitEthernet0/0/2]port link-type hybrid [LSW2-GigabitEthernet0/0/2]port hybrid untagged vlan 10 [LSW2-GigabitEthernet0/0/2]mac-vlan enable [LSW2-GigabitEthernet0/0/2]quit
在 eNSP 中基于 MAC 地址加入 VLAN 的时候,要将原来的 MAC 地址
54-89-98-AD-44-B1
写成5489-98AD-44B1
这样的格式,否则会报错。
在 LSW2 交换机上查看配置结果的命令:
display mac-vlan vlan 10
上述命令的执行结果如图 07 所示: