NSP
eNSP的最终正式版为 1.3.00.100
而 1.3.00.200T
为最后的一个测试版本,测试版本有些功能是不稳定的,且没有经过测试,那么我们在选择eNSP的版本时,就选择 1.3.00.100
就行了。
eNSP下载链接:
https://www.alipan.com/s/YvmPo1s4YpT 提取码:cj95
首先安装步骤一中的所有依赖文件VirtualBox
、WinPcap
和Wireshark
。具体安装步骤这里不进行演示。
然后在安装步骤2中的 eNSP 1.3.00.100 Setup.exe
。
如果你已经安装了其他版本的 eNSP 那么请使用一些工具例如:Geek等来删除eNSP软件
PS: 我不知道是不是必须使用卸载工具来卸载软件,貌似直接使用Windows的软件管理卸载也是可以的。
需要注意的是,在删除旧版本的eNSP时,你还需要将 WinPcap
给卸载掉
镜像
USG6000V
的镜像在 步骤3中,一般情况下我们选择USG6000V-enspv1.3.zip
,将该压缩包解压猴你可以得到一个 vfw_usg.vdi
文件,在我们安装完成 eNSP 后,打开eNSP,并且新建一个拓扑图,选中USG6000V
防火墙,拖入拓扑中,并点击运行,它会提示导入设备包,选中解压后的文件,并点击打开,然后选择导入。
等待一段时间以后,该防火墙虚拟系统应该已经正常导入。我们可以再次点击启动。
Web
在使用防火墙时,我们大多是情况下都会使用Web管理页面,这里将演示如何使用。
注意事项:
- 如果你是卸载了旧版本然后安装的 eNSP,那么你应该卸载了
WinPcap
并重启,之后再使用步骤1中的WinPcap 4.3.1
安装一次。 - 当你发现无论如何等待,都无法启动
USG6000V
的时候。1、重启 eNSP 再运行;2、打开你的VirtaulBox
虚拟软件,并完全删除名为vfw_usg
的虚拟机,如果提示无法删除,请退出eNSP后再操作;
查看本地网卡配置
本地网卡的选择有两种:
VirtualBox Host-Only Network
:USG6000V
的资源占用可能会比较大,其它无坏处VMware Network Adapter VMnet8
:USG6000V
的资源占用会较小一点,前提是你有 VMware 虚拟化软件
无论哪一本地网卡,我们都需要查看一下该网卡的IP地址。使用 WIN+R
输入 cmd
回车,然后在命令行终端输入 ipconfig
,根据对应的接口名,查看该接口的IP地址,后面会用到。
创建Cloud
模拟器是一个与主机隔离的环境,来模拟网络的,模拟器的环境与主机不同。eNSP 提供了一个可以使用户接入模拟器网络环境的功能,那就是 Cloud,它可以主机网卡作为一个外部接口,将 UDP 端口作为模拟器内部接口的方式,来实现虚拟环境与物理机互通。
这里我们先创建一个内部接口UDP
创建外部的接口
如果你只有 VirtualBox
的接口说明你没有重新安装WInPacp
。
我这里选择使用VMware
的本地主机接口
添加内外端口映射,这里需要注意的是入端口编号表示内部接口,出端口编号表示外部接口,这里不要弄错了,不然通不了。还有一个就是双向通道,就是接口的工作模式,以全双工的模拟工作。
配置
我们先将Cloud和防火墙进行连线,需要注意的是,连线不要使用 Auto
,手动选择 Copper
(这里有一个心跳的问题) ,并将 Cloud 唯一的一个接口,连接至防火墙的 GE 0/0/0
接口,防火墙的接口你可以任意选择,注意后面配置的时候进入那个接口的配置视图就行了。
然后我们进入防火墙的CLI界面:
Username:admin
Password:Admin@123
防火墙会强制要求你修改默认密码,这里会有一个新密码强度检测,我建议你设置为 admin2023..
即可。
根据上文中选择的出接口来进行设置
下面我们在该接口上开启 Web 管理权限
service-manage all permit
连接
在连接之前,我们应该使用 ping
命令来检测,本地主机是否与模拟器连通。
能够连通后,检查防火墙是否开启了 Web 服务器功能
步骤一、查看Web服务器监听端口
display web-manager configuration
步骤二、查看是否在监听
display tcp status
万事俱备!!!
现在我们通过https://192.168.79.100:8443
访问,Web管理页面
ouou~~~
如果你和我一样,无法加载正常的页面,那么恭喜你,还得继续看教程了哈哈哈
我们来分析一下原因,使用 F12
打开开发者工具,并且刷新一下页面,可以看到如下的错误。该错误表示,会话建立过多,还有其他错误类似空响应。这里我们可以猜测,建立了过多会话的原因,我们回到防火墙中查看。
使用 display tcp status
命令可以看到,有许多tcp会话处于 Time_Wait
状态
情况一、服务端认为数据传输结束了发送了结束ACK,但是我们客户机并没有收到,我想主要原因应该是我们的出接口使用 UDP 的原因,产生了丢包的情况,具体的情况解释起来有点复杂,但是这个问题很好解决。
情况二、服务器资源占用过高,无法正常处理http报文,该问题请使用 VMware 的网卡。
对于第一种情况有两种方法:
- 最笨的方法,当你看到这里的时候它已经完成了,那就是等待
Time_Wait
超时,超时后接收端没有返回FIN
它会自动关闭该TCP - 我们使用
undo web-manager enable
关闭服务器,再使用web-manager enable
开启服务器,这样也可以,关闭了端口的产生程序,端口也会被系统回收。
当我们再次查看 TCP 状态,处于握手成功的状态时,我们刷新页面就可以正常加载了。