Juniper模拟器Olive使用指南.docx
《Juniper模拟器Olive使用指南.docx》由会员分享,可在线阅读,更多相关《Juniper模拟器Olive使用指南.docx(30页珍藏版)》请在冰豆网上搜索。
Juniper模拟器Olive使用指南
Juniper模拟器Olive教程
前言
本文旨在通过对Juniper模拟器的介绍,提供一种相对方便的协议分析途径和设备互通验证途径。
模拟器资源
Juniper_Olive_8.5.rar
VMware版本的OliveJUNOS模拟器文件,解压后请使用VMware6.0build-45731以上的版本打开,其中JUNOS的版本为8.5R1.14,相对于以前的Olive有如下特点:
✧模拟器文件的大小从1G以上压缩到了170M左右,在同时加载多个文件进行模拟的时候节约了磁盘空间。
✧支持逻辑路由器特性,可以使得一台物理的路由器可以模拟出15台逻辑路由器,加上本身的1个路由器,一共可以在一台物理路由器上模拟出来16个路由器,与传统的虚拟路由器不同,每台逻辑路由器的路由进程都是独立的;节约了设备资源。
✧支持组播功能,之前的VMware版本下的Olive不能支持组播功能,OSPF只能使用NBMA方式,无法使用LDP建链,从而无法应用L3VPN技术以及一切和组播相关的功能,目前这个问题已经解决。
✧对CPU使用率有一定的优化。
✧支持JWEB。
该版本的初始登录帐号/密码
root/mpls2008
mpls/mpls2008
可以通过纳米盘网站获取,网址如下:
再次感谢Juniper中文社区()的朋友提供的Olive基础版本。
VMware-workstation-6.0.3-80004.exe
VMware虚拟机软件。
可以通过emule下载获取。
VMware-workstation-6.0.3-80004.keygen.rar
VMware虚拟机软件的注册码生成器。
可以通过emule下载获取。
nptp.exe
NamedPipeTCPProxy软件,其作用有点类似于串口服务器,它把设备的串口和一个(IP+端口)对映射在一起,我们只用telnet这个ip的对应端口,就可以获得相当于访问该设备串口的服务。
可以通过纳米盘网站获取,网址如下:
JUNOSDocumentationDVDRelease8.3.rar
JUNOS文档光盘的压缩包,基于JUNOS8.3版本,M7i的随机光盘。
可以通过Juniper的官方网站获取最新的文档资料。
模拟器配套软件介绍
软件安装
需要安装VMware、NPTP、WinPCap以及合适的抓包软件,在此不对软件的安装进行说明,请自理。
关键软件使用介绍
NPTP
该软件作用类似于串口服务器,它把设备的串口和一个(IP+端口)对映射在一起,我们只用telnet这个ip的对应端口,就可以获得相当于访问该设备串口的服务。
按下图建立一个串口和(IP+端口)对的映射就可以了。
在建立好上面的映射关系后,保持NPTP软件始终打开就行。
VMware
下面的说明和示意图是基于VMware5版本的,VMware6的使用与之类似。
用VMware打开封装成VMware文件的JUNOS后如下图所示:
该图是一个还未启动的JUNOS,可以看到上面的一些Devices,比如内存,硬盘,网卡以及串口(Serial)和CPU,都是可以编辑的,这里我们对Serial进行编辑,使其能够和NPTP软件设置的映射关联起来。
双击Serial图标,弹出[Serialport]的对话框,设置其中的[Connection]部分,采用[Usenamedpipe]方式,并将namedpipe设置为和NPTP软件中一致的namedpipe,如下图所示。
这时,如上图中的junos2001、junos2002和junos2003分别代表三台Juniper的路由器,其中每台路由器具备4个网口。
可以通过对网口的编辑,让路由器之间能够互通。
双击网卡,通过弹出的[Networkadapter]对话框可以看出网卡有四种类型,其中用户自定义类型可以通过自定义方式在window操作系统下产生一个虚拟网卡,使得虚拟机设备可以通过该虚拟网卡和windows操作系统通信,以便可以比较方便的抓包。
上面的相应配置做好之后,启动虚拟机,这时虚拟机界面会一直停留在如下图的界面,这是正常的。
此时,请打开你的终端控制台,使用telnet方式访问之前通过NPTP软件设置好的ip地址和端口号,就可以看到本来是串口上看到的启动信息,等待系统启动完毕,会提示输入用户名和帐号。
此后就可以正式配置Juniper的路由器了。
逻辑路由器特性介绍
JUNOS的逻辑路由器的特性可以使得一台物理的路由器可以模拟出15台逻辑路由器,加上本身的1个路由器,一共可以在一台物理路由器上模拟出来16个路由器,与传统的虚拟路由器不同,每台逻辑路由器的路由进程都是独立的。
逻辑路由器的特性不是仅仅为了大家个人学习方便而推出的,而是每个逻辑路由器都可以作为生产网络的一个网络节点,是可以用在实际的网络中的。
逻辑路由器支持的特性
✧RIP/RIPng/IS-IS/OSPFv2/OSPFv3/BGP/LDP/RSVP/MPLS协议的完整支持,每个逻辑路由器均完整支持IPv4/IPv6。
✧MPLSL2VPN/L3VPN/CCC/VPLS。
✧PIMSM/PIMDM/DVMRP。
✧所有的policy都支持。
✧所有的逻辑路由器支持Graceful-Switchover。
✧逻辑路由器支持各种接口,只要物理路由器上有物理接口,逻辑路由器就可以借用。
逻辑路由器的使用注意事项
✧所有的逻辑路由器和主路由器的配置是同一个配置文件。
✧每个逻辑路由器都有一个单独的路由进程(rpd),可以单独的重启这个进程。
✧不支持一些特定的多业务卡,包括AS/ES/MS等。
✧不支持BFD/GMPLS/IPSec/P2MPLSP/port-mirroring/sampling。
✧不支持LSPPing和带AS号码查询的trace-route
物理设备的准备
首先你必须有一台M/T系列的Juniper路由器(J系列路由器不支持逻辑路由器),同类的物理接口最少2个(FE/GE/ATM/POS),或者是Olive(最少3块以太网卡)。
✧将路由器的两个物理接口硬环(非自环),若使用Olive则在VMware中将对应的两个接口桥接或者同时连到同一个VMware虚拟网卡上。
✧配置方面只要做好相应的接口物理层配置就好了,不用做逻辑层的配置,如IP地址等,逻辑层的配置要在逻辑路由器下面作的,物理层的验证使用showinterface命令,只要都UP就行了。
✧对于FE/GE来说,物理层的配置要打上vlan-tagging;对于ATM接口,物理层配置只要配好了VPI和最大VC数目就行,具体的PVC要在逻辑路由器的接口配置下做;对于POS接口,如果要做逻辑路由器的相关配置,要封装FR,分出DCE/DTE即可,具体的DLCI和子接口配置都要在逻辑路由器的接口配置下做。
✧因为最简单的配置方式就是物理路由器上用FE/GE的vlan-tagging功能,然后在逻辑路由器的接口配置下配置逻辑接口,并指明vlan-id和IP地址就可以了。
同时因为Olive只有以太网接口,只能用这个方式来进行配置。
此处不专门对逻辑路由器的配置进行讲解,可以参考相关资源中提供的Release文档。
Olive基础操作介绍
Olive的操作模式
JUNOS的操作模式有三种模式:
✧@%操作系统模式,处于FreeBSD操作系统,可以使用常用的FreeBSD相关命令,比如ls、pwd、cd等等,通过命令cli可以进入用户模式。
✧>用户模式,经过JUNOS封装的系统,可以进行一些简单的命令配置和所有信息显示,类似于我司路由器的用户模式,使用configure命令可以进入配置模式。
✧#配置模式,在此模式下对路由器进行配置,类似于我司路由器的配置模式;当然在配置模式还可以逐级进入子配置模式,对不同的功能进行配置。
JUNOS的CLI风格
JUNOS的命令风格在业界很特别,与Alcatel的命令风格略有相似之处。
这里只作简单的介绍,具体的使用可以参考相关资源中提供的Release文档。
JUNOS采用edit、set、delete、show、runshow和commit来完成主体功能的配置。
值得注意的是,在完成了某项功能的配置之后,只有使用commit命令提交成功之后,该配置才会生效,在commit提交之后,系统会对提交的配置进行合法性检查,只有通过合法性检查才算提交成功,否则系统会给出错误信息。
合法性检查仅检查配置的合法性,并不检查配置的准确性与正确性,请注意。
基于RSVP的配置举例
RSVP功能主要从interfaces、protocols和routing-options三个方面进行配置。
Interfaces
初始时,interface视图下是没有什么配置的,但是我们可以通过(run)showinterfacesterse命令看到有em0到em3四个网口,这就是我们虚拟机里看到的四个intel千兆网卡
这样,我们需要给对应的网卡和lo0配上需要的ip地址。
完成如下的配置即可
当完成了上述配置之后再显示接口信息会如下图。
值得注意的是,进行TE的相关配置时,物理接口必须支持mpls协议族,即familympls。
同时给物理接口配置了地址之后,可能使用上面的命令看不到具体的地址信息,并且也ping不通对端接口,这是正常的,应该是模拟器的原因,这时候需要保存一下配置,重启模拟器,就正常了。
Protocols
Protocol视图下,需要编辑三个对应的子视图,rsvp子视图、mpls子视图和ospf子视图(视具体选用的igp而定)。
Rsvp子视图的配置如下:
在子视图下添加rsvp接口,即使能对应接口的rsvp功能即可,这类似于我司设备在物理接口下使能te功能和设置带宽参数。
Mpls子视图的配置如下:
在该视图下,首先也要添加mpls接口,其次在te隧道和其路径的配置都在该视图下进行,上图中的lsp和path分别对应te隧道和显示路径,其他的一些属性配置整个业界大致都是一致的,仔细找下具体的命令即可,这里主要描述一个配置框架,不对细节太过于描述。
Ospf子视图的配置如下:
在子视图下添加ospf接口,并配置ospf支持te,与我司设备配置一致。
这里需要注意的是,由于模拟器的原因,ospf不能支持组播,所以需要将ospf接口类型设置为nbma,并且显示指定ospf邻居,才能触发ospf发送单播的协议报文,建立ospf邻居,还有哪些方式可以实现同样的功能,个人没有去探究,因为在这里重点关注的是te而非ospf,望谅。
完整的配置附件
一个较完整的配置和相关lsp的显示信息
Olive上的JUNOS版本升级介绍
升级前准备工作
VMware5.5模拟器软件:
运行版本8.1R1.5的JUNOS;
NamedPipeTCPProxy软件:
提供终端控制台和模拟器之间的登陆方式;
终端控制台:
登陆模拟器,通用的终端控制台即可;
WFTPD:
提供ftpserver功能;
待升级版本:
jinstall-8.3R2.8-export-signed.tgz。
首先打开VMWare的模拟器,将其中的一块网卡和虚拟网卡关联起来,这样模拟器就可以通过该虚拟网卡和windows操作系统通信了,如下图所示,我将模拟器的网卡和虚拟网卡VMnet2关联起来:
同时配置VMnat2的ip地址如下图所示:
然后启动WFTPD软件,并设置好相关的用户帐号,并将待升级文件拷贝到用户帐号指定的目录下,如下图所示:
这样,升级前准备工作就完成了。
软件升级
启动NamedPipeTCPProxy和虚拟机,并通过终端登陆上Juniper的模拟器,详细内容可以参考前文,此处略过。
Juniper模拟器启动完毕后,通过下面的命令我们可以看到当前的JUNOS版本还是8.1R1.5。
root@R1>showversion
Hostname:
R1
Model:
olive
JUNOSBaseOSboot[8.1R1.5]
JUNOSBaseOSSoftwareSuite[8.1R1.5]
JUNOSKernelSoftwareSuite[8.1R1.5]
JUNOSPacketForwardingEngineSupport(M/TCommon)[8.1R1.5]
JUNOSPacketForwardingEngineSupport(M20/M40)[8.1R1.5]
JUNOSOnlineDocumentation[8.1R1.5]
JUNOSRoutingSoftwareSuite[8.1R1.5]
root@R1>
这时退出模拟器的cli模式,将当前目录切换到/var/tmp下,一般都习惯于将升级文件统一下载到这个目录下,这只是一个习惯,大家可以根据自己的实际情况选择存放JUNOS升级文件的目录,然后通过ftp方式访问VMnet2网卡,并下载jinstall-8.3R2.8-export-signed.tgz文件到虚拟机的操作系统上,如下所示:
root@R1>exit/*退出cli模式*/
root@R1%pwd/*显示当前目录*/
/root
root@R1%cd/var/tmp//*切换当前目录到/var/tmp/下*/
root@R1%
root@R1%ls/*显示当前目录下的文件*/
dcd.core-tarball.1.tgzdcd.core.4
dcd.core-tarball.2.tgzinstall
dcd.core-tarball.3.tgzjbundle-7.4R1.7-export.tgz
dcd.core-tarball.4.tgzjbundle-8.1R1.5-export.tgz
dcd.core.0jinstall-8.1R1.5-export-signed.tgz
dcd.core.1preinstall_boot_loader.conf
dcd.core.2sampled.pkts
dcd.core.3vi.recover
root@R1%pwd
/var/tmp
root@R1%ftp80.1.3.254/*ftp到VMnet2网卡,下载升级版本文件*/
Connectedto80.1.3.254.
220WFTPD2.0service(byTexasImperialSoftware)readyfornewuser
Name(80.1.3.254:
root):
mafm
331Givemeyourpassword,please
Password:
230Loggedinsuccessfully
RemotesystemtypeisMSDOS.
ftp>bin
200TypeisImage(Binary)
ftp>hash
Hashmarkprintingon(1024bytes/hashmark).
ftp>
ftp>
ftp>getjinstall-8.3R2.8-export-signed.tgz
local:
jinstall-8.3R2.8-export-signed.tgzremote:
jinstall-8.3R2.8-export-signez
200PORTcommandokay
150"C:
\DOWNLOADS\jinstall-8.3R2.8-export-signed.tgz"filereadytosend(94927e
################################################################################
226Transferfinishedsuccessfully.
94927919bytesreceivedin16.09seconds(5.63MB/s)
ftp>
ftp>quit
221WindowsFTPServer(WFTPD,byTexasImperialSoftware)saysgoodbye
root@R1%
root@R1%pwd
/var/tmp
root@R1%ls–l/*显示当前目录下文件的详细信息,可以看到升级文件已经下载到本地*/
total680180
-rw-------1rootwheel54307Dec52006dcd.core-tarball.1.tgz
-rw-------1rootwheel54280Dec52006dcd.core-tarball.2.tgz
-rw-------1rootwheel54246Dec52006dcd.core-tarball.3.tgz
-rw-------1rootwheel68820Aug1822:
49dcd.core-tarball.4.tgz
-rw-rw----1rootwheel1142784Dec52006dcd.core.0
-rw-rw----1rootwheel1171456Dec52006dcd.core.1
-rw-rw----1rootwheel1171456Dec52006dcd.core.2
-rw-rw----1rootwheel1171456Dec52006dcd.core.3
-rw-rw----1rootwheel1200128Aug1822:
49dcd.core.4
drwxrwxrwx2rootwheel512Dec52006install
-rw-r--r--1rootwheel66165025Dec52006jbundle-7.4R1.7-export.tgz
-rw-r--r--1rootwheel88831302Dec52006jbundle-8.1R1.5-export.tgz
-rw-r--r--1rootwheel91914211Dec52006jinstall-8.1R1.5-export-signedz
-rw-r--r--1rootwheel94927919Aug1822:
51jinstall-8.3R2.8-export-signedz
-rw-r--r--1rootwheel57Dec52006preinstall_boot_loader.conf
-rw-r-----1rootwheel12816Aug1822:
49sampled.pkts
drwxrwxrwt2rootwheel512Aug1720:
10vi.recover
root@R1%
此时进入JUNOS的cli模式,通过命令添加升级文件包,该添加过程会对整个升级文件进行一系列的检查,比如CRC校验、版本一致性对比、配置文件一致性对比等等,如下所示:
root@R1%cli/*进入JUNOS的cli模式*/
root@R1>requestsystemsoftwareadd/var/tmp/jinstall-8.3R2.8-export-signed.tgzforce
/*添加升级文件包,下面显示的内容为执行该命令后的输出信息*/
NOTICE:
Validatingconfigurationagainstjinstall-8.3R2.8-export-signed.tgz.
NOTICE:
Usethe'no-validate'optiontoskipthisifdesired.
Checkingcompatibilitywithconfiguration
Initializing...
Usingjbase-8.1R1.5
VerifiedmanifestsignedbyPackageProduction_8_1_0
Using/var/tmp/jinstall-8.3R2.8-export-signed.tgz
Verifiedjinstall-8.3R2.8-export.tgzsignedbyPackageProduction_8_3_0
Using/mfs/validate/tmp/jinstall-signed/jinstall-8.3R2.8-export.tgz
Using/mfs/validate/tmp/jinstall/jbundle-8.3R2.8-export.tgz
Checkingjbundlerequirementson/
Using/mfs/validate/tmp/jbundle/jbase-8.3R2.8.tgz
VerifiedmanifestsignedbyPackageProduction_8_3_0
Using/mfs/validate/tmp/jbundle/jkernel-8.3R2.8.tgz
VerifiedmanifestsignedbyPackageProduction_8_3_0
Using/mfs/validate/tmp/jbundle/jpfe-8.3R2.8.tgz
VerifiedSHA1checksumofjpfe-M10-8.3R2.8.tgz
VerifiedSHA1checksumofjpfe-M120-8.3R2.8.tgz
VerifiedSHA1checksumofjpfe-M160-8.3R2.8.tgz
VerifiedSHA1checksumofjpfe-M320-8.3R2.8.tgz
VerifiedSHA1checksumofjpfe-M40-8.3R2.8.tgz
VerifiedSHA1checksumofjpfe-M7i-8.3R2.8.tgz
VerifiedSHA1checksumofjpfe-T-8.3R2.8.tgz
VerifiedSHA1checksumofjpfe-X960-8.3R2.8.tgz
VerifiedSHA1checksumofjpfe-common-8.3R2.8.tgz
WARNING:
hw.pro