如何在Linux上设置Cisco实验室(CentOS 5.2)
版本1.0
作者:Andrew Colin Kissa <andrew [at] topdog [dot] za [dot] net>
背景
我最近决定学习思科CCSP认证 。 我最开始关心的是,我发现的大部分实验室模拟软件只能在Windows上运行,这对我来说是一个问题,因为我没有Windows计算机。
经过快速搜索后,我发现了超过其他模拟器运行实际Cisco IOS映像的精彩Dynamips项目,以及允许运行Cisco PIX映像的PEMU项目 。 集成各种软件,并提供与我使用dynagen的设备交互的界面。
先决条件
您将需要Linux命令行技能以及Cisco IOS / PIX的工作知识。 请注意,您将必须提供您自己的Cisco IOS / PIX映像,不要发送任何请求图像的消息。
软件安装
这些说明基于Centos 5.2,但可以轻松适应其他Linux系统。 鉴于我们正在使用基于rpm的系统,因为包管理的优点 ,我们将把所有的软件包安装为rpm而不是源代码。 所有上述项目(除了pemu之外)都具有可以获取和编译的源rpm。 我获得并编译了可以从我的站点下载的源rpm,您可以如何获得源rpm并自行编译。 我建立了自己的转速为您可以下载的 PEMU。
上述rpms使用我的密钥进行签名,以便您可以验证它们。
wget http://www.topdog-software.com/oss/roundcube/andrew_topdog-software.com_key.txt
rpm --import andrew_topdog-software.com_key.txt
现在安装。
Dynamips
这是提供Cisco IOS仿真器以及PEMU包装器的主要组件
rpm -Uvh http://www.topdog-software.com/oss/dynamips/dynamips-0.2.8RC2-1.i386.rpm
Dynagen
这是dynamips软件的接口,它提供了简化的ini类型配置,帧中继,内置交换机,网桥以及管理CLI。
rpm -Uvh http://www.topdog-software.com/oss/dynagen/dynagen-0.11.0-1.noarch.rpm
PEMU
这是Cisco PIX / ASA仿真器,允许您运行PIX映像。
rpm -Uvh http://www.topdog-software.com/oss/pemu/pemu-0.0.1-20070420.i386.rpm
示例实验室
对于我们的示例实验室,我将从SNPA模块设置一个LAB,因为这将使我们能够看到IOS和PIX的动作。 但首先让我们开始服务:
service dynamips start
service pemu start
提取图像,因为它们将更快地启动。
unzip snrs.bin
cp C3640-JK.BIN /var/lib/pemu/images/snrs.bin
unzip asa722-k8.bin
cp target/f1/pix /var/lib/pemu/images/pix
对于这个实验,我们将使用这个dynagen ini文件,以便创建一个/tmp/snpa.net
文件, 其中
包含以下内容:
autostart = false model = 3640 ghostios = true sparsemem = true [localhost] workingdir = /var/lib/pemu [[3640]] image = /var/lib/pemu/images/snrs.bin #idlepc = 0x60ba8df4 [[router inside]] # This router will be on the "inside" of the firewall # Connect this router's e0/0 interface to fw1's e1 interface e0/0 = fw1 e1 [[router outside]] # This router will be on the "outside" of the firewall # Connect this router's e0/0 interface to fw1's e0 interface e0/0 = fw1 e0 [[ethsw s1]] 1 = access 1 # Bridge the below interface to allow fw1's e2 interface access to real networks # e.g. for using ASDM from a PC to manage the firewall, change the interface to # reflect your system 2 = access 1 NIO_gen_eth:eth1 [pemu localhost] [[525]] #for pix 7 & 8 serial = 0x1234568 key = 0xffffffff,0xffffffff,0xffffffff,0xffffffff image = /var/lib/pemu/images/pix [[fw fw1]] # Connect the firewall's e2 interface to the virtual switch, which will bridge it # to the real network e2 = s1 1
现在我们有了一切,让我们连接到dynagen控制台,并与我们的实验室环境进行交互。
dynagen /tmp/snpa.net
您将看到以下提示:
Reading configuration file... Network successfully loaded Dynagen management console for Dynamips and Pemuwrapper 0.11.0 Copyright (c) 2005-2007 Greg Anuzelli, contributions Pavel Skovajsa =>
我们来看看dynagen控制台上可用的选项,键入familier? 命令
=> ? Documented commands (type help <topic>): ======================================== capture confreg cpuinfo export hist list py save show suspend clear console end filter idlepc no reload send start telnet conf copy exit help import push resume shell stop ver =>
我们使用list命令列出我们实验室环境中可用的设备:
=> list Name Type State Server Console inside 3640 stopped localhost:7200 2000 outside 3640 stopped localhost:7200 2001 fw1 525 stopped localhost:10525 4000 s1 ETHSW always on localhost:7200 n/a =>
让我们开始设备:
=> start outside 100-VM 'outside' started => start inside 100-VM 'inside' started => start fw1 100-PEMU 'fw1' started =>
为了提高设备性能,我们设置各种设备的idlepc值:
=> idlepc get inside Please wait while gathering statistics... 1: 0x605a39c8 [61] 2: 0x605a3a40 [25] 3: 0x604fd014 [78] 4: 0x604fd044 [64] 5: 0x6048daa0 [80] 6: 0x604fe168 [75] * 7: 0x604fe584 [59] 8: 0x604fe734 [46] 9: 0x604fe75c [49] Potentially better idlepc values marked with "*" Enter the number of the idlepc value to apply [1-9] or ENTER for no change: 7
对于要为其设置idlepc值的所有设备重复上述操作。
其他样品实验室
您可以在/usr/share/doc/dynagen-0.11.0/sample_labs
目录中找到其他示例实验室。
控制台访问
好的,我们正在运行,但我敢打赌你问好,但是如何控制和开始使用设备? 您启动的每个设备将为您提供端口上的控制台访问,以查看哪个端口在dynagen控制台中使用list命令。
所以我们看到里面的路由器可以在2000端口安装,所以让我们继续检查一下。
telnet localhost 2000
第一次你应该看到以下屏幕:
Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. Connected to Dynamips VM "inside" (ID 0, type c3600) - Console port % Please answer 'yes' or 'no'. Would you like to enter the initial configuration dialog? [yes/no]:
接下来我们连接到PIX控制台:
telnet localhost 4000
按回车键,您应该看到以下屏幕:
Trying 127.0.0.1... Connected to localhost.localdomain (127.0.0.1). Escape character is '^]'. pixfirewall>
GUI版本
对于那些喜欢使用GUI设置实验室的人,可以看一下GNS项目 ,我没有像我喜欢使用命令行一样使用它。
致谢
感谢这些有用的项目的开发人员; 如果可以,请考虑捐赠这些项目。