转自http://hi.baidu.com/5ijsj/item/8c12dc149c1e9fca38cb3019     

  simware模拟交换机的方法 由于工作需要最近一段时间经常要用到H3C的设备,为了熟悉设备配置找来的SIMWARE模拟器,都叫这类软件为模拟器,我认为不恰当,SIMWARE与DY类似,应该叫虚拟才对,这与早期培训机构自己搞的练习命令的模拟器实际上有很大的区别,H3C SIMWARE 和CISCODY都是运行真正的路由器或交换机软件,是全功能的,基本上所有的功能性的实验都可以完成。
SIMWARE用了一段时间了,虽然不如DY完善但是作为学习的辅助工具还是非常好的,wvrp5.2a可以虚拟路由模式的以太接口,很简单网上有的是教程,WVRP启动后内置了8个桥接交换口,一直无法使用,新建的路由端口还不允许切换到交换模式下。今天在bbs.network527.cn看到有位大侠能够使用SIMWARE虚拟交换机,下载了他的视频,可以视频中只有自己搞的设备如何做实验,并不将如何搭建虚拟交换机平台的方法公布,后来看到他在另一个帖子中公布出来自己搭建好的H3C虚拟交换机,但是需要100个点数才能下载,只好作罢,短时间内我是不可能下载了。算了自己研究吧,实际上很简单,只是一直没有人将它公布出来,在这里鄙视一下H3C,这类虚拟软件用的人越多对H3C的产品net527越有好处,应该将这东西放出来给大家共享才对。
    现在言归正传,说说如何搭建H3C虚拟交换机,实际上最重要的工作就是能够将WVRP上自带的交换机端口启用并能够通讯就达到目的了。这里我先解释一下使用SIMWARE大家都知道要运行两个程序:
p_w_picpath_thumb%5B2%5D%2045567169.png 
    这实际上有点误导我们,WVRP运行跟这两程序没关系,wvrp5.2a.exe就足够了,这两个程序只是在帮助我们简单进行配置,添加端口、做链接等。真正使用SIMWARE应该使用批处理命令,批处理命令简单到一塌糊涂:
p_w_picpath_thumb%5B4%5D.png 
    这样我们可以开始最关键的配置了,我们使用上面两个辅助配置软件实际上就是配置hardcfg.tcl,注意手工修改这个配置文件后最好使用批处理方式运行,现在我们揭晓谜底:
p_w_picpath_thumb%5B6%5D.png 
添加标记的最后一句就可以,-port 3表示的是0/4/2口,最后的adaptor 2表示与编号2的网卡相连。保存后使用批处理命令启动,就可以了:
p_w_picpath_thumb%5B8%5D.png 
可以看到0/4/2已经UP,配好VLAN地址的话,可以通过VLAN200的地址进行管理。最后附上hardcfg.tcl详细说明,以供有兴趣的同学研究。

ComwareV5R002 WVRP hardcfg.tcl 使用说明

