Files
NE_YuR/1_vlan/main.typ
2025-09-30 15:54:45 +08:00

242 lines
11 KiB
Typst
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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: 60%),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、2VLAN配置成功。
]
== 配置VLANIF接口实现三层路由通信
#para[
现在两部门之间展开交流要求PC1234能够互相访问。为此需要在交换机上配置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: 60%),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 <index>`命令查看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、PC4VLANIF配置成功。两个部门的电脑之间可以通信。
]
== 引入接口安全
#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")