openbox lab initialized
This commit is contained in:
@ -1,11 +1,7 @@
|
||||
#import "labtemplate.typ": *
|
||||
#show: nudtlabpaper.with(title: "异构网络设计综合实验",
|
||||
author1: "王李烜",
|
||||
id1: "202202001046",
|
||||
author2: "廖中煜",
|
||||
id2: "202202001032",
|
||||
author3: "王誉潞",
|
||||
id3: "202202001051",
|
||||
author1: "程景愉",
|
||||
id1: "202302723005",
|
||||
advisor: "张军",
|
||||
jobtitle: "工程师",
|
||||
lab: "306-707",
|
||||
@ -42,7 +38,7 @@
|
||||
// Display inline code in a small box
|
||||
// that retains the correct baseline.
|
||||
#show raw.where(block: false): it => box(
|
||||
text(font: ("Consolas","FangSong_GB2312"), it),
|
||||
text(font: ("Consolas","Noto Sans CJK SC"), it),
|
||||
fill: luma(240),
|
||||
inset: (x: 3pt, y: 0pt),
|
||||
outset: (y: 3pt),
|
||||
@ -52,7 +48,7 @@
|
||||
// Display block code in a larger block
|
||||
// with more padding.
|
||||
#show raw.where(block: true): it => block(
|
||||
text(font: ("Consolas","FangSong_GB2312"), it),
|
||||
text(font: ("Consolas","Noto Sans CJK SC"), it),
|
||||
fill: luma(240),
|
||||
inset: 6pt,
|
||||
radius: 3pt,
|
||||
@ -63,9 +59,9 @@
|
||||
#pagebreak()
|
||||
|
||||
= 实验目的与要求
|
||||
#para[
|
||||
+ 实验目的:通过本实验,让学员熟悉从网络规划到方案撰写,再到工程实施及测试验收的整个过程。
|
||||
+ 实验任务:设计和实现一个包含局域网和广域网的中型网络。
|
||||
#para[
|
||||
一个完整的组网工程包括需求分析、方案设计、设备选型与采购、硬件安装与配置、软件安装与配置、系统测试与联调、工程验收等若干个环节,其中硬件与应用系统安装、配置工作量大,技术含量高,是信息系统集成或网络工程的关键环节,其中既涉及到技术上的问题,也涉及到工程组织、协调配合上的问题,一个网络工程师只有通过多次工程的实际锻炼,不断积累经验、吸取教训才能提高自己的水平。
|
||||
]
|
||||
= 需求分析
|
||||
@ -172,12 +168,16 @@
|
||||
=== 拓扑图
|
||||
#para[
|
||||
物理链路的拓扑图如@topo 所示(见下页):
|
||||
]
|
||||
#figure(image("实验拓扑.png",format: "png",fit:"stretch",width: 115%),caption: "实验拓扑图")<topo>
|
||||
#para[
|
||||
核心交换机有2台,它们在物理上是横向而对等的关系。但由于使用了堆叠技术,核心层的2台交换机在逻辑上是同一个设备。此外,由于使用防火墙旁挂,所以需要把核心交换机分成内外两个VPN示例。而这两个VPN实例在逻辑上可以视为2个设备,故逻辑拓扑图由横向的2个设备变为了纵向的两个设备,如下图所示。
|
||||
]
|
||||
#figure(image("逻辑拓扑.png",format: "png",fit:"stretch",width: 30%),caption: "逻辑拓扑图")<logic_topo>
|
||||
#para[
|
||||
接下来给出设备连接表(拓扑表):
|
||||
]
|
||||
#para[
|
||||
// #para[
|
||||
#set page(flipped: true)
|
||||
#align(center)[#figure(caption: "核心交换机拓扑表")[#table(
|
||||
columns: (auto, auto,auto,auto,auto,auto,auto,auto),
|
||||
@ -275,10 +275,9 @@
|
||||
[FW2], [g0/0/4], [FW1], [g0/0/4], [10.1.1.2/24], [7], [-], [用于组建防火墙旁挂系统],
|
||||
[FW2], [g0/0/5], [FW1], [g0/0/5], [10.1.1.2/24], [7], [-], [用于组建防火墙旁挂系统],
|
||||
)]]<firewall_topo>
|
||||
]
|
||||
// ]
|
||||
|
||||
= 实验设备
|
||||
#para[
|
||||
#align(center)[#table(
|
||||
columns: (auto, auto,auto,auto),
|
||||
rows:40pt,
|
||||
@ -300,19 +299,19 @@
|
||||
Windows 10 24H4", "1","DataServer、WebServer",
|
||||
)]
|
||||
另有网线、控制线若干。
|
||||
]
|
||||
= 实验步骤及结果
|
||||
#para[]
|
||||
== 设备连接
|
||||
#para[
|
||||
将所有设备按照拓扑图连接好,确保每个设备的接口都正确连接:
|
||||
]
|
||||
#figure(image("机柜正面接线图.jpg",format: "jpg",fit:"stretch",width: 60%),caption: "机柜正面接线图")<front>
|
||||
#figure(image("机柜背面接线图.jpg",format: "jpg",fit:"stretch",width: 80%),caption: "机柜背面接线图")<back>
|
||||
]
|
||||
== 配置核心层堆叠系统基本功能
|
||||
=== 组建堆叠系统
|
||||
#para[
|
||||
在此处配置开始之前,必须明确:本设备的逻辑堆叠端口stack-port 0/1对应的物理端口,必须连接邻设备的逻辑堆叠端口stack-port 0/2对应的物理端口,否则堆叠组建不成功。
|
||||
]
|
||||
+ 配置逻辑堆叠端口并加入物理成员端口。
|
||||
- 配置LSW1的业务口g0/0/1、g0/0/7为物理成员端口,并加入到相应的逻辑堆叠端口。
|
||||
```
|
||||
@ -378,12 +377,13 @@
|
||||
1 Standby 642c-acc1-5970 100 S5735S-S24T4S-A
|
||||
```
|
||||
输出展示了堆叠的状态信息,包括堆叠模式、堆叠拓扑类型、堆叠系统MAC地址、MAC切换延迟时间、堆叠保留VLAN、激活管理端口的槽位、各个槽位的角色、MAC地址、优先级和设备类型。其中,槽位0的Priority为200,槽位1的Priority为100,在竞争中槽位0最终会成为Master角色,槽位1为Standby角色。按照顺序上电能够保证设备快速进入事先规定好的角色。
|
||||
|
||||
#para[
|
||||
配置完成后,两台设备将组成一个堆叠系统,逻辑上看成一个设备,标号为CORE,称为核心集群。在后续的配置中,将以CORE作为设备名称。
|
||||
]
|
||||
=== 配置核心集群的Eth-Trunk功能和接口IP地址
|
||||
#para[
|
||||
此步骤是要将核心集群与其他设备相连的物理链路聚合起来,以提高链路的带宽和可靠性。
|
||||
]
|
||||
+ 创建 Eth-Trunk1,用于连接 AR1,并加入 Eth-Trunk 成员接口。
|
||||
```
|
||||
[CORE] interface Eth-Trunk 1
|
||||
@ -456,10 +456,10 @@
|
||||
[CORE-GigabitEthernet1/0/11] Eth-Trunk 6
|
||||
[CORE-GigabitEthernet1/0/11] quit
|
||||
```
|
||||
]
|
||||
=== 配置核心集群的VLAN功能
|
||||
#para[
|
||||
经过前面的配置,核心集群上现在同时共存了2个VPN实例:Private与Public。它们互相隔离,表示内网与外网不能直接连通;每个实例内又需要配置多个VLAN,并在每个Eth接口上限制VLAN的出入,借此来限制与不同用途的设备的连接。本步骤进行VLAN配置,并为每个VLAN配置VLANIF接口的IP地址。
|
||||
]
|
||||
+ 创建 VLAN 并配置 VLANIF 接口。
|
||||
```
|
||||
[CORE] vlan batch 10 20 30 110 120 130
|
||||
@ -585,10 +585,10 @@
|
||||
130 enable default enable disable VLAN 0130
|
||||
```
|
||||
输出中的信息与上文配置办法无异,说明各个VLAN#footnote[其中的VLAN 66是后来配置的,此处可忽略。]配置生效。
|
||||
]
|
||||
== 配置接入层
|
||||
#para[
|
||||
接入层的配置比较简单,仅涉及到 VLAN。
|
||||
]
|
||||
|
||||
+ 配置 LSW3:
|
||||
```plaintext
|
||||
@ -655,10 +655,10 @@
|
||||
[LSW5-GigabitEthernet0/0/4] port trunk allow-pass vlan 130
|
||||
[LSW5-GigabitEthernet0/0/4] quit
|
||||
```
|
||||
]
|
||||
== 配置出口网关的基本功能
|
||||
#para[
|
||||
出口网关即为AR1、AR2。在此步骤中,首先配置路由器使用链路聚合接口,核心交换机能够荣
|
||||
]
|
||||
+ 在 AR1 上创建 Eth-Trunk2,并加入成员接口。
|
||||
```plaintext
|
||||
[AR1] interface Eth-Trunk 2
|
||||
@ -700,10 +700,10 @@
|
||||
[AR2-Eth-Trunk2.100] dot1q termination vid 10
|
||||
[AR2-Eth-Trunk2.100] quit
|
||||
```
|
||||
]
|
||||
=== 配置防火墙的基本功能
|
||||
#para[
|
||||
在此步骤中,首先配置防火墙使用链路聚合接口,然后配置接口的IP地址,最后根据接口划分安全区域。
|
||||
]
|
||||
+ 在 FW1 上配置接口与安全区域。
|
||||
```plaintext
|
||||
[FW1] interface Eth-Trunk 3 // 配置与 CORE 连接的接口及 IP 地址(外侧)
|
||||
@ -800,7 +800,6 @@
|
||||
[FW2-zone-dmz] add interface Eth-Trunk 1 // 将 FW2 与 FW1 之间的接口加入 DMZ 区域
|
||||
[FW2-zone-dmz] quit
|
||||
```
|
||||
]
|
||||
== 配置使内部网络互联互通
|
||||
#para[
|
||||
此处内网指与核心集群相连的重要设备,即AR1、AR2、FW1、FW2。在此步骤中,需要配置核心集群与AR1、AR2的连接,使得核心集群能够连接路由器;其次还要配置核心集群上两个不互通的VPN实例与FW1、FW2的连接,使得两个VPN实例可以通过旁挂防火墙互通。
|
||||
@ -808,6 +807,7 @@
|
||||
=== 在路由器上部署VRRP
|
||||
#para[
|
||||
在AR1、AR2上部署VRRP,使得核心集群能够通过VRRP虚拟IP地址连接路由器。
|
||||
]
|
||||
- 配置AR1:
|
||||
```
|
||||
[AR1] interface Eth-Trunk 2.100
|
||||
@ -821,10 +821,10 @@
|
||||
[AR2-Eth-Trunk2.100] vrrp vrid 1 virtual-ip 192.168.10.100 //配置VRRP的虚拟IP地址
|
||||
[AR2-Eth-Trunk2.100] quit
|
||||
```
|
||||
]
|
||||
=== 配置 AR1 和 AR2 的路由
|
||||
#para[
|
||||
+ 在 AR1 上配置 OSPF。
|
||||
]
|
||||
```plaintext
|
||||
[AR1] ospf 100 router-id 1.1.1.1
|
||||
[AR1-ospf-100] area 0
|
||||
@ -841,10 +841,8 @@
|
||||
[AR2-ospf-100-area-0.0.0.0] quit
|
||||
[AR2-ospf-100] quit
|
||||
```
|
||||
]
|
||||
|
||||
=== 配置防火墙的路由
|
||||
#para[
|
||||
+ 在 FW1 上配置静态路由。
|
||||
|
||||
```plaintext
|
||||
@ -862,10 +860,10 @@
|
||||
[FW2] ip route-static 192.168.120.0 255.255.255.0 192.168.30.1 // 对于下行流量,目的地址为 VLAN120 网络,下一跳为 CORE 的 Private 接口 VLANIF30 的 IP 地址
|
||||
[FW2] ip route-static 192.168.130.0 255.255.255.0 192.168.30.1 // 对于下行流量,目的地址为 VLAN130 网络,下一跳为 CORE 的 Private 接口 VLANIF30 的 IP 地址
|
||||
```
|
||||
]
|
||||
=== 配置核心集群的路由
|
||||
#para[
|
||||
核心集群上路由配置比较复杂,涉及到两个VPN实例,分别是Public和Private。Public用于连接路由器,Private用于连接防火墙。在此步骤中,需要配置核心集群上的路由,使得核心集群能够连接路由器和防火墙。配置时需要仔细对照网络拓扑表,确保路由配置正确。
|
||||
]
|
||||
+ 在 CORE 上创建 VPN 实例 Public,将连接路由器的接口和连接防火墙上行口的接口绑定到 Public。
|
||||
```plaintext
|
||||
[CORE] ip vpn-instance Public // 创建 Public
|
||||
@ -943,16 +941,16 @@
|
||||
```plaintext
|
||||
[CORE] ip route-static vpn-instance Private 0.0.0.0 0.0.0.0 192.168.30.2 // 缺省路由下一跳指向 FW1 的下行接口
|
||||
```
|
||||
]
|
||||
== 阶段性检验
|
||||
#para[
|
||||
上面的配置完成后,进行一个阶段性检验。配置PC1的IP地址为`192.168.110.10/24`,网关为核心集群上VPN实例Private内的Vlanif110接口地址`192.168.110.1`,然后ping AR1、AR2的VRRP虚拟IP地址`192.168.10.100`,是可以通的,如图@check_point1。如果不能,则逐级ping,查找问题所在。
|
||||
#figure(image("阶段性检验1.jpg",format:"jpg",fit:"stretch",width: 100%),caption:"阶段性检验1")<check_point1>
|
||||
]
|
||||
#figure(image("阶段性检验1.jpg",format:"jpg",fit:"stretch",width: 100%),caption:"阶段性检验1")<check_point1>
|
||||
== 配置其他功能
|
||||
=== 配置出口网关的BFD功能
|
||||
#para[
|
||||
配置 AR1 和 AR2 之间的 BFD 功能,用于快速检测链路故障并触发 OSPF 路由收敛。
|
||||
]
|
||||
|
||||
+ 配置全局 BFD 功能。
|
||||
```plaintext
|
||||
@ -1007,10 +1005,10 @@
|
||||
RemoteIpAdd:192.168.10.2 Diagnostic Info:No diagnostic information
|
||||
```
|
||||
注意其中的`BFDStat`字段,显示为`up`,表示 BFD 会话建立成功。
|
||||
]
|
||||
=== 配置防火墙的双机热备
|
||||
#para[
|
||||
在防火墙上配置双机热备功能(主备备份模式),确保高可用性。FW1 作为 Master,FW2 作为 Slave。
|
||||
]
|
||||
|
||||
+ 在 FW1 上配置双机热备,FW1 在备份组中作为 Master。
|
||||
```plaintext
|
||||
@ -1038,11 +1036,10 @@
|
||||
配置好之后,保存配置,将两台设备全部断电关机。按照FW1先、FW2后的顺序开机(防火墙开机较久,约5分钟,可通过风扇声音判断,声音突然由大变小表示开机完成),应该可以观察到防火墙Web主页中的主备状态:
|
||||
#figure(image("主备备份(主).png",format:"png",fit:"stretch",width: 80%),caption:"防火墙双机热备(主,FW1)")<FW1_hr>
|
||||
#figure(image("主备备份(备).png",format:"png",fit:"stretch",width: 80%),caption:"防火墙双机热备(备,FW2)")<FW2_hr>
|
||||
]
|
||||
=== 配置DHCP服务器
|
||||
#para[
|
||||
DHCP服务器一般配置在接入层上,但本实验拓扑图较为简单,所以在核心集群上配置DHCP服务器,为 VLANIF110 和 VLANIF120 接口下的客户端分配 IP 地址和相关网络参数。
|
||||
|
||||
]
|
||||
+ 配置 VLANIF110 接口的 DHCP 地址池
|
||||
- 配置 VLANIF110 接口下的客户端从接口地址池中获取 IP 地址和相关网络参数。
|
||||
```plaintext
|
||||
@ -1063,8 +1060,9 @@
|
||||
[CORE-Vlanif120] dhcp server dns-list 192.168.130.10
|
||||
[CORE-Vlanif120] quit
|
||||
```
|
||||
|
||||
#para[
|
||||
配置完成之后,配置PC1、PC2为自动获取IP地址的方式(还可配置自动获取DNS地址),查看 DHCP 地址池信息:
|
||||
]
|
||||
|
||||
- 使用 `display ip pool` 命令查看 DHCP 地址池的配置和状态。
|
||||
```plaintext
|
||||
@ -1086,12 +1084,14 @@
|
||||
```
|
||||
注意到`Used`字段中变成2。此时在任一台机器上查看IP地址和DNS地址,可以看到被分配的地址:
|
||||
#figure#figure(image("dhcp_dns.jpg",format:"jpg",fit:"stretch",width: 100%),caption:"PC1自动获取IP地址和DNS服务器地址")<dhcp_dns>
|
||||
]
|
||||
=== 配置STP以消除网络中的环路
|
||||
#para[
|
||||
逻辑拓扑图@logic_topo 有更完整的版本:
|
||||
]
|
||||
#figure(image("无环路.png",format:"png",fit:"stretch",width: 60%),caption:"逻辑拓扑图(完整)")<no_halo>
|
||||
#para[
|
||||
分析逻辑拓扑图,发现此网络基本呈树形,有且仅有核心集群与FW1、FW2之间组成的环。因此,只需要在核心集群、防火墙上配置 STP,就可以消除网络中的环路,不需要RSTP、MSTP等较复杂的协议。具体来说,以阻塞 FW2 连接Private的端口Eth4为目的,配置STP协议。
|
||||
]
|
||||
+ 在 CORE 上启用 STP 并配置优先级。
|
||||
```plaintext
|
||||
[CORE] stp enable // 启用 STP 协议
|
||||
@ -1122,10 +1122,10 @@
|
||||
[FW2-Eth-Trunk4] stp disable // 禁用 STP 以阻塞 Eth4 端口
|
||||
[FW2-Eth-Trunk4] quit
|
||||
```
|
||||
]
|
||||
=== 为出口网关配置NAT
|
||||
#para[
|
||||
由于内网用户有上网需求,所以需要进行地址转换。这一步骤在 AR1 和 AR2 上配置 NAT 功能,包括地址池、ACL、静态映射以及 FTP ALG 功能。
|
||||
]
|
||||
+ 配置地址池和 ACL
|
||||
- 在 AR1 上配置地址池:
|
||||
```plaintext
|
||||
@ -1197,15 +1197,15 @@
|
||||
结果如@ar1nat 和@ar2nat 所示(见下页):
|
||||
#figure(image("AR1-NAT配置结果-截图.jpg",format:"jpg",fit:"stretch",width: 80%),caption:"AR1 NAT配置结果")<ar1nat>
|
||||
#figure(image("AR1-NAT配置结果-截图.jpg",format:"jpg",fit:"stretch",width: 80%),caption:"AR1 NAT配置结果")<ar2nat>
|
||||
]
|
||||
=== 防火墙的工作时间段切换
|
||||
#para[
|
||||
公司规定员工办公室工作时间内不能访问外网。因此,需要在防火墙上配置对应的安全策略,即工作时间段内`trust`不能访问`untrust`区域,策略配置如下:
|
||||
#figure(image("do_not_play_policy.png",format:"png",fit:"stretch",width: 90%),caption:"配置非工作时间段内不能访问外网")<do_not_play>
|
||||
]
|
||||
#figure(image("do_not_play_policy.png",format:"png",fit:"stretch",width: 90%),caption:"配置非工作时间段内不能访问外网")<do_not_play>
|
||||
=== 配置端口安全
|
||||
#para[
|
||||
在 LSW4 上为连接到 Boss 设备的接口配置端口安全,以确保只有特定的 MAC 地址可以访问该端口。
|
||||
]
|
||||
+ 进入连接到 Boss 设备的接口配置模式。
|
||||
```plaintext
|
||||
[LSW4] interface GigabitEthernet0/0/2
|
||||
@ -1223,9 +1223,7 @@
|
||||
```plaintext
|
||||
[LSW4-GigabitEthernet0/0/2] port-security max-mac-num 1
|
||||
```
|
||||
]
|
||||
|
||||
]
|
||||
=== 配置Web服务器与DNS服务器
|
||||
#para[
|
||||
在个人笔记本电脑上配置服务器。选择Apache24作为Web服务器,选择BIND 9作为DNS服务器。Apache的配置十分简单,而BIND的具体配置十分复杂,不是重点,在此不再展开。
|
||||
@ -1233,13 +1231,15 @@
|
||||
=== 配置无线路由器
|
||||
#para[
|
||||
初始化AP,然后以无线网络连接到它的配置界面`tplogin.cn`(TP-Link AX3000)。随后,选择桥接模式即可。
|
||||
|
||||
]
|
||||
#para[
|
||||
理论成立,但实际不可行。经测试,此AP在选取桥接模式后,也无法真正地担任交换机的功能(两个连接同网段设备的端口间互ping不通)。推测在工程环境下只能作为路由器使用。而拓扑图中已经没有多余的路由器位置。即使有,也不具有适合此AP的功能性。所以不再继续配置此AP。
|
||||
]
|
||||
|
||||
== 实验后验收
|
||||
#para[
|
||||
检查以下项目来验证整个网络的功能:
|
||||
]
|
||||
+ 内网主机能够通过DHCP获取到IP地址;#box(
|
||||
text(font: ("Times LT Pro","FZXiaoBiaoSong-B05"),fill: luma(240), weight:"bold", "先前已验证"),
|
||||
fill:green,
|
||||
@ -1256,7 +1256,7 @@
|
||||
+ 内网主机可以访问外网;
|
||||
+ 检验防火墙安全策略;
|
||||
+ 防火墙主备备份;#box(
|
||||
text(font: ("Times LT Pro","FZXiaoBiaoSong-B05"),fill: luma(240), weight:"bold", "先前已验证"),
|
||||
text(font: ("Times New Roman","Noto Sans CJK SC"),fill: luma(240), weight:"bold", "先前已验证"),
|
||||
fill:green,
|
||||
inset: (x: 3pt, y: 0pt),
|
||||
outset: (y: 3pt),
|
||||
@ -1264,13 +1264,12 @@
|
||||
+ 检验出口网关双机热备份/BFD(快速切换);
|
||||
+ 检验端口安全;
|
||||
其中,第一项与第八项先前已经验证生效,后续不再专门验收。
|
||||
]
|
||||
=== 内网通信
|
||||
#para[
|
||||
检查内网主机之间是否可以互相ping通。这里以PC1和Boss、PC2和Asso通信为例:
|
||||
]
|
||||
#figure(image("2.PC1-ping老板.jpg",format: "jpg",width: 50%,fit:"stretch"),caption:"PC1 ping 通 Boss")
|
||||
#figure(image("3.PC2-ping-Asso.jpg",format: "jpg",width: 50%,fit:"stretch"),caption:"PC2 ping 通 Asso")
|
||||
]
|
||||
=== 内网访问Web服务器
|
||||
#para[
|
||||
使用主机Asso,经由IP地址192.168.130.10访问Web服务器:
|
||||
|
||||
Reference in New Issue
Block a user