网管程序员论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 6310|回复: 0

关于Juniper Olive@VMWare和Cisco模拟器Dynamips互联

[复制链接]
发表于 2007-8-29 19:10:42 | 显示全部楼层 |阅读模式
今天初到IT猫扑宝地,人气不枉啊,我没什么可以帮的,就发几个原创的文章吧,献丑献丑,贻笑大方了。

Juniper路由器的软件是基于FreeBSD的,所以理论上可以在虚拟机上面安装。事实上Juniper官方很久以
前就发布过相关的“模拟器”——Olive,不过很可惜,似乎现在已经不发布最新版了。学习JunOS的第一步当然是搞一个环境出来,于是就要安装一个Olive。步骤有些繁琐,不过不算复杂,如果略通一些FreeBSD的命令,应该就可以搞定了。至于Dynamips的安装设置,好像没人不知道了吧?

(一)在VmWare上安装FreeBSD和Olive
只简单介绍一下安装Olive的大致步骤,具体请参考教程:

1。安装VmWare 5.x;
2。在虚拟机上安装FreeBSD 4.8 mini;
3。在虚拟机上安装JUNOS 7.4(建议之前先snapshot一下,安装失败可以快速回退。顺便提醒一句,安装很容易失败);
4。在虚拟机上将JUNOS升级为7.6。升级的原因是VmWare中虚拟出来的网卡类型为Intel e1000,而JUNOS较早版本不能识别(建议升级之前再来一个snapshot);
5。在虚拟机上面添加一个虚拟的COM口,然后安装Named Pipe TCP Proxy访问这个虚拟的COM口,其实就是Console口,这样才能配置。

以上的在教程“olive on Vmware 5.5.3 is ok,NIC is UP” 、“FreeBSD和JunOS安装手册”和“Install Junos 8.0R1.9 on Vmware 5.5.3”(百度上面搜一下,一大堆)中都有详细叙述,这里就不赘述。下面是我在安装过程中碰到的一些需要注意的问题:

1.JUNOS 8.0以前版本(据说8.0可以认出,未证实)认不出VMWare中的网卡,需要将网卡设为e1000类型,而7.4和其之前版本认不出e1000,所以需要先安装7.4然后升级7.6;
2.在FreeBSD 4.8 mini上安装JUNOS 7.4并升级7.6成功,认出e1000网卡,采用的方法是添加一块1GB的硬盘,一个slice一个分区,系统识别为ad1s1e。在FreeBSD安装时,不更改网卡类型,系统能直接认出为lnc0,装好后将jinstall7.4 FTP到ad0s1f挂载的/var的/var/tmp目录下,7.6版本的jinstall FTP到挂载ad1s1e(第二块硬盘)的/mnt目录下,安装JUNOS的时候umount /mnt,安装完毕在Olive的下面mount /dev/ad1s1e /mnt就可以将7.6版本的jinstall拷贝出来,然后根据教程上面进行升级,再将.vmx中的网卡类型改为e1000,重启就可以认出该网卡为em0;
3.注意:安装JUNOS的时候,没有执行rm /dev/wd0c 和 ln -s /dev/ad0c /dev/wd0c,但是也安装成功,不知原因为何(FreeBSD版本:4.8 mini);
4.注意:除了在FreeBSD 4.62上面安装JUNOS 5.5版本成功以外,其它版本安装都没有成功,不知原因

(二)安装Dynamips
安装和配置过程略。有几点需要注意:
1。最好在Windows系统里面添加几块Loopback网卡,便于用于连接Olive和Dynamips;
2。在Dynamips配置里面桥接Loopback网卡和虚拟路由器的某个以太网口(通常我用F0/0,因为我用model=2691所以它自带2个百兆以太网口);
3。注意,这一步很关键:将VmWare的配置中网卡连接方式选择Custom,然后手动选择桥接(bridge)上面那个Loopback网卡,这样以来两个不同的虚拟系统通过Windows作为中间人就连通起来了。

(三)配置Olive和虚拟路由器
Olive:
Olive% cli
Olive> configure
[edit]
Olive# set interface em0 unit 0 family inet address 10.1.0.10/24
Olive# commit

Dynamips R1:
R1>en
R1#conf t
R1(config)#int f0/0
R1(config-if)#ip add 10.1.0.11 255.255.255.0
R1(config-if)#^C
R1#ping 10.1.0.10
.!!!!

这就通了!
不过经我测试,Olive里面那个虚拟网卡处理组播的时候有问题,所以在运行OSPF的时候有一点小技巧。

Olive@VMWare和Dynamips运行OSPF互通时的问题

      在上一篇两者互通的文章中提到,Olive@VMWare中的那块虚拟网卡在处理组播的时候会有问题,有什么问题呢?问题就在于它只能发出组播,而不能收到组播,这就意味着Olive R2发出的组播数据Dynamips R1可以看到,反之则不行。如果在进行OSPF互联的过程中,出现这样的单通问题意味着什么呢?那就是R2的Hello(OSPF中定义,广播链路使用224.0.0.5的组播地址作为目的地址发送Hello)可以被R1看到,而R1发送的hello在R2上面看不到,所以R1上面show ip os nei只能看到邻居10.1.0.10处于INIT状态,永远没法成为FULL,而在R2上面show ospf neighbor根本看不到邻居。
        通过上面的分析,知道了邻居不能建立的原因,那么解决的办法就出来了。可以在R1(IOS)上将F0/0强制指为NBMA类型或者PtMP nonbroadcast,并将Hello interval相应改为30,然后指neigbor即可。当然也可以在R1和R2(JUNOS)同时将相应接口类型改为NBMA或者PtMP nonbroadcast,然后指neighbor。经过这么一个小小调整,两边的邻居关系终于建立起来了,都变成了FULL状态。  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|最新更新|网管程序员社区 鄂ICP备11008024号-3

GMT+8, 2019-11-19 04:57 , Processed in 0.093600 second(s), 20 queries .

Powered by 网管论坛

© 2001-2018 www.027safe.com Inc.

快速回复 返回顶部 返回列表