WVRP可以用图形界面,也可以用TCL的脚本来实现。其实用图界面时,也是生成tcl脚本的,下面就是对tcl脚本的使用说明,熟悉了这个,也可以像写Dynamips的bat文件一样来生成拓扑了。
说明:
1. 本说明将配置命令分为两部分分别说明
A. 从V3直接继承过来的配置命令,使用方法基本和V3一致
B. V5接口管理融合项目系统测试阶段新增加的添加各种接口类型的配置命令。
这一部分为V5新增加部分,V3上不适用。由于主要目的是提供接口管理系统
测试时使用,接口驱动模拟不是很全面,功能并不完善。
凡下面描述中提到的旧驱动,指的是A部分的代码实现,新驱动指B部分的代码实现
2. hardcfg.tcl 实际上就是一个TCL脚本,完全遵循TCL脚本语言的语法规则,支持
所有TCL脚本语言的内嵌命令,如:set, for, if等
3. 特别说明,TCL语言语法中注释必须是以”#”开头的行,而不是从”#”到行结束
也就是说在有效命令同一行后面用 #注释说明是不合法的
4. 关于设备板间通讯占用socket端口说明:
分布式WVRP同一台设备间的板间通讯和状态同步是使用UDP socket完成的,每个
WVRP会按照下面的算法占用4个端口,其中offset是SetWinSockOffset设置值,
没有设置的时候为0,slot为SetSelfSlot设置值
2000 + offset + slot
3000 + offset + slot
3120 + offset + slot
4000 + offset + slot
另外还会产生一个 (2000 + offset)%100 为名字的信号量,供主控板和备用板使用
所以设置offset时候必须特别小心,不能让不同设备占用相同的端口和信号量
建议设置值在100-900,间隔100
5. 默认配置情况下,WVRP启动的时候旧驱动部分会自动添加一个Console接口,和8个
子卡号为4的二层不可切换的FE接口(如Ethernet0/4/0),旧驱动模拟了二层接口的
芯片转发的功能,涉及到VLAN,协议等请使用这些接口。
6. WVRP之间接口的链接通过UDP socket模拟完成,配置链接的时候必须指定socket
参数。使用AddLink的时候参数略有不同(括号内的参数),但意义相同:
-local(-localip) X.X.X.X 本设备接口socket使用的IP地址
-lport(-localport) XXXX 本设备接口socket使用的端口号
-dest(-dstip) X.X.X.X   对端设备接口socket使用的IP地址
-dport(-dstport) XXXX    对端设备接口socket使用的端口号
上面四个参数必须同时设置才有效。两台设备接口链接IP:PORT本地和对端的配置
必须一一对应。
由于2000-5000之间的端口容易被WVRP内部通讯端口占用,建议绑定接口的时候使用
6000以上的端口
###############################################################################
###############################################################################
PART A: 继承V3 WVRP配置命令部分
——————————————————————————-
设备内存
SetMemorySize 128 
本板的板号,分布式WVRP必须
SetSelfSlot 0 
主控板板号,分布式WVRP必须
SetMainSlot 0 
备用板板号,分布式WVRP必须
SetSlaveSlot 1
板间通讯使用的socket偏移,使用多台分布式WVRP时必须。
同一WVRP设置值必须一致,不同WVRP需设置不同的值
建议值在100-900,间隔100。具体参见说明4
SetWinSockOffset 200
桥MAC,多台WVRP互通的时候必须,参数是两个十进制整数
SetMac 00 52
WVRP窗口标题名称
SetWVRPInstanceName DUT1
Console 接口绑定的telnet端口号,有效范围 [2000, 3000)
不设置时使用windows控制台输入
SetConsoleCom 2022 
增加一个三层以太网接口,所有参数可选
-index 指定绑定的计算机网卡编号,从1开始
-vnet 指定以太网接口mac地址的第三个字节,默认为5E, 使用十进制参数
-slot 指定接口子卡号,默认是1
AddEthernet -index 2 -vnet 1 -slot 1
增加一个同步串口,前4个参数必须,具体参见说明6;-slot指定子卡号,可选,默认2
AddSerial -local 127.0.0.1 -lport 6010 -dest 127.0.0.1 -dport 6020 -slot 2
增加一个ATM接口,前4个参数必须,具体参见说明6;-slot指定子卡号,可选,默认3
本接口实现不完整,建议不要使用,可以使用新驱动
AddATM -local 127.0.0.1 -lport 6011 -dest 127.0.0.1 -dport 6021 -slot 3
增加一个E1控制器,前4个参数必须,具体参见说明6;-slot指定子卡号,可选,默认4
本接口实现不完整,建议不要使用,可以使用新驱动
AddE1Port -local 127.0.0.1 -lport 6013 -dest 127.0.0.1 -dport 6023 -slot 4
设置板类型,V5上用来设置旧驱动二层以太网接口数量和子卡号。设置时第一二个参数
必须,第三个参数可选。第一个参数目前无意义。第二个参数指定板上创建的二层以太
网接口数量有效值为8,16,24,默认8。-slot指定以太网接口子卡号,默认是4
参见说明5
SetBrdType 0 24 -slot 4
为旧驱动二层以太网接口增加socket连接,-portnum指定要增加连接的端口,1表示第一个
端口,对应EthernetX/Y/0,2对应EthernetX/Y/1,依次类推。Y是在SetBrdType -slot中
指定的子卡号,-portnum不能大于SetBrdType中指定的最大端口数量。其他参数见说明6
AddLink -portnum 2 -localip 127.0.0.1 -localport 7012 -dstip 127.0.0.1 -dstport 7022
为旧驱动二层以太网接口增加网卡绑定,-port指定绑定端口,含义同AddLink的-portnum
-adaptor指定以太网索引,从1开始
BindPortWithAdaptor -port 3 -adaptor 2
###############################################################################
PART B: V5 新增WVRP配置命令部分
——————————————————————————-
注意:
1. 由于新驱动可以自由指定接口物理槽号和子卡号,但不能指定最后一维,同一个物
理槽&子卡上的接口偏移从0开始递增。添加的接口时不要与旧驱动增加的接口冲突。
2. 所有参数由”-”开头,部分参数后面会要求具体的值,不同的参数之间没有顺序要求
3. 新驱动二层以太网接口没有模拟芯片转发,而是收到的报文不做任何处理直接上送
给平台。不要使用它测试二层特性。建议使用旧驱动接口。
4. 部分参数所有新驱动接口通用,各个接口通用的option有:
-slot x         接口物理槽号,一般和SetSelfSlot一致(光板时例外),必须
-subslot x      接口子卡号,必须
-local x.x.x.x 接口本地ip,参见说明6
-lport xxxx     接口本地端口号,参见说明6
-dest x.x.x.x   对端接口ip,参见说明6
-dport xxxx     对端接口端口号,参见说明6
-backup         当前接口所在的光板或子卡,在系统启动的时候不在位
(用于光板或子卡的热插拔模拟)
下面的参数在以太网接口中通用
-level2/-level3 二三层属性,默认是三层接口,不能同时使用
-canswitch 接口可做二三层切换
-management 接口是管理以太口,不能和-level2 -canswitch -speed 10000 同时使用
-speed {10|100|1000|10000} 指定接口速率
10, 100 时接口名为Ethernet,有-management时M-Ethernet
1000    时接口名为GigabitEthernet,有-management时M-GigabitEthernet
10000   时接口名为Ten-GigabitEthernet
-combo {21|22|31} 接口是combo口
21 二层单Combo端口
31 三层单Combo端口
22 二层双Combo端口,一次会增加偏移量相邻的两个接口,互为combo
-bindadaptor x 绑定网卡,不完善,需要有旧驱动接口绑定网卡后方能使用
###############################################################################
PosX/X/X
AddPos -slot 0 -subslot 0
BriX/X/X
AddBri -slot 0 -subslot 0
AuxX/X/X
AddAux -slot 0 -subslot 0
EncryptX/X/X
AddIpsec -slot 0 -subslot 0
Subscriber-LineX/X/X
AddVoice -slot 0 -subslot 0
AsyncX/X/X
AddAsync -slot 0 -subslot 0
AnalogmodemX/X/X
AddAsync -analogmodem -slot 0 -subslot 0
ATMX/X/X,通过-phytype指定接口具体物理类型
-phytype PHY_ATM_25M
PHY_ATM_155M
PHY_ATM_622M
PHY_ATM_ADSL
PHY_ATM_SHDSL
PHY_ATM_E1
PHY_ATM_E3
PHY_ATM_T1
PHY_ATM_T3
PHY_ATM_ADSL_2PLUS
PHY_ATM_SHDSL_4WIRE
AddATMNew -phytype PHY_ATM_25M -slot 0 -subslot 0
SerialX/X/X 普通同异步串口
AddSerialNew -slot 0 -subslot 0
SerialX/X/X FE1接口
AddE1 -fe1 -slot 0 -subslot 0
SerialX/X/X FT1接口
AddT1 -ft1 -slot 0 -subslot 0
E1 X/X/X
AddE1 -e1 -slot 0 -subslot 0
T1 X/X/X
AddT1 -t1 -slot 0 -subslot 0
E3 X/X/X
-e3 不可通道化E3控制器
-ce3 可通道化E3控制器
AddE3 -e3 -slot 0 -subslot 0
AddE3 -ce3 -slot 0 -subslot 0
T3 X/X/X
-t3 不可通道化T3控制器
-ct3 可通道化T3控制器
AddT3 -t3 -slot 0 -subslot 0
AddT3 -ct3 -slot 0 -subslot 0
CposX/X/X
-ce1 可通道化出CE1接口的CPOS控制器
-ct1 可通道化出CT1接口的CPOS控制器
-e1 可通道化出E1接口的CPOS控制器
-e3 可通道化出E3接口的CPOS控制器
-t1 可通道化出T1接口的CPOS控制器
-t3 可通道化出T1接口的CPOS控制器
AddCpos -ce1 -slot 0 -subslot 0
AddCpos -ct1 -slot 0 -subslot 0
AddCpos -e1 -slot 0 -subslot 0
AddCpos -e3 -slot 0 -subslot 0
AddCpos -t1 -slot 0 -subslot 0
AddCpos -t3 -slot 0 -subslot 0
M-EthernetX/X/X 100M管理以太网接口
AddEthNew -management -speed 10 -slot 0 -subslot 0
AddEthNew -management -speed 100 -slot 0 -subslot 0
M-GigabitEthernetX/X/X
AddEthNew -management -speed 1000 -slot 0 -subslot 0 
EthernetX/X/X
三层不可切换
AddEthNew -speed 10 -slot 0 -subslot 0
AddEthNew -speed 100 -slot 0 -subslot 0
三层可切换
AddEthNew -speed 10 -canswitch -slot 0 -subslot 0
AddEthNew -speed 100 -canswitch -slot 0 -subslot 0
二层不可切换
AddEthNew -speed 10 -level2 -slot 0 -subslot 0
AddEthNew -speed 100 -level2 -slot 0 -subslot 0
二层可切换
AddEthNew -speed 10 -level2 -canswitch -slot 0 -subslot 0
AddEthNew -speed 100 -level2 -canswitch -slot 0 -subslot 0
GigabitEthernetX/X/X
AddEthNew -speed 1000 -slot 0 -subslot 0
AddEthNew -speed 1000 -canswitch -slot 0 -subslot 0
AddEthNew -speed 1000 -level2 -slot 0 -subslot 0
AddEthNew -speed 1000 -level2 -canswitch -slot 0 -subslot 0
Ten-GigabitEthernetX/X/X
AddEthNew -speed 10000 -slot 0 -subslot 0
AddEthNew -speed 10000 -canswitch -slot 0 -subslot 0
AddEthNew -speed 10000 -level2 -slot 0 -subslot 0
AddEthNew -speed 10000 -level2 -canswitch -slot 0 -subslot 0
NATX/X/X
AddNat -slot 0 -subslot 0
EACLX/X/X
AddEacl -slot 0 -subslot 0
Net-StreamX/X/X
AddNetStream -slot 0 -subslot 0
URPFX/X/X
AddUrpf -slot 0 -subslot 0
MPLS-VPLSX/X/X
AddMplsVpls -slot 0 -subslot 0
MPLS-VLLX/X/X
AddMplsVll -slot 0 -subslot 0
MPLS-L3×××X/X/X
AddMplsL3*** -slot 0 -subslot 0
MPLSX/X/X
AddMpls -slot 0 -subslot 0

要注意以下几点:
(1)首先,必须加入h3c.com.cn这个域中,不一定本机就是域控制器,我刚开始是在虚机中搭建的h3c域环境是可以成功的,又试着将本机加入这个域中,而本机登录时使用本地用户登录系统,后续的实验也可以成功;
(2)在加入到域中后,必须安装WinPcap_3_0.exe(一定是要3.0的版本,4.0版本不行)。
(3)打开simware,在左侧的simware列表中添加路由器和接口
(4)设置–设置执行文件路径,这里请选择simware文件夹中的wvrp5.2a.exe
(5)设置–升级所有运行程序;
(6)编译-运行所有路由器
在 配置设备时如(ppp、telnet)设置密码时提示错误:%Aug 20 17:09:36:797 2009 H3C PWD/4/WRITEPASSTOFILE: failed to write the password records to file(缺少密码记录文件)
解决办法:在启动设备后先保存一个配置文件就行了也就save一下,但在save之前一定要先格式化一下flash
<h3c>format flash: