#import "labtemplate.typ": * #show: nudtlabpaper.with(title: "虚拟局域网(VLAN)配置", author: "程景愉", id: "202302723005", training_type: "无军籍", grade: "2023", major: "网络工程", department: "计算机学院", advisor: "张军", jobtitle: "工程师", lab: "306-707", date: "2025.09.17", header_str: "《网络工程》实验报告", ) #set page(header: [ #set par(spacing: 6pt) #align(center)[#text(size: 11pt)[《网络工程》实验报告]] #v(-0.3em) #line(length: 100%, stroke: (thickness: 1pt)) ],) #show heading: it => box(width: 100%)[ #v(0.50em) #set text(font: hei) // #counter(heading).display() // #h(0.5em) #it.body ] #outline(title: "目录",depth: 3, indent: 2em) #pagebreak() #outline( title: [图目录], target: figure.where(kind: image), ) #show heading: it => box(width: 100%)[ #v(0.50em) #set text(font: hei) #counter(heading).display() // #h(0.5em) #it.body ] #set enum(indent: 0.5em,body-indent: 0.5em,) #pagebreak() = 实验目的 #para[ 要求学员能根据需求划分和配置VLAN,实现VLAN的基本功能。了解端口安全的作用,掌握端口安全的配置方法。 ] = 实验原理 == VLAN #para[ 虚拟局域网(VLAN)是一种将局域网划分为多个逻辑上的局域网的技术。VLAN技术可以将不同的用户、不同的网络设备、不同的网络数据流分隔开,提高网络的安全性和管理性。VLAN技术可以实现以下功能: ] - 逻辑划分:将一个物理局域网划分为多个逻辑局域网,不同的逻辑局域网之间相互隔离,提高网络的安全性。 - 广播控制:VLAN可以控制广播域的范围,减少广播风暴,提高网络的性能。 - 管理灵活:VLAN可以根据网络的需求随时调整,提高网络的管理灵活性。 - 负载均衡:VLAN可以将不同的用户、不同的网络设备、不同的网络数据流分隔开,实现负载均衡。 // == 链路聚合 // #para[ // 链路聚合是一种将多个物理链路聚合成一个逻辑链路的技术。链路聚合技术可以实现以下功能: // ] // - 增加带宽:可以将多个物理链路聚合成一个逻辑链路,增加带宽,提高网络的性能。 // - 提高可靠性:可以将多个物理链路聚合成一个逻辑链路,提高网络的可靠性。 // - 负载均衡:可以将多个物理链路聚合成一个逻辑链路,实现负载均衡。 == 端口安全 #para[ 端口安全是一种保护网络安全的技术,可以防止未经授权的设备接入网络。端口安全技术可以实现以下功能: ] - 限制MAC地址:可以限制接口学习的MAC地址数量,防止未经授权的设备接入网络。 - 防止ARP攻击:可以防止ARP攻击,提高网络的安全性。 - 防止MAC地址冲突:可以防止MAC地址冲突,提高网络的稳定性。 = 实验环境 == 实验背景 #para[ 本实验模拟某公司网络场景。公司规模较大,员工200余名,内部网络是一个大的局域网。公司放置了多台接入交换机(如S1和S2)负责员工的网络接入。接入交换机之间通过汇聚交换机S3相连。公司通过划分VLAN来隔离广播域,由于员工较多,相同部门的员工通过不同交换机接入。为了保证在不同交换机下相同部门的员工能互相通信,需要配置交换机之间链路为干道模式,以实现相同VLAN跨交换机通信。 ] == 实验设备 #align(center)[#table( columns: (auto, auto,auto), rows:(2em,2em,3em), inset: 10pt, align: horizon+center, table.header( [*设备名称*], [*设备型号*], [*设备数量*] ), "交换机", "华为S5735", "2", "PC", "联想启天M410 Windows 10", "4", )] #para[ 另有网线若干,控制线2条。 ] = 实验步骤及结果 == 实验拓扑 #para[ 按实验背景,绘制拓扑图如下: ] #figure(image("实验拓扑.png",format: "png",fit:"stretch",width: 100%),caption: "实验拓扑图") == 按照拓扑图接线 #para[ 按照拓扑图接线,将PC1、PC2、PC3、PC4分别连接到LSW1、LSW2上。 ] #figure(image("接线图.jpg",format: "jpg",fit:"stretch",width: 90%),caption: "接线图") == 配置前检验 #para[ 设置PC1、2、3、4的IP地址,分别为`10.130.81.{210, 211, 212, 213}`。设置PC的网关均为`10.130.81.1`。以PC1为例,配置如下: ] #figure(image("PC1IP.jpg",format: "jpg",fit:"stretch",width: 40%),caption: "配置前检验") #para[ 说明PC1的IP地址、网关地址已经设置成功。 然后,在PC1上ping PC2、PC3、PC4,查看是否能够ping通。结果显然是PC1能够ping通PC2、PC3、PC4,网络连接正常。下面开始进行VLAN配置。 ] == 配置VLAN #para[ 下列许多步骤在LSW1和LSW2上都有相同的操作,这里只列出LSW1上的操作步骤。 ] === 配置各个接口的VLAN属性 #para[ 创建VLAN并将接口加入VLAN。将与PC1、PC2相连接口的接口类型设置为access。将PC1划分到VLAN 10,将PC2划分到VLAN 20。 ] #figure(image("vlanbatch.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "将VLAN进行划分") #para[ 配置VLAN10和VLAN20接口属性为access。 ] #figure(image("vlanset.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "配置VLAN属性(1)") #para[ 配置trunk接口允许VLAN10和VLAN20通过。 ] #figure(image("vlantrunk.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "配置VLAN属性(2)") #para[ 接下来需要验证配置结果,查看链路是否协商成功。 ] === 阶段性检验 #para[ 在PC1上ping PC2、PC3、PC4,查看是否能够ping通。预期结果为PC1可以ping通PC3,无法ping通PC2、4。结果如下: ] #figure(image("pingcheck1.jpg",format: "jpg",fit:"stretch",width: 50%),caption: "阶段性检验(1)") #para[ 上述结果说明PC2可以ping通PC4,无法ping通PC1、2,VLAN配置成功。 ] == 配置VLANIF接口实现三层路由通信 #para[ 现在两部门之间展开交流,要求PC1,2,3,4能够互相访问。为此,需要在交换机上配置VLANIF接口以及网关地址。 ] === 配置PC默认网关 #para[ 进行该实验时先调整PC3,4的IP地址,从`10.130.81.x/24`变为了`10.130.91.x/24`。 并在PC3、PC4上调整网关为`10.130.91.1`。以PC3为例,配置如下: ] #figure(image("PC3IP.jpg",format: "jpg",fit:"stretch",width: 40%),caption: "PC3进行IP地址调整") === 配置VLAN网关 #para[ 配置VLANIF接口,作为学生PC的网关。在LSW1上配置VLANIF10接口的IP地址为`10.130.81.1/24`,配置VLANIF20接口的IP地址为`10.130.91.1/24`。 具体命令如下: ] #align(center)[`[LSW1] int vlanif 10`] #align(center)[`[LSW1-Vlanif10] ip addr 10.130.81.1`] #align(center)[`[LSW1-Vlanif10] int vlanif 20`] #align(center)[`[LSW1-Vlanif20] ip addr 10.130.91.1`] #para[ 配置好之后使用`display interface Vlanif `命令查看VLANIF接口的状态,查看结果显示: ] #figure(image("vlanif10.jpg",format: "jpg",fit:"stretch",width: 60%),caption: "vlanif10接口状态") #figure(image("vlanif20.jpg",format: "jpg",fit:"stretch",width: 60%),caption: "vlanif20接口状态") #para[ 说明IP已经正确配置,且状态为UP。 ] === 阶段性检验 #para[ 在PC1上ping PC1、PC2、PC3、PC4,查看是否能够ping通。预期结果为全通。结果如下: ] #figure(image("pingcheck2.jpg",format: "jpg",fit:"stretch",width: 60%),caption: "阶段性检验(2)") #para[ 上述结果说明PC1可以ping通PC2、PC3、PC4,VLANIF配置成功。两个部门的电脑之间可以通信。 ] == 引入接口安全 #para[ 两个部门的交流活动中,有外部人员参与。为了保证网络安全,需要对接口进行安全配置,防止外部人员使用外部设备接入网络。 ] === 配置接口安全 #para[ 将接口GigabitEthernet0/0/1、GigabitEthernet0/0/2的最大MAC地址数设置为1。以LSW1的GigabitEthernet0/0/1为例,配置如下: ] #figure(image("macset.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "配置接口安全") 配置好之后,让PC1与PC2、PC3、PC4进行一次ping通信,让交换机学习每个PC的MAC地址。用`ipconfig /all`命令查看PC的MAC地址,以PC1为例,查看结果如下: #figure(image("macprint.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "查看PC1的MAC地址") 可以看到PC1的MAC地址为`1C-69-7A-2F-93-70`。 在LSW1上运行`display mac-address`命令查看交换机学习到的MAC地址,查看结果如下: #figure(image("maccheck.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "验证交换机学习到的MAC地址") #para[ 可以看到交换机学习到了PC1的MAC地址。 ] === 检验接口安全配置 #para[ 模拟外部人员进入,将PC1用于接入交换机LSW1的网线取下,改用个人笔记本电脑接入LSW1,并将IP地址与默认网关设置为与PC1相同。 ] #para[ 然后分别ping PC2、PC3、PC4,结果均无法正常ping通,查看交换机的MAC地址表,发现并没有学习到个人笔记本电脑的MAC地址,说明接口安全配置成功。 ] = 实验总结 == 内容总结 #para[ 通过本次实验,我深入了解了虚拟局域网(VLAN)和端口安全配置的基本原理和实际操作。具体来说,我完成了以下几项任务: ] 1. VLAN 配置: - 学习了 VLAN 的基本概念和作用,掌握了如何根据需求划分和配置 VLAN。 - 通过实际操作,将一个物理局域网划分为多个逻辑局域网,实现了不同 VLAN 之间的隔离,提高了网络的安全性和管理性。 2. 端口安全配置: - 学习了端口安全的作用和配置方法,掌握了如何通过端口安全配置来防止未经授权的设备接入网络。 - 通过实际操作,模拟了外部人员尝试接入网络的场景,验证了端口安全配置的有效性。 == 心得感悟 #para[ 本次实验,我在完成基础的VLAN配置后,我尝试学习课上讲到的安全技术,并在实验中成功利用。在实验中,我遇到了许多问题,但通过查阅资料、请教老师和同学,最终解决了问题。通过本次实验,我不仅学会了网络配置的方法,还提高了解决问题的能力。 ] #show heading: it => box(width: 100%)[ #v(0.50em) #set text(font: hei) // #counter(heading).display() // #h(0.5em) #it.body ] #pagebreak() #bibliography("ref.yml",full: true,title: "参考文献",style:"gb-7714-2015-numeric")