昨天开始学习使用Dynamips 模拟7200,当然,网上已经有人搭出CCNP的rack了。
所以就是有点点不服输,想搭个CCIE rack出来。
现在linux win平台都能实现这个CCIE rack了, 而且做好了跨平台的cluster配置:)
详情如下
下载:
早上在linux上已经能够很好的运行Dynamips了,我的系统是Redhat AS4 后来升级成CentOS
之前的0.2.4的dynamips 有些bug 不能运行,换用0.2.5然后make install clean 安装完成
IOS版本为12.4的企业版,嘿嘿~
本来自己写了一个bash来实现这个CCIE的rack的,不过端口定义之类的真的很烦...
后来发现一个叫 dynagen-0.4.3 的东西,太赞了
具体配置如下
1.将dynamips.bin copy 到 /bin下面,取名为dynamips
2.unzip -p c7200-g6ik8s-mz.124-2.T1.bin > kaka.bin 存放在/root/c7200/kaka.bin
这样的话,boot 7200的时候就不需要解压IOS了,节省时间吧
3.开启Dynamips服务
nice dynamips –H 7200 &
4.配置Dynagen
拓扑图如下
配置文件如下,其内容很简单
官方配置文件
============CCIE.net============
# A CCIE lab
autostart = true
[localhost]
[[7200]]
image = /root/c7200/kaka.bin
npe = npe-400
ram = 160
[[ROUTER 1R1]]
s1/0 = F1 1
s1/1 = F2 1
f2/0 = S1 1
f0/0 = LAN 2
[[ROUTER 1R2]]
s1/0 = F1 2
s1/1 = F2 2
f2/0 = S1 2
f0/0 = LAN 2
[[ROUTER 1R3]]
s1/0 = F1 3
s1/1 = F2 3
f2/0 = S1 3
f0/0 = LAN 2
a3/0 = A1 3
[[ROUTER 1R4]]
s1/0 = F1 4
s1/1 = F2 4
f2/0 = S1 4
f0/0 = LAN 2
[[ROUTER 1R5]]
s1/0 = F1 5
s1/1 = F2 5
f2/0 = S1 5
f0/0 = LAN 2
[[ROUTER 1R6]]
s1/0 = F1 6
s1/1 = F2 6
f2/0 = S1 6
f0/0 = LAN 2
a3/0 = A1 6
[[ROUTER BB1]]
s1/0 = F1 7
s1/1 = F2 7
f2/0 = S1 7
f0/0 = LAN 2
a3/0 = A1 7
[[FRSW F1]]
1:102 = 2:201
1:103 = 3:301
1:104 = 4:401
1:105 = 5:501
1:106 = 6:601
2:203 = 3:302
2:204 = 4:402
2:205 = 5:502
2:206 = 6:602
3:304 = 4:403
3:305 = 5:503
3:306 = 6:603
4:405 = 5:504
4:406 = 6:604
5:506 = 6:605
[[FRSW F2]]
1:102 = 2:201
1:103 = 3:301
1:104 = 4:401
1:105 = 5:501
1:106 = 6:601
2:203 = 3:302
2:204 = 4:402
2:205 = 5:502
2:206 = 6:602
3:304 = 4:403
3:305 = 5:503
3:306 = 6:603
4:405 = 5:504
4:406 = 6:604
5:506 = 6:605
[[ATMSW A1]]
3:30:103 = 7:37:137 # port 3 vpi 30 vci 103 to port 7 vpi 37 vci 137
6:60:106 = 7:67:167
[[FRSW S1]]
1 = access 1
2 = access 1
3 = access 1
4 = access 1
5 = access 1
6 = access 1
7 = access 1
8 = dot1q 1 NIO_gen_eth:eth0
详细配置参数
# All Dynagen configuration file options
# Should all devices be automatically started? true or false, defaults to true. Can be overridden on a per device basis
autostart = true
# Each DYNAMIPS section sepecifies a dynamips server and the devices it hosts
[bender] # The hostname or IP address of a Dynamips server
port = 7200 # TCP port. Optional, defaults to 7200
console = 2000 # Base console port. New instances that do not specify a console port will default to this + the intance number. Defaults to 2000
workingdir = /home/labs/test lab 1 # Set the directory where Dynamips will store all the device files for this network. This is the fully qualified path relative to the system running dynamips.
udp = 10000 # Set the base UDP port for NIOs
# The 7200 section specifies defaults for all 7200 routers on this Dynamips server. Everything in this
# section is optional, and defaults to whatever the default is in Dynamips
[[7200]]
image = /opt/7200-images/c7200-ik9o3s-mz.122-15.T17.image # Full path to 7200 IOS image file. This is the fully qualified path relative to the system running dynamips.
ram = 128 # Amount of Virtual RAM to allocate to each router instance.
rom = 4 # Size of ROM
nvram = 256 # Size of NVRAM
disk0 = 64 # Set size of PCMCIA ATA disk0
disk1 = 64 # Set size of PCMCIA ATA disk1
cnfg = None # Configuration file to import. This is the fully qualified path relative to the system running dynamips.
confreg = 0x2102 # Set the configuration register
clock = 2 # Clock divisor (should no longer been needed as of dynamips 0.2.5 RC1)
npe = npe-200 # NPE type.("npe-100", "npe-150", "npe-175", "npe-200", "npe-225", "npe-300" or "npe-400")
midplane = std # Midplane, either "std" or "vxr"
mmap = true # Set to false to use real memory rather than a disk file for router vitural memory. Conserves RAM at the expense of performance. Defaults to True
idlepc = 0x60719b98 # Set the Idle PC value
exec_area = 64 # Set the exec area size
# Each ROUTER section defines a router and it's connections. All keywords are optional
[[ROUTER R1]] # Must supply a unique name
model = 7200 # Defaults to 7200
console = 2000 # Console port. Defaults to the server's base console port (specified in the server section) + instance number
aux = 3000 # Aux port, defaults to none
# All options from the 7200 section are options here as well, including "autostart"
# Manual PA specification. This is optional, and if not done dynagen will make sane decisions based on the interface specifications.
slot0 = PA-C7200-IO-FE # Ethernet in slot 0
slot1 = PA-FE-TX # Ethernet in slot 1
slot3 = PA-4T # PA-4T+ in slot 2
slot6 = PA-4E # PA-4E in slot 6
#slotx = PA-POS-OC3 # PA-POS-OC3 in slot x
# Interface specification. Can take the following forms:
f1/0 = R2 f1/0 # Connect to f1/0 on device R2
f2/0 = LAN 1 # Connect to bridged LAN 1
s3/0 = R2 s3/0 # Connect to s3/0 on device R2
s3/1 = F1 1 # Connect to port 1 on device "F1" (a frame relay switch)
s3/2 = F2 1
a4/0 = A1 1 # Connect to port 1 on device "A1" (an ATM switch)
f5/0 = NIO_linux_eth:eth0 # manually specify an NIO
[[ROUTER R2]]
# Interface f1/0 will automatically be created because the interface was referenced in R1's config
f2/0 = LAN 1 # Connect to bridged LAN 1
s4/0 = F1 2
s4/1 = F2 2
s4/2 = F1 3
a5/0 = A1 2
[[router R3]] # Case is not significant
# Examples of other manually specified NIOs
f1/0 = NIO_gen_eth:\Device\NPF_{B00A38DD-F10B-43B4-99F4-B4A078484487}
f2/0 = NIO_udp:10000:172.0.0.1:10001
f3/0 = NIO_tap:tap0
f4/0 = NIO_unix:/tmp/local:/tmp/remote
f5/0 = NIO_vde:foo:bar
# Each FRSW section defines a frame relay switch. All keywords are optional
[[FRSW F1]] # Must supply a unique name
1:102 = 2:201 # Tell the FRSW to switch from port 1, DLCI 102 to port 2, DLCI 201.
1:103 = 3:301 # and from port 1, DLCI 103 to port 3, DLCI 301
[[FRSW F2]]
1:102 = 2:201
# Define an ATM Switch
[[ATMSW A1]]
1:10 = 2:20 # Port 1, vpi 10 to port 2, vpi 20
#1:10:200 = 2:20:100 # Port 1, vpi 10, vci 200 to port 2, vpi 20, vci 100
# Define an Ethernet Switch
[[ETHSW S1]]
1 = access 1 # Port 1 is an access port in vlan 1
2 = access 20 # Port 2 is an access port in vlan 20
3 = dot1q 1 # Port 3 is a trunk port (dot1q encapsulation) with naitive vlan 1
4 = dot1q 1 NIO_gen_eth:eth0 # Port 4 is trunk port (naitive vlan 1) that is connected to the host eth0 via the gen_eth NIO
#4 = dot1q 1 NIO_gen_eth:\Device\NPF_{B00A38DD-F10B-43B4-99F4-B4A078484487} # Same as above, Windows example
最后就是启动Dynagen
dynagen ccie.net
就可以run了
在里面有些参数
Documented commands (type help
):
========================================
clear help list reload shell start suspend ver
exit hist py resume show stop telnet
=>
1.telnet 可以telnet到每个路由
2.suspend 挂起R1
3.list
=> list
Name Type State Server Console
R1 c7200 suspended sjtucs 2000
R2 c7200 running sjtucs 2001
R3 c7200 running sjtucs 2002
F1 FRSW n/a sjtucs n/a
=>
4. clear show mac
5. hist 最近10条命令
6.stop start 用于重启路由
加入WIN平台配置,和集群配置方法
下载dynampis和dynagen的win安装包
1。安装后桌面会出现 Dynamips server.bat 运行
2。直接双击win版本的ccie.net就可以使用了
win版本的ccie.net 如下
# A CCIE lab
autostart = true
[localhost]
[[7200]]
image = d:\c7200\kaka.bin
npe = npe-400
ram = 160
[[ROUTER 1R1]]
s1/0 = F1 1
s1/1 = F2 1
f2/0 = S1 1
f0/0 = LAN 2
[[ROUTER 1R2]]
s1/0 = F1 2
s1/1 = F2 2
f2/0 = S1 2
f0/0 = LAN 2
[[ROUTER 1R3]]
s1/0 = F1 3
s1/1 = F2 3
f2/0 = S1 3
f0/0 = LAN 2
a3/0 = A1 3
[[ROUTER 1R4]]
s1/0 = F1 4
s1/1 = F2 4
f2/0 = S1 4
f0/0 = LAN 2
[[ROUTER 1R5]]
s1/0 = F1 5
s1/1 = F2 5
f2/0 = S1 5
f0/0 = LAN 2
[[ROUTER 1R6]]
s1/0 = F1 6
s1/1 = F2 6
f2/0 = S1 6
f0/0 = LAN 2
a3/0 = A1 6
[[ROUTER BB1]]
s1/0 = F1 7
s1/1 = F2 7
f2/0 = S1 7
f0/0 = LAN 2
a3/0 = A1 7
[[FRSW F1]]
1:102 = 2:201
1:103 = 3:301
1:104 = 4:401
1:105 = 5:501
1:106 = 6:601
2:203 = 3:302
2:204 = 4:402
2:205 = 5:502
2:206 = 6:602
3:304 = 4:403
3:305 = 5:503
3:306 = 6:603
4:405 = 5:504
4:406 = 6:604
5:506 = 6:605
[[FRSW F2]]
1:102 = 2:201
1:103 = 3:301
1:104 = 4:401
1:105 = 5:501
1:106 = 6:601
2:203 = 3:302
2:204 = 4:402
2:205 = 5:502
2:206 = 6:602
3:304 = 4:403
3:305 = 5:503
3:306 = 6:603
4:405 = 5:504
4:406 = 6:604
5:506 = 6:605
[[ATMSW A1]]
3:30:103 = 7:37:137 # port 3 vpi 30 vci 103 to port 7 vpi 37 vci 137
6:60:106 = 7:67:167
[[ETHSW S1]]
1 = access 1
2 = access 1
3 = access 1
4 = access 1
5 = access 1
6 = access 1
7 = access 1
8 = dot1q 1 NIO_gen_eth:\Device\NPF_{B00A38DD-F10B-43B4-99F4-B4A078484487}
最后这个以太网口,要自己查
dynamips -e 可以查到
集群配置,就是说,如果我1台pc模拟这么多路由器不够,而我又有很多台PC, 那么可以做这样一件事情
1。创建一台cluster的主控服务器 ip为192.168.0.1 只运行
dynamips server /linux下执行 nice dynamips -H 7200 &
然后每台PC上模拟一台 路由器,修改dynamips-server值,将localhost改为接入服务器的ip就可以了
# A CCIE lab
autostart = true
[192.168.0.1]
port = 7200
[[7200]]
image = d:\c7200\kaka.bin
npe = npe-400
ram = 160
[[ROUTER 1R1]]
s1/0 = F1 1
s1/1 = F2 1
f2/0 = S1 1
f0/0 = LAN 2
[[FRSW F1]]
1:102 = 2:201
1:103 = 3:301
1:104 = 4:401
1:105 = 5:501
1:106 = 6:601
2:203 = 3:302
2:204 = 4:402
2:205 = 5:502
2:206 = 6:602
3:304 = 4:403
3:305 = 5:503
3:306 = 6:603
4:405 = 5:504
4:406 = 6:604
5:506 = 6:605
[[FRSW F2]]
1:102 = 2:201
1:103 = 3:301
1:104 = 4:401
1:105 = 5:501
1:106 = 6:601
2:203 = 3:302
2:204 = 4:402
2:205 = 5:502
2:206 = 6:602
3:304 = 4:403
3:305 = 5:503
3:306 = 6:603
4:405 = 5:504
4:406 = 6:604
5:506 = 6:605
[[ATMSW A1]]
3:30:103 = 7:37:137 # port 3 vpi 30 vci 103 to port 7 vpi 37 vci 137
6:60:106 = 7:67:167
[[ETHSW S1]]
1 = access 1
2 = access 1
3 = access 1
4 = access 1
5 = access 1
6 = access 1
7 = access 1
8 = dot1q 1 NIO_gen_eth:\Device\NPF_{B00A38DD-F10B-43B4-99F4-