第3章模拟器安装和使用 本章要点 ◆了解GNS3软件安装必备的硬件环境和软件环境。 ◆掌握模拟器GNS3上基本网络拓扑构建过程。 3.1GNS3模拟器简介 GNS3模拟器是用来验证网络设计方案的。这款开源软件是一个图形化的网络模拟器,用于仿真模拟多种网络设备,如交换机、路由器、防火墙和入侵检测等。支持Windows、Linux和Mac的跨平台使用,开源性和跨平台使其被广泛使用,相较于软件Cisco Packet Tracer,可以应对更加复杂的网络设计,并且支持网络安全设备的仿真实验。 GNS3支持Cisco和非Cisco创建网络设计方案,可在项目中添加网络对象,模拟硬件设备的组合方案,保存项目后可以随时访问设计方案,具备跨多台计算机资源的分享能力,为网络方案设计提供了较好的灵活性。GNS3为了适应不同用户的需求,集成了多种功能组件,如Dynamips、Qemu和Wireshark等程序,如表3.1所示。Dynamips应用程序由法国人Christophe Fillot于2005年创建,GNS3在Dynamips基础上,提供了友好的图形化操作界面,这是一个基于虚拟化技术的模拟器,用于模拟路由器和交换机等硬件设备。Dynamips模拟器程序可以仿真Cisco3600、3700和7200等系列路由器硬件。通过Dynamips模拟器程序,使用GNS3模拟了网络插槽和广域网接口卡,实现了硬件设备的快速配置,如添加多个以太网接口卡、交换机模块、串口到设备中,为基本设备添加、删除内存等。Qemu组件使GNS3软件可以支持网络安全设备模拟,如模拟防火墙、入侵检测系统和Juniper等。Wireshark组件使GNS3软件可以支持对模拟器上网络设备之间的IP数据包进行捕获,从而可以对底层数据进行分析。因此,需要单独安装WinPCAP、Npcap和Wireshark等软件,否则该功能无法启用。 表3.1GNS3组件说明 组件 描述 WinPCAP 将GNS3连接到外部,允许网络通信 Npcap 可替代WinPCAP,解决WinPCAP的Win10问题,相对WinPCAP的测试少,可共存 续表 组件 描述 Wireshark 捕获、查看网络节点之间发送的网络流量 Dynamips 在本地GNS3运行Cisco路由器。如果只使用GNS3 VM,则不需要勾选 QEMU 3.1.0 /0.11.0 一个计算机模拟器,如Linux系统,Qemu 0.11.0 安装时为了支持旧版ASA设备,推荐使用GNS3 VM VPCS 轻量级PC模拟器,支持ping和traceroute等命令 Cpulimit 避免QEMU百分百使用CPU,如旧版本ASA设备 GNS3 必选项,GNS3软件核心 TightVNC Viewer 图形化VNC客户端 SolarPutty 新的默认控制台应用程序 Virtviewer 推荐项,预装了qemuspice的Qemu VMs的备用显示 Intel Hardware Acceleration Manager (HAXM) 仅适用于未使用HyperV的Intel CPUs (启用VTX)的系统,用于Android 模拟器硬件加速和QEMU 3.2GNS3安装调试 3.2.1GNS3下载和配置要求 从GNS3官网或开源网站GitHub下载GNS3的所需版本,如图3.1所示,选择操作系统版本后执行下一步操作。本书实验采用GNS3v0.8.6版本的GNS3软件包,资源占用相对较少。新版本GNS3安装相对复杂,硬件要求高,资源消耗大,对软件包的依赖多,尤其是Linux系统。官网给出了最小硬件要求、推荐和最优硬件配置,操作系统要求Windows 7或者更高的版本,GNS3软件安装的硬件基本需求是内存至少4GB,推荐内存使用16GB至32GB,CPU使用Core i7或i9,学生实验推荐使用实验版本。下面以MacOS版本GNS32.2.25为例,介绍安装过程、所需的组件和系统配置等操作。 图3.1选择操作系统版本 3.2.2安装GNS3及其组件 1. 安装GNS3 GNS3是款图形化界面工具,双击GNS3安装文件进行安装,Mac版本的安装步骤简洁,如图3.2和图3.3所示拖动APP图标后,等待拷贝完成,如发现权限受限,则通过系统设置的安全和隐私功能,允许下载文件进行安装,并在安装完成后允许启动GNS3软件。 图3.2打开GNS3软件安装界面 图3.3Mac版本的安装界面 接着,进入安装软件初始页的界面、查看安装许可、选择安装路径,可按照如图3.4、图3.5和图3.6所示的步骤进行操作。 图3.4安装向导初始页 图3.5查看安装许可 图3.6选择安装路径 2. 安装GNS3组件 GNS3安装向导打开后,单击“Next”按钮,阅读许可协议信息并单击同意,继续单击“Next”按钮。提示安装WinPCAP、Wireshark等组件程序时,推荐不勾选,因为联网下载组件速度较慢,建议单独下载后安装速度更快。这样会提示WinPACP已经安装过了,取消安装组件,只安装GNS3。 WinPCAP是Win32平台抓包和网络分析的一个架构,软件与Npcap功能类似。Dynamips用来创建使用思科路由器和交换机等组件,选择组件后单击“Next”按钮,如图3.7所示。 图3.7选择组件界面 3. 添加IOS映像 安装完成后启动GNS3,屏幕上会出现设置向导提示,提示用户需要三步设置便能够正常使用。这三步包括: (1)设置IOS映像文件路径; (2)检查Dynamips工作是否正常; (3)设定IOS对应的IdlePC值(后续实训内容再详细介绍)。 4. 选择GNS3 VM 默认安装其他GNS3插件,重复的可以勾掉。如图3.8所示,从VMware Workstation、VMware ESXi、VirtualBox和HyperV中任选一项。 图3.8GNS3 VM选择界面 选择不同的安装软件版本,GNS3的安装步骤基本相同,最后单击“Finish”按钮,就可以进入GNS3操作的主界面了,如图3.9所示,所有勾选组件安装完成。 图3.9GNS3安装完毕 3.2.3配置GNS3环境 GNS3通用配置界面如图3.10所示,第一个为工程目录,此目录用来存放工程的拓扑文件和配置信息; 第二个为OS镜像目录,此目录用来存放各种系统镜像文件。这两个目录都可以自己设定,也可以选用系统默认的,这里使用系统默认的目录。 图3.10GNS3通用配置界面 配置IOS文件路径,GNS3需要使用Cisco IOS镜像文件来模拟路由器和交换机。支持的IOS平台包括Cisco7200、3600系列和3700系列IOS。单击GNS3主界面的编辑菜单,选择菜单IOS image and hypervisors。系统会弹出对话框,如图3.11所示,单击IOS image选项框的浏览选项,默认打开的目录是上面设置的image路径,也可以跳转到用户保存镜像的路径,选定IOS文件打开。 图3.11添加IOS镜像文件界面 该IOS文件就会出现在上面的镜像文件信息框中,也可以修改默认的镜像文件目录,要求目录是全英文路径。查看已经添加的模板信息,如图3.12和图3.13所示。 图3.12C3600模板信息界面 图3.13PIX防火墙模板信息界面 3.2.4配置IOS文件路径 配置GNS3基本参数,测试成功后,就能进行模拟IOS的实验。初始配置完成了,现在可以添加IOS,以及进行IDLE计算,如图3.14和图3.15所示。GNS3会自动识别此IOS文件的平台和型号,当模拟器开始运行时,通常要消耗主机较高的CPU使用率,有时甚至达到100%,所以可通过参数优化来降低GNS3的硬件资源消耗,从而提高GNS3的运行效率,这里主要是设置IdlePC值。GNS3的一个优点是,系统可以判断出较优的IDLE值。IdlePC值是GNS3用于计算系统消耗的参数,这个参数会直接影响GNS3对主机CPU资源的占用率,较优的IdlePC值可以将CPU占用率降低到10%以下,IDLE值配置完毕以后,就可以直接进行实验了,如图3.16所示。 IDLE值只需要计算一次,之后进行实验不用再进行IDLE值计算。单击“IdlePC”按钮后,GNS3会自动开始计算IDLE值,此过程可能会导致系统卡顿,直到出现下一个图,单击“Apply”或OK按钮来保存当前设置,关闭窗口后返回到GNS3的主界面。关于IDLE值的获取,很多路由器镜像文件同时提供了使用的最佳IDLE值以及相关配置参数,实验时可以直接使用。也可能出现部分主机无法计算出最佳IDLE值的情况,此时,通过配置路由器IP地址等命令后,再计算IDLE值来解决此问题。 为了便于使用,可以进入Edit菜单,选择Preferences菜单,将GNS3的Language配置为中文,然后需要重启GNS3生效,之后使用软件时就是中文界面。 图3.14计算IdlePC值 图3.15获得IdlePC值 图3.16GNS3网络拓扑图界面 3.3GNS3网络拓扑创建 在GNS3界面窗口有3个区域4个面板,包括左侧面板、右侧面板和中间区域,如图3.17所示。 (1) 左侧面板: 列出了可用的节点类型(node)、各种设备如路由器、防火墙、以太网交换机等的图标,搭建拓扑时,从这里拖曳出设备。 (2) 右侧面板: 提供抓包(Captures)信息和拓扑(Topology)汇总概要信息。 (3) 中间区域: 包括两个面板,上面的面板是主要工作区,用于图形化显示拓扑结构; 下面的面板是Console面板,用于连接到Dynamips程序的调试界面。 图3.17GNS3软件主界面 配置一个路由器: 从左侧面板拖动对应的路由器图标到中间的工作区,单击右键可以查看路由器的配置,还可以执行启动、停止、暂停和重启设备等操作,如图3.18所示。 图3.18配置路由器 连接两台路由器: 按照前面描述的操作方法,再从左侧面板拖出一台路由器,配置同样的接口模块。单击“连接线”来连接两台路由设备,再单击路由器R1,会弹出已经配置的接口,选择路由器R1的接口f0/0,再连接到路由器R2的接口f0/0,如图3.19所示。 图3.19连接两台路由器 连接两台路由器之后,可以通过选择查看菜单的显示/隐藏接口标签(Show/Hide interface labels)菜单,这样就打开了显示接口名称的功能。尤其是当设备接口使用较多、配置较为复杂时,标签信息有助于规划、辨识模拟环境的接口连接关系,如图3.20所示。 图3.20显示/隐藏接口标签 启动设备: 启动GNS3中的路由器,并通过SecureCRT登录路由器。默认GNS3中连接线两端都是红色表示。将鼠标放在路由器上,并右键单击开启路由器,启动后所有的连接线两端都变为绿色,如图3.21所示。 图3.21启动设备 通过SecureCRT管理设备:SecureCRT软件连接设备,选择Telnet协议,本地主机的名称是localhost或者填写127.0.0.1,端口号可查看右上角拓扑概要窗口,该窗口显示节点名称和Console信息。GNS3的路由器R1的设备端口号为5014,路由器R2的设备端口号为5000,如图3.22所示。 图3.22SecureCRT命令管理配置界面 命令管理设备:GNS3模拟器设备可以通过多种方式管理,使用SecureCRT进行命令调试是推荐方式,需要勾选、安装SecureCRT软件,并且配置正确的设备管理Telnet端口号,如图3.23所示。另一种方式如图3.24所示,可直接选中设备,右击,在弹出的快捷菜单中选择Console选项,直接进入控制台命令的管理界面,这种方式不需要配置主机名和通信端口的信息。 图3.23SecureCRT 控制台程序 图3.24默认控制台程序 3.4路由器桥接真机实训 3.4.1实验目的与任务 1. 实验目的 本实验为基础实验,主要目的是熟悉GNS3模拟器,配置路由器桥接真机或虚拟机,掌握路由器的配置命令和方法。本实验是后续综合实验防火墙日志配置和防火墙AAA配置的实验基础。本实验所需设备为路由器2台,网络连接线若干,PC机或虚拟机1台。 2. 实验任务 本实验主要任务如下: (1) 观察路由器接口硬件结构,掌握硬连线方法; (2) 掌握模拟器下路由器的配置,理解和配置路由器的基本命令,实现主机、虚拟机与路由器桥接; (3) 掌握查看路由器、真机网络配置信息的命令。 3.4.2实验拓扑图和设备接口 根据实验任务规划设计实验的网络拓扑图,防火墙桥接真机实验拓扑图如图3.25所示。通过网络设备、路由器执行ping命令或telnet命令,发起位于防火墙不同安全区域网络设备的通信,验证防火墙功能是否配置正确。 图3.25防火墙桥接真机实验拓扑图 根据实验任务,使用环回网卡来桥接真机,需要配置路由器和真机,配置网络参数后,使用命令ping测试,路由器R2和真机可以互通。根据实验任务和实验拓扑图,为每个网络设备及其接口规划相关配置,路由器R1的配置信息如表3.2所示。 表3.2路由器R1的配置信息 序号 interface IP Address 1 f0/0 33.33.33.1 2 f1/0 10.1.1.1 左端路由器R2的配置信息如表3.3所示。 表3.3路由器R2的配置信息 序号 interface IP Address 1 f0/0 10.1.1.2 真机的配置信息如表3.4所示。 表3.4真机的配置信息 序号 interface IP Address 1 环回网卡 33.33.33.2 3.4.3实验步骤和命令 根据如图3.25所示实验拓扑设计,实现时需重点注意: 桥接真机,先要系统安装环回网卡。配置路由器和真机、路由器和虚拟机的网络地址,设置IP地址属于同一子网,测试路由器R2和本计算机可以ping通,表示路由器和真机可以进行网络通信,桥接配置成功。 从控制面板进入高级网络配置界面,选择更改适配器选项,在网络连接的列表信息中,显示环回网卡已经安装成功,如图3.26所示。还要配置其IPv4地址等网络连接信息,如图3.27所示。 图3.26环回网卡安装成功 图3.27环回网卡的信息 本机还要创建静态路由,如图3.28所示,使用命令route add 10.1.1.0 mask 255.255.255.0 33.33.33.1设置主机静态路由,该命令指定主机到网段10.1.1.0的下一跳IP地址是33.33.33.1。反之,删除该路由可使用命令route delete 10.1.1.0 mask 255.255.255.0 33.33.33.1,还可以使用命令route print查验路由配置信息,具体操作如图3.29所示。 图3.28添加真机静态路由 图3.29route print显示真机路由 在GNS3模拟器中,按照实验网络拓扑图,以及本实训任务的接口规划,拖动对应网络设备图标并连接,再分别标注设备接口和IP地址等信息。完成上述工作后,启动网络设备执行配置命令,通过show命令查验设备配置是否正确,最后执行ping命令或telnet命令,验证设备之间的网络通信是否满足实验要求。 1. 路由器R1的配置 路由器R1的配置信息包括接口、路由配置,用于验证网络通信是否符合预期,命令如下所示: R1#EN R1#conf t Enter configuration commands, one per line.End with CNTL/Z. R1(config)#int f0/0 R1(config-if)#ip add 33.33.33.1 255.255.255.0 R1(config-if)#no sh R1(config-if)#end R1#show ip int br InterfaceIP-AddressOK? Method StatusProtocol FastEthernet0/033.33.33.1YES manual upup FastEthernet1/0unassignedYES unsetadministratively down down R1#conf t Enter configuration commands, one per line.End with CNTL/Z. R1(config)#int f1/0 R1(config-if)#ip add 10.1.1.1 255.255.255.0 R1(config-if)#no sh R1(config-if)#end R1#show ip int br InterfaceIP-AddressOK? Method StatusProtocol FastEthernet0/033.33.33.1YES manual upup FastEthernet1/010.1.1.1YES manual upup R1#wr Warning: Attempting to overwrite an NVRAM configuration previously written by a different version of the system image. Overwrite the previous NVRAM configuration?[confirm] Building configuration... [OK] 2. 路由器R2的配置 路由器R2的配置信息包括接口、路由配置,用于验证网络通信是否符合预期,命令如下所示: R2#EN R2#conf t Enter configuration commands, one per line.End with CNTL/Z. R2(config)#int f0/0 R2(config-if)#ip add 10.1.1.2 255.255.255.0 R2(config-if)#no sh R2(config-if)#end R2#show ip int br InterfaceIP-AddressOK? Method StatusProtocol FastEthernet0/010.1.1.2YES manual upup R2(config)#ip route 33.33.33.0 255.255.255.0 10.1.1.1 R2(config)#end R2# wr Warning: Attempting to overwrite an NVRAM configuration previously written by a different version of the system image. Overwrite the previous NVRAM configuration?[confirm] 00:03:20: %SYS-5-CONFIG_I: Configured from console by console [confirm] Building configuration... [OK] R2#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2 ia - IS-IS inter area, * - candidate default, U - per-user static route o - ODR, P - periodic downloaded static route Gateway of last resort is not set 33.0.0.0/24 is subnetted, 1 subnets S 33.33.33.0 [1/0] via 10.1.1.1 10.0.0.0/24 is subnetted, 1 subnets C 10.1.1.0 is directly connected, FastEthernet0/0 ★本章小结★ 本章介绍了防火墙技术的实训环境安装和配置要点。实验使用了GNS3软件,并通过防火墙实训任务,进一步巩固和验证了防火墙技术和功能。并且比较了三个不同平台的安装过程,其中,安装配置到Linux最复杂,Windows最易掌握,Mac居中。 鉴于后续各个章节涉及的实验内容多,可能会出现看似命令配置正确却报错连连的情况,甚至安装相同实训配置步骤,却实验测试失败的情况。防火墙配置过程的常见错误总结为: 配置命令前后顺序错误、遗漏命令、镜像版本错误等。 为了解决这些实训时遇到的问题,首先要理解每个实训任务,及其所对应的防火墙技术和原理,以及启用相应功能的步骤,最后才是决定实现上述防火墙的功能该使用哪些命令。每个实训任务都可以帮助读者更好地理解防火墙技术和验证防火墙镜像具备的功能。从简单的网络拓扑部署防火墙,引发读者思考复杂网络环境下,如何部署、发挥防火墙的功能。还可以通过New project重新配置解决。 因此,后续章节内容的学习,不仅仅是掌握命令的语法和使用场景,而是以防火墙常见的技术和功能为依托,实践实训任务。配置命令较少的基础实训任务,利于读者理解防火墙功能配置前后的流量穿越差异性。配置步骤和命令较多的复杂实训任务,利于帮助读者通过防火墙配置加深技术的理解。实训内容使用的命令越多,出错率越高,也正是通过配置、失败、排错的迭代过程,训练读者调试、排错和解决问题的能力,引发读者更多关于安全方案设计的思考和理解。 复习题 1. 对于GNS3的运行需要最小的内存配置是什么? 2. 如何修改镜像使用的内存大小? 3. 如何保存和加载工程的配置文件?