近年来cisco高端路由器基本都采用了IOS XR系统,而不是原来的IOS系统;原来的IOS系统有各种各样的模拟器可以模拟,各种玩法;但是IOS XR的模拟似乎就没有太多的选择了,在cisco官网可以下载到iosxrv-k9-demo-5.2.0文件(版本不一定是5.2.0了),使用VMware可以运行,模拟IOS XR系统。
但是,初次使用的时候遇到一个问题,就是默认情况下IOS XR模拟出来的路由器,只有两个物理接口:MgmtEth0/0/CPU0/0、GigabitEthernet0/0/0/0,这显然不够玩啊。
于是,在VMware下面,增加虚拟机的【网络适配器】,无论怎么增加,到IOS XR系统里面,物理接口的数量始终是不变的,这可如何是好?!
解决办法是这样的:IOS XR虚拟机在我的文档中,对应的文件夹下面,有一个文件:xxxxx.vmx,xxxxx对应的是虚拟机的名称。使用写字板打开(注意:不用使用记事本打开和编辑,因为这样会导致最后运行虚拟机的时候报错,提示“字典错误”),该文档中,有IOS XR物理接口的一些信息,例如:
ethernet0.present = "TRUE"
ethernet0.virtualDev = "e1000"
ethernet0.connectionType = "bridged"
ethernet0.startConnected = "TRUE"
ethernet0.addressType = "generated"
ethernet0.generatedAddress = "00:0c:29:1c:1d:34"
这个文档中,ethernet的数量和虚拟机的【网络适配器】的数量是一致的,根据文档中每个ethernet的mac地址,就可以和虚拟机中的各个【网络适配器】对应。所以只要增加虚拟机的【网络适配器】,这个文档中的Ethernet的数量就增加,并增加相应的配置。
而本文所要解决的问题,根源于一条命令:ethernet0.virtualDev = "e1000",默认的时候,就ethernet0和ethernet1有该命令,其他的物理接口如ethernet2、ethernet3则没有该命令,所以IOS XR虚拟出来的路由器就没有对应的物理接口,通过增加类似以下命令,可以解决无法增加路由器物理接口的问题:
ethernet2.virtualDev = "e1000"
ethernet3.virtualDev = "e1000"
可以根据自己试验的需要,在虚拟机下增加【网络适配器】,并在vmx文件中增加上面的命令,保存文档,再次打开进入,就可以看到IOS XR路由器的物理接口增加了,如下
RP/0/0/CPU0:XR#sho ip int bri
Thu Jul 16 22:45:55.638 UTC
Interface IP-Address Status Protocol
MgmtEth0/0/CPU0/0 unassigned Shutdown Down
GigabitEthernet0/0/0/0 unassigned Up Up
GigabitEthernet0/0/0/1 unassigned Shutdown Down
GigabitEthernet0/0/0/2 unassigned Shutdown Down
GigabitEthernet0/0/0/3 unassigned Shutdown Down
注意,在修改该vmx文档时,需要先关闭虚拟机,保存关闭文档后,再打开虚拟机。
IOS XR虚拟机在刚启动的时候,比较慢,需要比较长时间后才载入配置,再此之前的配置也无法保存,只要等待一段时间,即可恢复正常使用。