Dynamips是现如今最好的思科模拟器,它能够加载的思科IOS,模拟出真实的路由器,这使得我们在没有思科设备的情况下也能很好的学习,Dynamips的强大之处不仅于此,它还能与我们的VMware虚拟机,甚至和真机实行互连,在下面这个拓扑环境中,路由器BJ和SH分别担任北京公司和上海分公司的边界路由器,Internet属于公网上的一台路由器,我们将利用Dynamips来模拟这3台路由器,北京公司的内部网段规划为192.168.3.0,bjdc是北京公司内部服务器,它由VMware虚拟机来模拟,网卡位于VMnet4,上海公司的内部网段规划为192.168.2.0,shdc是上海分公司内部服务器,网卡位于VMnet6,VMnet可以把它理解为一个虚拟网络,Dynamips在和VMware虚拟机桥接时就要用到VMnet,我们这个实验的最终目的是在路由器BJ和SH上建立站点到站点×××,从而使北京公司内部的bjdc与上海分公司内部的shdc互通,形成一个大型的网络
1.创建路由器
首先我们要创建这3台路由器,并使它们互联,VMware虚拟机也要和各自的路由器互连,这里可以用到一个可视化的辅助工具DynamipsSee(注意:DynamipsSee需要.net framework 2.0支持)
DynamipsSee V2.0下载地:http://down.51cto.com/data/558892
打开软件后,我们点【添加3600】,来添加一台3600系列的路由器
如图添加路由器【Internet】,类型选择3620,IOS也要加载相应3620的,Idle-PC值比较重要,它选得好不好会直接影响到计算机性能,在通过Dynamips启动路由器后,可以重新选择这个值,这里我已经选好了,Console为本路由器的管理端口,模块处的NM-4E,表示本路由器有4个Ethernet口,设置完毕后,点【应用】就添加了一台路由器
IOS(c3620-ik9o3s7-mz.123-23.bin)下载地址:
http://down.51cto.com/data/558896如图添加路由器【BJ】
如图添加路由器【SH】
2.连接路由器和虚拟机
3台路由器都添加完成后,就要将它们连接起来,这里按照拓扑图来连接,路由器【Internet】的【E0/0】接口与路由器【BJ】的【E0/0】接口相连;路由器【Internet】的【E0/1】接口与路由器【SH】的【E0/0】接口相连,连接好后点【生成脚本】
这里可以看到3台路由器的相关配置,但别急着保存,此时路由器【BJ】的【E0/1】接口和路由器【SH】的【E0/1】接口还需要与各自站点内VMware虚拟机的VMnet网络进行桥接
在VMware控制台中,打开虚拟机【bjdc】的设置页,可以看到网络适配器位于VMnet4这个网络
同样再打开【shdc】的设置页,可以看到网络适配器位于VMnet6这个网络
我们想要得了VMnet4和VMnet6的网络相关参数,就需要使他们出现在计算机的网络连接中
在VMware管理台中菜单中打开【edit】-【Virtual Network Editor】,点击【Add Network】添加VMnet4这个网络
勾选【Connect a host Virtual adapter to this on network】
按同样的方法添加和设置VMnet6
点【ok】确认后,打开计算机网络连接,可以看到这两个网络出现了
安装Dynamips,Dynamips需要WinPcap支持
dynagen 11.0下载地址:
http://down.51cto.com/data/558891
WinPcap 4.11下载地址
http://down.51cto.com/data/561470
安装完成后我将Dynamips全部文件移动到D:\Dynamips文件夹中,运行【Network device list.cmd】,这里就捕获到VMnet4和VMnet6网络参数了,我们主要会用到NIO_gen_eth这段
根据拓扑图中的连接
【路由器BJ】的【E0/1】接口连接VMnet4,回到脚本中,如图在路由器【BJ】的最后写入E0/1 = NIO_gen_eth:\Device\NPF_{30D4A2AB-BB98-49DE-8E24-E4B1A0B742DE}
【路由器SH】的【E0/1】接口连接VMnet6,在路由器【SH】的最后写入E0/1 = NIO_gen_eth:\Device\NPF_{C0C946A6-9E6E-47F8-869B-3E548484C694}
修改完成后,所有硬件连线这部分也就完成了,将此脚本保存到D:\Dynamips\net文件夹中,名称为***.net,为了方便的使Dynamips加载这个***.net脚本,我们来写一个简单的批处理
“..\dynagen.exe” ***.net表示用上级目录中的dynagen程序来加载***.net脚本
3.启动路由器
首先运行D:\Dynamips文件下的Dynamips.exe
然后运行批处理***.bat,在出现提示符后输入start /all,以启动3台路由器
待3台路由器都启动后,就需要对路由器进行管理配置了,这里用到的工具是SecureCRT
SecureCRT 5.1.3 下载地址:
http://down.51cto.com/data/558893
打开SecureCRT,弹出快速连接卡片;这里通过【Telnet】协议连接本机【127.0.0.1】的【3000】端口,也就是连接到路由器【Internet】,如过不记得路由器的管理端口可以打开***.net文件查看console的值
连接后,为了更好的辨别路由器,我们为标签重新命名
再次打开快速连接卡片,通过【3001】端口连接到路由器【BJ】
通过【3002】端口连接到路由器【SH】
修改标签后的效果一目了然,要配置哪台单击标签即可
4.配置路由器
首先来配置路由器【Internet】 ,在SecureCRT切换到标签【Internet】,比较简单,按照拓扑图为两个接口配好IP地址
Router>enable Router#configure terminal | 进入全局模式 |
Router(config)#hostname Internet | 修改路由器名称 |
Internet(config)#interface e0/0 Internet(config-if)#ip address 222.16.2.254 255.255.255.0 Internet(config-if)#no shutdown Internet(config-if)#exit | 为接口e0/0配置IP地址 |
Internet(config)#interface e0/1 Internet(config-if)#ip address 202.0.1.254 255.255.255.0 Internet(config-if)#no shutdown Internet(config-if)#exit | 为接口e0/1配置IP地址 |
接下来配置路由器【BJ】
Router>enable Router#configure terminal | 进入全局模式 |
Router(config)#hostname BJ | 修改路由器名称 |
BJ(config)#interface e0/0 BJ(config-if)#ip address 222.16.2.1 255.255.255.0 BJ(config-if)#no shutdown BJ(config-if)#ip nat outside BJ(config-if)#exit | 为接口e0/0配置IP地址 标记接口为NAT外部 |
BJ(config)#interface e0/1 BJ(config-if)#ip address 192.168.3.254 255.255.255.0 BJ(config-if)#no shutdown BJ(config-if)#ip nat inside BJ(config-if)#exit | 为接口e0/1配置IP地址 标记接口为NAT内部 |
BJ(config)#ip route 0.0.0.0 0.0.0.0 222.16.2.254 | 配置默认网关 |
BJ(config)#access-list 100 deny ip 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255 BJ(config)#access-list 100 permit ip any any BJ(config)#ip nat inside source list 100 interface e0/0 overload | 配置NAT |
NAT配置完成后,启动【bjdc】这台虚拟机来验证一下,首先ping路由器的内部接口【192.168.3.254】,检查一下连通性,发现已经可以通了,再ping公网路由器【Internet】,也可以通了
通过在路由器【BJ】上用debug ip nat命令来跟踪NAT,可以看到我们的内部地址是通过NAT转换为公网地址后到达路由器【Internet】的
NAT配置好后还没完,继续配置IPsec ×××部分
BJ(config)#crypto isakmp policy 10 BJ(config-isakmp)#hash md5 BJ(config-isakmp)#group 2 BJ(config-isakmp)#authentication pre-share BJ(config-isakmp)#lifetime 3600 BJ(config-isakmp)#exit BJ(config)#crypto isakmp key zf address 202.0.1.1 BJ(config)#crypto ipsec transform-set zf ah-md5-hmac esp-3des esp-md5-hmac BJ(cfg-crypto-trans)#mode tunnel BJ(cfg-crypto-trans)#exit BJ(config)#access-list 101 permit ip 192.168.3.0 0.0.0.255 192.168.2.0 0.0.0.255 BJ(config)#crypto map *** 10 ipsec-isakmp BJ(config-crypto-map)#set peer 202.0.1.1 BJ(config-crypto-map)#set transform-set zf BJ(config-crypto-map)#match address 101 BJ(config-crypto-map)#exit BJ(config)#interface e0/0 BJ(config-if)#crypto map *** | 配置IPsec ××× |
最后来配置路由器【SH】,和【BJ】的配置类似
Router>enable Router#configure terminal | 进入全局模式 |
Router(config)#hostname SH | 修改路由器名称 |
SH(config)#interface e0/0 SH(config-if)#ip address 202.0.1.1 255.255.255.0 SH(config-if)#no shutdown SH(config-if)#ip nat outside SH(config-if)#exit | 为接口e0/0配置IP地址 标记接口为NAT外部 |
SH(config)#interface e0/1 SH(config-if)#ip address 192.168.2.254 255.255.255.0 SH(config-if)#no shutdown SH(config-if)#ip nat inside SH(config-if)#exit | 为接口e0/1配置IP地址 标记接口为NAT内部 |
SH(config)#ip route 0.0.0.0 0.0.0.0 202.0.1.254 | 配置默认网关 |
SH(config)#access-list 100 deny ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255 SH(config)#access-list 100 permit ip any any SH(config)#ip nat inside source list 100 interface e0/0 overload | 配置NAT |
同样验证一下NAT
现再通过【shdc】ping 【bjdc】,发现是不通的,这是由于我们路由器【SH】上的×××部分还没有配置
SH(config)#crypto isakmp policy 10 SH(config-isakmp)#hash md5 SH(config-isakmp)#group 2 SH(config-isakmp)#authentication pre-share SH(config-isakmp)#lifetime 3600 SH(config)#crypto isakmp key zf address 222.16.2.1 SH(config)#crypto ipsec transform-set zf ah-md5-hmac esp-3des esp-md5-hmac SH(cfg-crypto-trans)#mode tunnel SH(cfg-crypto-trans)#exit SH(config)#access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255 SH(config)#crypto map *** 10 ipsec-isakmp SH(config-crypto-map)#set peer 222.16.2.1 SH(config-crypto-map)#set transform-set zf SH(config-crypto-map)#match address 101 SH(config-crypto-map)#exit SH(config)#interface e0/0 SH(config-if)#crypto map *** | 配置IPsec ××× |
两个站点路由器上的×××都配置完后,再次通过【shdc】ping【bjdc】,可以看了已经通了吧
到此,Dynamips结合VMware搭建站点到站点×××环境就全部做完了
转载于:https://blog.51cto.com/jqq1982/1021022