写在前面
本项目是我们大三的一堂实践课作业内容,之前发过一次但是瞬间反响很好所以怕被抄袭删掉了555,现在成绩也出了尘埃落定发出来和大货分享分享qwq,当然还是仅供学习参考,禁止洗稿噢
摘要
本论文研究了一个基于有线和无线网络的校园网项目的需求和实施。该项目涉及到有线网络和无线网络的配置和测试,并对网络中心的DNS服务器和WEB服务器进行相应的配置。
在有线网络部分,针对信息楼和工程研究中心每栋楼的交换机,配置了适当的VLAN,并将其与汇聚交换机连接。同时,根据业务需求,为不同楼层和教室设置了不同的VLAN。
在无线网络部分,部署了无线AP设备,并通过AC控制器进行管理和配置。针对WLAN业务需求,配置了两个SSID,并采用WPA2认证模式和AES加密算法来保障网络安全。
最后,在网络实验中,通过有线和无线网络测试,验证了IP分配、跨VLAN通信和DNS解析的正常运行。实验结果表明,该校园网项目的需求得到了满足,并且具有良好的可扩展性和安全性。
关键词:有线网络,无线网络,VLAN,WPA2,OSPF
目录
摘要
1 配置需求分析
1.1 项目原始需求
1.2 需求具体分析
2 设计规划
2.1 网络拓扑设计
2.2 设备端口规划、参数设计
2.3 IP地址规划
2.4 WLAN规划
2.5 Vlan规划
3 配置实施
3.1 LSW1配置(信息楼三楼交换机)
3.2 LSW2配置(信息楼二楼交换机)
3.7 研究中心汇聚交换机配置
3.8 核心交换机配置
3.12 DNS服务器配置
3.13 WEB服务器配置
4 配置测试
4.1 有线网络测试
4.2 无线网络测试
5 实验总结
1 配置需求分析
图 1-1 项目需求拓扑图
1、有线网络部分:
工程研究中心、信息楼每栋楼包含一个汇聚交换机,用于将楼层用户连接至网络中心核心机房,工程研究中心和信息楼的每一个楼层包含一个接入交换机。因业务需要,两栋楼的网络设计需求如下:
(1)信息楼
一楼中的每一个教室中的计算机处于同一个VLAN;二楼中的教研室和办公室位于不同的VLAN;三楼中的科研1和科研2位于统一VLAN;
(2)工程研究中心楼
一楼中的研究室A和二楼中的研究室A处于同一个VLAN;一楼中的研究室B和二楼中的研究室B处于同一个VLAN;
2、无线网络部分
工程研究中心、信息楼每层部署一个无线AP设备,统一由网络中心的AC控制器管理。
3、WLAN业务需求
无线开放两个SSID,分别是命名为XJU_2.4G和XJU_5.8G,分别在2.4G频段和5.8G频段运行。安全需求如下:
(1)XJU_2.4G和XJU_5.8G位于相同的vlan中
(2)XJU_2.4G和XJU_5.8G都采用WPA2-WPA3认证模式,加密算法为AES算法;
4、网络中心的DNS服务器需要能解析WEB服务器的域名地址(www.xju.edu.cn),信息楼、工程研究中心的有线用户和无线用户要能通过域名访问当web服务器。
分析以上需求后,确定要进行的配置如下
有线网络部分:
针对信息楼和工程研究中心每栋楼的汇聚交换机,配置相应的VLAN,确保正确的用户连接和业务隔离,在每个楼层的接入交换机上,配置对应的VLAN,并将其与汇聚交换机连接。针对信息楼,配置一楼教室计算机所在的VLAN,二楼教研室和办公室所在的VLAN,以及三楼科研1和科研2所在的VLAN。针对工程研究中心楼,配置一楼研究室A和二楼研究室A所在的VLAN,以及一楼研究室B和二楼研究室B所在的VLAN。
无线网络部分:
在每个楼层部署一个无线AP设备,并配置其参数(如SSID名称、频段等)。在网络中心的AC控制器上,将这些AP设备纳入管理,并进行相关配置。
WLAN业务需求:
配置两个SSID(XJU_2.4G和XJU_5.8G)并指定它们位于相同的VLAN,配置WPA2-WPA3认证模式和AES加密算法,确保无线连接的安全性。
DNS服务器与Web服务器配置:
在网络中心的DNS服务器上添加解析规则,将域名地址(www.xju.edu.cn)解析到WEB服务器的IP地址,确保信息楼、工程研究中心的有线用户和无线用户的设备配置中使用网络中心的DNS服务器;配置对应的WEB服务器,确保用户能够在DNS解析域名后访问到相对应的WEB服务器获取到目标WEB服务器的相关服务。
分析完成以上需求后,经过思考实践,我们开始进入网络的实际设计与配置阶段。
2 设计规划
图 2-1 项目拓扑总览
表 2-1 端口参数配置规划
设备 |
端口 |
端口类型 |
Vlan参数 |
LSW1配置(信息楼三楼交换机) |
e0/0/1 |
access |
PVID:10 |
e0/0/2 |
access |
PVID:10 |
g0/0/1 |
trunk |
AllowPass:10 60 70 |
g0/0/2 |
trunk |
PVID:60, AllowPass:60 70 |
LSW2配置(信息楼二楼交换机) |
e0/0/1 |
access |
PVID:20 |
e0/0/2 |
access |
PVID:30 |
g0/0/1 |
trunk |
AllowPass:20 30 60 70 |
g0/0/2 |
trunk |
PVID:60, AllowPass:60 70 |
LSW8配置(信息楼一楼交换机) |
e0/0/1 |
access |
PVID:90 |
e0/0/2 |
access |
PVID:90 |
g0/0/1 |
trunk |
AllowPass:60 70 90 |
g0/0/2 |
trunk |
PVID:60, AllowPass:60 70 |
LSW3配置(工程中心二楼交换机) |
e0/0/1 |
access |
PVID:50 |
e0/0/2 |
access |
PVID:40 |
g0/0/1 |
trunk |
AllowPass:40 50 60 70 |
g0/0/2 |
trunk |
PVID:60, AllowPass:60 70 |
LSW4配置(工程中心一楼交换机) |
e0/0/1 |
access |
PVID:50 |
e0/0/2 |
access |
PVID:40 |
g0/0/1 |
trunk |
AllowPass:40 50 60 70 |
g0/0/2 |
trunk |
PVID:60, AllowPass:60 70 |
信息楼汇聚 |
g0/0/1 |
trunk |
AllowPass:60 70 1000 |
g0/0/2 |
trunk |
PVID:10, AllowPass:60 70 |
g0/0/3 |
trunk |
PVID:20 30 60 70 |
g0/0/4 |
trunk |
AllowPass:60 70 90 |
研究中心汇聚 |
g0/0/1 |
trunk |
AllowPass:60 70 1001 |
g0/0/2 |
trunk |
AllowPass:40 50 60 70 |
g0/0/3 |
trunk |
AllowPass:40 50 60 70 |
核心交换机 |
g0/0/1 |
access |
PVID:1002 |
g0/0/2 |
trunk |
AllowPass:60 70 1000 |
g0/0/3 |
trunk |
AllowPass:60 70 1001 |
g0/0/4 |
access |
PVID:80 |
SW9配置(接入交换机) |
g0/0/1 |
access |
PVID:80 |
e0/0/1 |
access |
PVID:80 |
e0/0/2 |
access |
PVID:80 |
e0/0/3 |
trunk |
AllowPass:80 |
AC配置 |
g0/0/1 |
trunk |
AllowPass:70 80 |
表 2-2 IP地址规划
设备 |
接口 |
IP地址 |
信息楼汇聚 |
vlanif 10 |
192.168.10.1/24 |
vlanif 20 |
192.168.20.1/24 |
vlanif 30 |
192.168.30.1/24 |
vlanif 90 |
192.168.90.1/24 |
vlanif 1000 |
10.0.0.1/30 |
研究中心汇聚 |
vlanif 40 |
192.168.40.1/24 |
vlanif 50 |
192.168.50.1/24 |
vlanif 1001 |
10.0.0.5/30 |
核心交换机 |
vlanif 60 |
192.168.60.1/24 |
vlanif 70 |
192.168.70.1/24 |
vlanif 80 |
192.168.80.1/24 |
vlanif 1000 |
10.0.0.2/30 |
vlanif 1001 |
10.0.0.6/30 |
vlanif 1002 |
10.0.0.9/30 |
R1路由器 |
g0/0/0 |
10.0.0.10/30 |
g0/0/1 |
12.1.2.1/29 |
表 2-3 WLAN设置规划
数据 |
配置 |
AP的地址池 |
核心交换机设置 "AP" 的地址池,为192.168.60.1~192.168.60.254 |
用户的地址池 |
XJU2.4G和XJU5.8G同属于VLAN 70,地址范围为 192.168.70.1 ~ 192.168.70.254。 |
SSID |
XJU_2.4G |
XJU_5.8G |
加密方式 |
WPA2-PSK+AES |
WPA2-PSK+AES |
密码 |
huawei@123 |
huawei@123 |
认证方式 |
无需认证 |
无需认证 |
IP地址分配方式 |
DHCP |
DHCP |
路由模式 |
直通模式 |
直通模式 |
国家代码 |
CN |
CN |
表 2-4 Vlan规划表
教学楼 |
名称 |
VLAN |
IP分配 |
科研 |
Vlan10 |
192.168.10.0/24 |
办公室 |
Vlan20 |
192.168.20.0/24 |
教研室 |
Vlan30 |
192.168.30.0/24 |
教室 |
Vlan90 |
192.168.90.0/24 |
研究中心 |
名称 |
VLAN |
IP分配 |
研究室A |
Vlan40 |
192.168.40.0/24 |
研究室B |
Vlan50 |
192.168.50.0/24 |
WLAN |
名称 |
VLAN |
IP分配 |
管理 |
Vlan60 |
192.168.60.0/24 |
业务 |
Vlan70 |
192.168.70.0/24 |
服务器 |
名称 |
VLAN |
IP分配 |
DNS |
Vlan80 |
192.168.80.2/24 |
WEB |
Vlan80 |
192.168.80.3/24 |
AC |
Vlan80 |
192.168.80.4/24 |
3 配置实施
sys // 进入系统视图
undo in en
sys XXL-3L // 切换设备名称为 XXL-3L(信息院三楼)
vlan batch 10 60 70 // 创建三个VLAN,编号为10、60和70
int e0/0/1 // 进入以太网接口 e0/0/1 配置视图
port link-type access // 配置接口为接入链路类型
port default vlan 10 // 启用接口并指定绑定到VLAN 10
int e0/0/2 // 进入以太网接口 e0/0/2 配置视图
port link-type access // 配置接口为接入链路类型
port default vlan 10 // 启用接口并指定绑定到VLAN 10
int g0/0/1 // 进入千兆以太网接口 g0/0/1 配置视图
port link-type trunk // 配置接口为传输链路类型
port trunk allow-pass vlan 10 60 70 // 允许接口通过VLAN 10、60和70的报文通信
int g0/0/2 // 进入千兆以太网接口 g0/0/2 配置视图
port link-type trunk // 配置接口为传输链路类型
port trunk pvid vlan 60 // 设置接口的 PVID 为 VLAN 60,将接收到的未标记帧默认划归到 VLAN 60
port trunk allow-pass vlan 60 70 // 允许接口通过VLAN 60和70的报文通信
return
save // 保存配置
sys // 进入系统视图
undo in en
sys XXL-2L // 切换设备名称为 XXL-2L (信息院二楼)
vlan batch 20 30 60 70 // 创建四个VLAN,编号为20、30、60和70
int e0/0/1 // 进入以太网接口 e0/0/1 配置视图
port link-type access // 配置接口为接入链路类型
port default vlan 20 // 启用接口并指定绑定到 VLAN 20
int e0/0/2 // 进入以太网接口 e0/0/2 配置视图
port link-type access // 配置接口为接入链路类型
port default vlan 30 // 启用接口并指定绑定到 VLAN 30
int g0/0/1 // 进入千兆以太网接口 g0/0/1 配置视图
port link-type trunk // 配置接口为传输链路类型
port trunk allow-pass vlan 20 30 60 70 // 允许接口通过 VLAN 20、30、60和70 的报文通信
int g0/0/2 // 进入千兆以太网接口 g0/0/2 配置视图
port link-type trunk // 配置接口为传输链路类型
port trunk pvid vlan 60 // 设置接口的 PVID 为 VLAN 60,将接收到的未标记帧默认划归到 VLAN 60
port trunk allow-pass vlan 60 70 // 允许接口通过 VLAN 60和70 的报文通信
return
save // 保存配置
3.6 信息楼汇聚交换机配置
sys // 进入系统视图
undo in en
sys XXL-HJ // 切换设备名称为 XXL-HJ
vlan b 10 20 30 60 70 90 1000 // 创建七个VLAN,编号为10、20、30、60、70、90和1000
int g0/0/1 // 进入千兆以太网接口 g0/0/1 配置视图
port link-t tr // 配置接口为传输链路类型
port tr all vl 60 70 1000 // 允许接口通过 VLAN 60、70和1000 的报文通信
int g0/0/2 // 进入千兆以太网接口 g0/0/2 配置视图
port link-t tr // 配置接口为传输链路类型
port tr al vl 10 60 70 // 允许接口通过 VLAN 10、60和70 的报文通信
int g0/0/3 // 进入千兆以太网接口 g0/0/3 配置视图
port link-t tr // 配置接口为传输链路类型
port tr al vl 20 30 60 70 // 允许接口通过 VLAN 20、30、60和70 的报文通信
int g0/0/4 // 进入千兆以太网接口 g0/0/4 配置视图
port link-t tr // 配置接口为传输链路类型
port tr al vl 60 70 90 // 允许接口通过 VLAN 60、70和90 的报文通信
quit // 返回上一级(配置视图)
dhcp enable // 启用DHCP服务
int vlan 10 // 进入VLAN 10 接口配置视图
ip add 192.168.10.1 24 // 配置接口IP地址为192.168.10.1/24
dhcp sel int // 设置接口作为DHCP服务器的服务接口
dhcp server dns 192.168.80.2 // 配置DHCP服务器的DNS服务器地址
int vlan 20 // 进入VLAN 20 接口配置视图
ip add 192.168.20.1 24 // 配置接口IP地址为192.168.20.1/24
dhcp sel int // 设置接口作为DHCP服务器的服务接口
dhcp server dns 192.168.80.2 // 配置DHCP服务器的DNS服务器地址
int vlan 30 // 进入VLAN 30 接口配置视图
ip add 192.168.30.1 24 // 配置接口IP地址为192.168.30.1/24
dhcp sel int // 设置接口作为DHCP服务器的服务接口
dhcp server dns 192.168.80.2 // 配置DHCP服务器的DNS服务器地址
int vlan 90 // 进入VLAN 90 接口配置视图
ip add 192.168.90.1 24 // 配置接口IP地址为192.168.90.1/24
dhcp sel int // 设置接口作为DHCP服务器的服务接口
dhcp server dns 192.168.80.2 // 配置DHCP服务器的DNS服务器地址
int vlan 1000 // 进入VLAN 1000 接口配置视图
ip add 10.0.0.1 30 // 配置接口IP地址为10.0.0.1/30
quit // 返回上一级(配置视图)
ospf 1 // 配置OSPF进程ID为1
area 1 // 配置区域ID为1
network 192.168.10.0 0.0.0.255 // 将192.168.10.0/24加入OSPF网络
network 192.168.20.0 0.0.0.255 // 将192.168.20.0/24加入OSPF网络
network 192.168.30.0 0.0.0.255 // 将192.168.30.0/24加入OSPF网络
network 192.168.90.0 0.0.0.255 // 将192.168.90.0/24加入OSPF网络
network 10.0.0.0 0.0.0.3 // 将10.0.0.0/30加入OSPF网络
ret
save // 保存配置
sys // 进入系统视图
undo in en
sys YJZX-HJ // 切换设备名称为 YJZX-HJ
vlan b 40 50 60 70 1001 // 创建五个VLAN,编号为40、50、60、70和1001
int g0/0/1 // 进入千兆以太网接口 g0/0/1 配置视图
port link-t tr // 配置接口为传输链路类型
port tr all vl 60 70 1001 // 允许接口通过 VLAN 60、70和1001 的报文通信
int g0/0/2 // 进入千兆以太网接口 g0/0/2 配置视图
port link-t tr // 配置接口为传输链路类型
port tr al vl 40 50 60 70 // 允许接口通过 VLAN 40、50、60和70 的报文通信
int g0/0/3 // 进入千兆以太网接口 g0/0/3 配置视图
port link-t tr // 配置接口为传输链路类型
port tr al vl 40 50 60 70 // 允许接口通过 VLAN 40、50、60和70 的报文通信
quit // 返回上一级(配置视图)
dhcp enable // 启用DHCP服务
int vlan 40 // 进入VLAN 40 接口配置视图
ip add 192.168.40.1 24 // 配置接口IP地址为192.168.40.1/24
dhcp sel int // 设置接口作为DHCP服务器的服务接口
dhcp server dns 192.168.80.2 // 配置DHCP服务器的DNS服务器地址
int vlan 50 // 进入VLAN 50 接口配置视图
ip add 192.168.50.1 24 // 配置接口IP地址为192.168.50.1/24
dhcp sel int // 设置接口作为DHCP服务器的服务接口
dhcp server dns 192.168.80.2 // 配置DHCP服务器的DNS服务器地址
int vlan 1001 // 进入VLAN 1001 接口配置视图
ip add 10.0.0.5 30 // 配置接口IP地址为10.0.0.5/30
quit // 返回上一级(配置视图)
ospf 1 // 配置OSPF进程ID为1
area 2 // 配置区域ID为2
network 192.168.40.0 0.0.0.255 // 将192.168.40.0/24加入OSPF网络
network 192.168.50.0 0.0.0.255 // 将192.168.50.0/24加入OSPF网络
network 10.0.0.4 0.0.0.3 // 将10.0.0.4/30加入OSPF网络
ret
save // 保存配置
sys // 进入系统视图
undo in en
sys HEXIN // 切换设备名称为 HEXIN
vlan b 60 70 80 1000 to 1002 // 创建四个 VLAN,编号为 60、70、80 和 1000-1002
dhcp enable // 启用 DHCP 服务
ip pool AP // 创建 IP 地址池名称为 AP
network 192.168.60.0 mask 24 // 配置 IP 地址池的网络地址和子网掩码
gate 192.168.60.1 // 配置 IP 地址池的默认网关
option 43 sub-option 2 ip-address 192.168.80.4 // 配置 DHCP 服务器选项 43 子选项 2 为 IP 地址 192.168.80.4
int g0/0/1 // 进入千兆以太网接口 g0/0/1 配置视图
port link-t ac // 配置接口为访问链路类型
port de vl 1002 // 禁止接口通过 VLAN 1002 的报文通信
int g0/0/2 // 进入千兆以太网接口 g0/0/2 配置视图
port link-t tr // 配置接口为传输链路类型
port tr al vl 60 70 1000 // 允许接口通过 VLAN 60、70 和 1000 的报文通信
int g0/0/3 // 进入千兆以太网接口 g0/0/3 配置视图
port link-t tr // 配置接口为传输链路类型
port tr al vl 60 70 1001 // 允许接口通过 VLAN 60、70 和 1001 的报文通信
int g0/0/4 // 进入千兆以太网接口 g0/0/4 配置视图
port link-t ac // 配置接口为访问链路类型
port de vl 80 // 禁止接口通过 VLAN 80 的报文通信
int vlan 60 // 进入 VLAN 60 接口配置视图
ip add 192.168.60.1 24 // 配置接口 IP 地址为 192.168.60.1/24
dhcp sel glo // 设置接口作为全局 DHCP 服务接口
int vlan 70 // 进入 VLAN 70 接口配置视图
ip add 192.168.70.1 24 // 配置接口 IP 地址为 192.168.70.1/24
dhcp server dns-list 192.168.80.2 // 配置 DHCP 服务器的 DNS 服务器地址列表
dhcp sel int // 设置接口作为 DHCP 服务器的服务接口
int vlan 80 // 进入 VLAN 80 接口配置视图
ip add 192.168.80.1 24 // 配置接口 IP 地址为 192.168.80.1/24
dhcp sel int // 设置接口作为 DHCP 服务器的服务接口
int vlan 1000 // 进入 VLAN 1000 接口配置视图
ip add 10.0.0.2 30 // 配置接口 IP 地址为 10.0.0.2/30
int vlan 1001 // 进入 VLAN 1001 接口配置视图
ip add 10.0.0.6 30 // 配置接口 IP 地址为 10.0.0.6/30
int vlan 1002 // 进入 VLAN 1002 接口配置视图
ip add 10.0.0.9 30 // 配置接口 IP 地址为 10.0.0.9/30
quit // 返回上一级(配置视图)
ospf 1 // 配置 OSPF 进程 ID 为 1
area 0 // 配置区域 ID 为 0
network 10.0.0.8 0.0.0.3 // 将 10.0.0.8/30 加入 OSPF 网络
network 192.168.60.0 0.0.0.255 // 将 192.168.60.0/24 加入 OSPF 网络
network 192.168.70.0 0.0.0.255 // 将 192.168.70.0/24 加入 OSPF 网络
area 1 // 配置区域 ID 为 1
network 10.0.0.0 0.0.0.3 // 将 10.0.0.0/30 加入 OSPF 网络
area 2 // 配置区域 ID 为 2
network 10.0.0.4 0.0.0.3 // 将 10.0.0.4/30 加入 OSPF 网络
area 3 // 配置区域 ID 为 3
network 192.168.80.0 0.0.0.255 // 将 192.168.80.0/24 加入 OSPF 网络
ret
save // 保存配置
3.10 SW9配置(接入交换机)
sys // 进入系统视图
sys server // 切换设备名称为 server
undo in en // 取消输入密码认证,进入特权视图
vlan 80 // 创建 VLAN 80
int g0/0/1 // 进入千兆以太网接口 g0/0/1 配置视图
port link-t ac // 配置接口为访问链路类型
port de vl 80 // 将接口加入 VLAN 80
int e0/0/1 // 进入千兆以太网接口 e0/0/1 配置视图
port link-t ac // 配置接口为访问链路类型
port de vl 80 // 将接口加入 VLAN 80
int e0/0/2 // 进入千兆以太网接口 e0/0/2 配置视图
port link-t ac // 配置接口为访问链路类型
port de vl 80 // 将接口加入 VLAN 80
int e0/0/3 // 进入千兆以太网接口 e0/0/3 配置视图
port link-t tr // 配置接口为 Trunk(中继)链路类型
port tru all vl 80 // 允许VLAN 80通过该接口
ret
save // 保存配置
Web服务器的地址设置为192.168.80.2,网关设置为192.168.80.1,
图 3-1 DNS服务器配置
在DNS服务器的DNSServer中的配置中增加规则,按照主机域名为作业要求的域名“www.xju.edu.cn”,IP地址为“192.168.80.3”(与接下来的WEB服务器IP保持相同),然后点击增加,点击启动启动服务。
图 3-2 域名解析规则添加
Web服务器的地址设置为192.168.80.3,网关设置为192.168.80.1,域名服务器与上面的DNS服务器IP相同,然后点击保存
图 3-3 Web服务器参数配置
选择一个目录作为web服务器的根目录 ,用户访问xju.edu.cn时即可访问到此文件夹内配置的文件
图 3-4 Web服务器文件选择
4 配置测试
有线网络测试我们使用办公室电脑来进行,首先使用ipconfig命令检查ip的自动分配上是否正常运行,若正常,则分别测试DNS服务是否正常、跨Vlan通信是否正常。测试结果如下图:
图 4-1 有线网络测试
经过测试,办公室的有线网络的部署达成了目标需求,IP分配、跨vlan通信(Vlan20到Vlan10)、dns解析均正常运行。
篇幅所限有线网络测试就举办公室一例,其他Vlan内的有线网络测试方法同上,结果也未出现异常,在此不做赘述。
无线网络的测试首先要测试用户终端是否能正常搜索和连接到我们的目标AP的Wlan信号
图 4-2 STA成功接收WLAN信号
我们将STA放入信号范围内,双击XJU2.4G或XJU5.8G,输入预先设置的密码“huawei@123”,观察是否正常连接,观察到已经连接即连接成功。
图 4-3 STA成功连接WLAN
随后进行无线网络的具体测试。在STA连接上WLAN后,我们先测试IP分配是否正常工作,再测试DNS服务器是否正常解析目标域名“www.xju.edu.cn”,再测试跨vlan通信是否正常
图 4-4 无线网络连接测试
经过测试,无线网络的IP分配正常,成功分配到业务Vlan70的地址,DNS服务可正常解析使用,ping测试Vlan30和Vlan40的地址也正常连接
5 实验总结
略
配置具体命令行为了防止完全洗稿略了一部分qwq若有需要欢迎评论或私信有偿获取,不想有偿的话可以看我的配置表格自己补全项目也是完全可用的噢~