一、安装qemu manager 6.0
二、安装openvpn,低版本的openvpn在安装虚拟网卡TAP时,在vista或win7上会报驱动无法通过认证,不予以安装,此时需下载openvpn-2.1_rc15-install版本以上,即可顺利安装网卡驱动。
1、安装完成后看到网络连接内新的网卡,重命名为英文TAP0。TAP网卡负责和虚拟机通讯,虚拟机内的网卡和TAP看起来在一个交换机下。
2、将TAP0网卡设置为和本地网卡不同网段。192.168.10.31(本地网卡为192.168.0.31),掩码都是16位,网关都是192.168.0.1;(此时虚拟机如装好,可以和TAP互通,但是不通其他网络)
3、将本地连接设置为允许共享上网。此时虚拟机只要把网关设为TAP地址,即可和其他网络通讯。相当于通过虚拟机——TAP——本地连接(ICS)——外部网络。
三、qemu manager设置如下:
1、新建虚拟机,20G硬盘,linux系统。
2、网卡参数调整为557b,559e会崩溃,这是这个版本的qemu的问题;e1000没试过,据说junos8以上支持了,在vmware里可以装成功,qemu这次没试。
3、VLAN类型设置为TAP,ID填网络连接里的名称(如TAP0)
4、光盘设置为4.8-RELEASE-i386-mini.iso
5、串口设置为TCP接口,127.0.0.1,端口1007,监听不等待。
四、启动安装系统。
开机,选择第一个选项跳过——stand安装——A自动分配Q完成——stand引导——分区:按C,输入8000M,FS,挂载点/;如此完成:
ad0s1a / 8000M
ad0s1b SWAP 1000M
ad0s1e /tmp 2000M
ad0s1f /var 8800M
Q退出——mini安装——CD/DVD安装——一路回车,设置网卡,192.168.10.37,掩码16位,网关192.168.10.31(TAP地址)——一路回车,中途设置下时区和鼠标,其他全部默认。
完成后测试ping,已经可以连接任何网络。
五、安装junos
在Freebsd 上登陆FTP服务器输入用户名和密码,模式改为binary的二进制模式,要不在junos安装时出错。
切换到Lcd /var/tmp里面,使用get jinstall-9.6 上传到/var/tmp里,bye(退出)
查看junos文件ls /var/tmp
rm /dev/wd0c 删除/dev/wd0c目录
ln -s /dev/ad0c /dev/wd0c
mkdir /var/etc 在/var下创建一个etc目录
touch /var/etc/master.passwd
touch /var/etc/inetd.conf
touch /var/etc/group
进入/var/tmp目录下
cd /var/tmp
mkdir jinst-signed
cd jinst-signed
tar zxfv ../jinstall-9.6R1.13-export-signed.tgz
mkdir jinst
cd jinst
tar zxfv ../jinstall-9.6R1.13-export.tgz
mkdir pkgtools
cd pkgtools
tar zxfv ../pkgtools.tgz
cd bin
cp /usr/bin/true ./checkpic 把包中的pkgtools.tgz中的checkpic用/usr/bin/true替換掉
cd ..
tar zcfv ../pkgtools.tgz *
cd ..
rm -rf pkgtools
tar zcfv /var/tmp/jinstall-9.6R1.13-export -olive.tgz * 这里我把打好包的olive做了个备份,省的以后重装麻烦了
打包完成后,在/var/tmp下安装 pkg_add -f jinstall-9.6R1.13-export -olive.tgz;
安装成功后先关闭机器#shutdown -h now
六、等待junos自动安装
1、telnet 127.0.0.1 1007;等待JUNOS安装自动完成,时间有点长。
2、安装完成后,telnet和console出现提示符,均可以操作。输入cli进入junos测试。
3、完成后shutdown -h now;耐心等待关闭,此时console无响应,但是telnet里可以看见仍在同步磁盘,不要急于关机。
标签:一个短而定长且物理连续的标识符,用于标识一组共享相同目的地的网络,一般仅在本地有意义。
标签栈:一个有序的附加在数据包头的标签集,栈中的所有标签都相互独立。
标签交换:基本的转发操作,包括查找入标签,确定出标签、封装方式、端口以及其他数据处理信息。
标签交换跳(LSH,Label-Switched Hop):位于两个MPLS节点间的路由跳,在这些跳上使用标签进行转发。
标签交换路径(LSP):特定FEC中的数据包在分层结构中同1层次所经历的一个或多个LSR路径。
标签经换路由器(LSR):能够转发带有标签的数据包的MPLS节点。
MPLS域:一个执行MPLS路由和转发操作的连续节点集,通常位于同一个路由或管理域。
MPLS边缘节点:与MPLS域外的邻居节点进行互联的MPLS节点。
MPLS出节点:负责处理离开MPLS域的流量的节点。
MPLS入节点:负责处理进入MPLS域的流量的节点。
MPLS标签:携带在数据包头中表示数据包FEC的标签。
MPLS节点:运行MPLS的节点。MPLS节点能够理解MPLS控制协议,运行一种或多种3层路由协议,能够根据标签转发数据包。作为可选项,MPLS节点还可以转发纯3层的数据包。
MPLS的基本路由选择原理与其他路由协议完全一样。
FEC:Forwarding Equivalent Class
FEC是一组按相同方式、经相同路径、每跳转发处理行为均一致的IP包。
所有被分配到同一个FEC的数据包在转发决定上无任何区别,同一个FEC中的所有数据包(而不是某个数据包)都必须遵循与该FEC相关联的路径。
在MPLS中,数据包的检查以及FEC的分配都只发生一次,均由MPLS入节点来完成。FEC被编码为一个短而定长的值,称为标签,即数据包在被转发前就打上了标签。
从交换进程的角度看,MPLS网络中只有边缘LSR才进行路由表的查寻操作。
Cisco IOS软件中用于MPLS交换的底层机制由CEF来提供。
路由器交换机制:
进程交换(Process Switching):独立处理每个数据包,在转发数据包之前需要查找整个路由表,这是最慢、也是最耗费资源的一种包转发方法。
高速缓存驱动型交换(Cache-driven Switching):也叫快速交换(FastSwitching),使用存储在内存中的包目的地来转发数据包。对特定的目的地来说,第一个数据包仍采取进程交换方式,但处理完之后会在路由表内存中以快速交换缓存的方式增加一个表项,这样一来,以后碰到去往相同目的地的数据包时就无需再查找路由表了。也称为“一次路由,多次交换“。
拓扑驱动型交换(Topology-driven Switching):也叫CEF交换,通过预定的FIB来实现高速的3层交换功能。
快速交换缓存中的条目有效时间为60秒。
CEF是一种使用FIB的拓扑驱动型交换技术,FIB是IP路由表的一种镜像映像,当拓扑结构发生变化时,FIB就会随着IP路由表的更新而更新。CEF FIB的更新不是数据包触发更新,而是变化触发更新,随着IP路由表的收敛,CEFFIB也随之更新。更新机制依赖于路由协议用以更新维护信息所用的算法(无论路由协议是链路状态协议还是距离矢量协议),但又与其相分离。
与快速交换缓存机制不同,FIB中无出接口以及相应的2层封装信息。为此,CEF维护了一张邻接表,其中,任何无法通过单条2层连接进行联系的节点都被称为邻接(adjacent)节点。邻接关系建立在2层之上,并被链接到FIB中的条目,
因而无需ARP请求操作。一旦发现了邻接关系,那么邻接表就会与相应邻接设备的相关信息一起被更新。
MPLS将传统的路由选择机制划分为两部分:控制平面和数据平面。
控制平面负责处理复杂的路由选择机制,包括OSPF、EIGRP、IS-IS、BGP和LDP等。
数据平面的唯一功能是根据路由协议或LDP提供的信息来转发流量,会创建一个存储标签信息的LFIB(LabelForwarding InformationBase),以便为转发引擎将数据包转发到目的地提供信息。创建LFIB的信息主要来自于LDP、BGP或RSVP(也可以是它们的组合)。
RSVP:Resource Reservation Protocol 资源预留协议
SLA:Service Level Agreement 服务等级协定
CE:Custom Edge
PE:Provider Edge
CPE:Custom Premise Equipment
通常情况下,CE路由器都会配置一条到达PE路由器的帧中继本地环路,帧中继连接在PE处被终结,CE与PE之间为3层交换,帧中继在这里仅起2层传输的作用。入口PE与出口PE之间的整个路径被称为LSP。
标签的结构:
20 bit 标签
3 bit 实验CoS
1 bit 栈底指示符
8 bit TTL
MPLS标签示意:

1.jpg (9.28 KB)
2009-8-5 13:23
MPLS标签被插在2层和3层帧头部之间。
标签字段取值范围0~1048575,0~15保留。
栈底指示符S用在需要为某个数据包使用多个标签时的情况,取值0或1,1代表该标签为最后一个标签。如果为0说明前面还有其他标签。
标签栈机制有点类似GRE隧道在承载IP流时在IP中进行的IP封装。
标签常见的应用有:MPLS VPN,MPLS TE,MPLS VPN with MPLS TE。
MPLS VPN——利用MP-BGP(Multiprotocol BGP)来传递附加在数据包上用于标识特定VPN的第二个标签的相关标签信息。第二个标签与第一个MPLS标签被同时打在数据包上。
MPLS TE——MPLS Traffic Engineering使用RSVP来建立LSP隧道,由RSVP负责传递用来标识LSP隧道的标签的相关标签信息。这类标签位于标签栈中原始MPLS标签的顶部。
MPLS VPN with MPLS TE——需要在帧上附加3个或多个标签,包括原始MPLS标签、VPN标签和LSP标签。
标签栈示意:

2.jpg (10.49 KB)
2009-8-5 13:23
帧头部中的PID(Protocol Identifier)用来标识所用的3层协议,MPLS会改变PID。如由0×0800(IP)变为0×8847(MPLS-IP)。
标签的处理过程总是基于栈顶标签,可以认为标签栈具有一定的深度。
分两种MPLS模式:frame mode , cell mode(ATM)
Frame Mode MPLS:帧模式MPLS表示的是在以太网封装或其他基于帧封装的接口上使用的MPLS,但不包括ATM接口。由于ATM缺乏灵活的成帧结构,因而ATM使用的是信元模式MPLS,并有一些特殊的要求。
当PE路由器收到数据包后,它需要做出转发决定。如果出接口是启用了MPLS的接口,那么路由器就必须给该数据包打上标签,并以相应的2层成帧结构封装该数据包。同时,路由器还要更改帧头中的EtherType字段,以指定正确的3层协议,之后,路由器就将该数据包转发到路由表中规定的下一跳地址。
如果接收到数据包的路由器是位于网络核心的LSR,那么其工作就是简单地处理数据包的入站和出栈标签。非PE路由器无需处理任何路由选择问题,这是因为FIB已经建立,而且目的地已经存在于相应的FIB中了。
LSR必须能同时工作于控制平面和数据平面,虽然每台LSR都保持着一个完整的收敛后的路由表,但它们并不参与常规的路由选择操作。LSR维护路由表的作用仅仅是为了确保FIB随时保持在最新状态,从而确保能正确地分配标签,并正确地处理数据包。
标签的分发工作由标签分发协议(如LDP)来完成,LDP在数据平面内发布LFIB,以维护标签交换信息。
边缘LSR不仅要转发数据包,而且还要增加或移除标签,但这不是说在任何情况下PE路由器都需要这么做,边缘LSR在确定转发行为时可能存在多种情况:
1.基于目的IP地址来转发所接收到的标准IP包,此时出站接口未启用MPLS;
2.基于目的IP地址来转发所接收到的带有MPLS标签的数据包,此时出站接口启用了MPLS;
3.完全基于标签来转发所接收到的数据包,此时需要检查入站标签,并根据LFIB来交换标签,从而将数据包正确地转发到下一跳MPLS节点;
4.虽然基于标签来转发所接收到的数据包,但由于LFIB显示该边缘LSR为出站MPLS边缘设备,因而需要弹出标签,并进行传统的路由选择操作。
如果接收到的数据包被丢弃,那么就表示无对应的LFIB表项,即使路由表中存在该目的地。与此类似,如果路由表中没有所接收到的数据包的路由表项,那么即使LFIB中存在该目的地的表项,该数据包仍然将被丢弃。
LIB、LFIB和FIB,它们既相互关联,又相互独立。
MPLS需要依赖底层的路由协议来收集构建LFIB所需的信息,从本质上来说,LFIB是一个标签路由表。虽然标签是通过分发协议来共享的,但标签信息却是基于IP路由表信息来建立的。如果IP网出现路由收敛问题或其他不稳定情况,MPLS网络也将受到相似的影响。
一旦构建完路由表且路由收敛过程也完成,那么每台LSR都要为路由表中的每个目的地分配标签,这些标签都只在本地有意义,并被存储在LIB中。接着,LSR会向其邻接对等体宣告其已分配的标签情况,之后,其邻接对等体将下一跳标签信息与网络目的地关联在一起,这些信息都存储在FIB中。每台LSR都根据接收到的标签信息构建自己的LIB、LFIB和FIB。
LIB是控制平面的一部分,为LDP进行标签分发提供相应的数据库。在数据库中,IP前缀与其从下游对等体学到的本地标签和下一跳标签关联在一起,LIB就负责维护IP前缀与已分配的标签和正在分配的标签之间的映射关系。
LFIB是数据平面的一部分,为转发带标签的数据包提供相应的数据库。IGP被用来在整个网络中的所有MPLS路由器之间传播路由表信息,路由器基于IGP路由更新中所共享的信息,就可以确定去往每个网络目的地度量值最佳的路径。
FIB也是数据平面的一部分,为转发不带标签的IP包提供相应的数据库。从本质上来说,FIB与IP路由表相同,如果到达下一跳目的地需要经过一个不支持MPLS的输出接口,那么就需要用到FIB信息,而忽略了LIB和LFIB信息。
标签交换和传统的路由选择非常相似,两者最大的区别在于标签交换和标签分发无需分析网络层信息。
标签分发的基本方式有两种:下游自主标签分发方式,下游按需标签分发方式。
入站数据包的转发方式多种多样,包括有标签转发方式和无标签转发方式。
有标签的输入数据包通过LFIB进行转发,并且以有标签数据包的形式发送出去。无论是否实现了PHP机制,远端边缘LSR都会将标签弹出。边缘LSR可以为无标签数据包打上标签并转发出去,但是当网络处于收敛期或导致目的地信息不完整的状态下会出现例外,此时将采取临时包传播方式。
临时包传播:当数据包到达特定LSR时,如果该LSR知道所需FEC相关联的标签可以将数据包转发出去时,就会利用存储在FIB中的信息转发该数据包,该数据包也就理所当然地被转发到FIB所列出的下一跳路由器。收到该数据包的下游路由器会进行查找以确认是否有标签与所需的FEC相关联。如果有,该接收数据包的下游路由器就会给数据包更换标签并按照标签规定的方式转发该数据包;如果没有,将重复该过程。有理由相信(虽然不太可能)网络中沿途的路由器可能都采取CEF交换方式。该功能的起因是允许网络处于收敛期或其他导致MPLS路由器中无特定FEC的标签时,可以继续转发数据包。
PHP是一种相对简单的提高效率的功能特性。对出口边缘LSR来说,需要在入站带标签的数据包上执行查找操作,如果目的网络是一个直连网络(即此路由器为最后一跳),那么就没有为该目的地定义标签,此时就需要弹出标签,并发起FIB表查找过程,因而这种两次查找操作的效率较低。PHP机制允许边缘LSR前的那个LSR(倒数第二跳)就将标签弹出,因而称为倒数第二跳弹出(Penultimate HopPopping)。
TDP: 1~15 label are reversed. label 3 is a null/pop label.
LDP: 1~9 label are reversed. label 1 is a null/pop label.
当下游路由器意识到它自己是LSP中的倒数第二个节点时,就可以向上游路由器分发标签值3。当上游路由器看见标签值为3时就会移除标签并按照正常方式转发数据包,上游路由器中的LIB将会视为imp-null(不会显示为3)。
TDP:Tag Distribution Protocol
LDP
abel Distribution Protocol
接口上启用MPLS的三个步骤:
1.配置CEF——启用MPLS的前提条件是首先启用CEF。
2.在帧模式接口上配置MPLS——MPLS骨干接口必须启用MPLS。
3.根据需要配置MTU大小——为了防止帧的MTU超过接口的允许大小,应手工调整MPLS接口的MTU值。
CEF是一种高级的3层交换技术,优化了大规模、动态流量模型网络的性能和稳定性。与进程交换或快速交换相比,CEF交换对CPU的占用要少得多。CEF可以运行于集中模式或分布模式。FIB和邻接表为CEF提供了运行库,CEF利用FIB来确定IP目的地的交换方式,邻接表提供了一个2层信息库,包括2层下一跳信息。CEF利用邻接表来确定输出流量的2层信息,从而无需运行ARP或其他2层/3层解析进程。
常用命令:
为了在路由器上启用MPLS,需要在全局模式下使用命令mpls ip,之后再在运行MPLS的接口上重复该命令。
SW(config)#mpls ip
SW(config-if)#mpls ip
SW(config-if)#tag-switching ip (老式命令,使用之后在show run中会显示为mpls ip)
SW(config-if)#mpls label protocol ?
both Use LDP or TDP (Adapt to peer on multiaccess interface)
ldp Use LDP (default)
tdp Use TDP
配置MPLS必须要启用CEF。
SW(config)#ip cef (全局启用CEF)
SW(config)#ip cef distributed (启用dCEF)
SW(config-if)#ip route-cache cef (在特定接口上启用CEF)
SW#show ip cef
SW#show ip cef detail
SW#clear adjanceny
SW#clear ip cef inconsistency
SW#clear cef interface
SW#debug ip cef
SW#debug ip cef events
CEF配置中还提供了以下可选功能:
CEF负载均衡——可以实现基于目的地或基于数据包的负载均衡。
CEF网络计费——可以收集各种流量统计信息。
CEF分布式隧道交换——该功能随CEF自动启动且不可配置,可以实现GRE等隧道的交换功能。
建议在非MPLS接口上应用访问控制列表,以阻塞TDP或/和LDP流量。TDP使用TCP端口711,LDP使用UDP端口646,这样做的目的是加强说明该接口不属于MPLS架构范围。
当数据包仅有一个标签,那么MTU为1504字节就可以了。当部署MPLS-TE或MPLS-VPN时,就需要再增大MTU大小,在同时配置MPLS-TE和MPLS-VPN的情况下(MPLS-VPN with MPLS-TE),MTU应该为1512字节。
配置MTU大小:
SW(config-if)#mpls mtu ?
<64-65535> MTU (bytes)
SW#show mpls ldp neighbor
SW#debug mpls ldp bindings
1.使用J-web来配置出厂化配置的设备
i.用RJ45连接到fe-0/0/0 or ge-0/0/0 。使用支持128bit位的浏览器。
ii.配置客户端IP地址,(可以使用Dhcp Client或者是static ip address form of 192.168.1.x/24.where x is any value from 2 to 254 .
iii.PING 192.168.1.1 看能否PING通。然后用浏览器打开http://192.168.1.1
iiii.系统将自动以root身份登录进J-web的configuration>quick configuration> setup wizard
快速配置页面功能总汇:
1.访问安全:(Secure Access)
2.端口(interfaces)
3.用户(Users)
4.SNMP(SNMP)
5.Routing and Protocols
6.class of service:
7.Firewall
8.DHCP
9.IPSec Tunnels:
10.RPM
11.Firewall Filters:
在Junos的show 中有一个非常方便的使用方法
[edit]
root@Junos# show interfaces em0
link-mode full-duplex;
unit 0 {
family inet {
address 192.168.1.254/24;
address 10.0.0.5/24;
address 1.1.1.2/24;
}
}
[edit]
root@Junos# show interfaces em0 | display set
set interfaces em0 link-mode full-duplex
set interfaces em0 unit 0 family inet address 192.168.1.254/24
set interfaces em0 unit 0 family inet address 10.0.0.5/24
set interfaces em0 unit 0 family inet address 1.1.1.2/24
在配置模式下,通过show查看某个节点的配置,可以在后面加上PIPE选项(display set)即显示为配置命令。
物理接口逻辑单元:
t1-4/0/0.43
逻辑接口在Junos中是必须的。
多播协议地址支持一个逻辑单元。
系统监控:
Monitor > System (CLI: show system …)
System identiffication:
System Time:显示系统启动时间,上次修改时间,上次路由协议高动时间等
Users:显示用户登录相关信息。
Memory Usage:
CPU Usage:
System Storage:
Monitoring the Chassis (系统底层监控)
J-web:Monitor > Chassis
CLI:show chassis
J-web: Monitor > Interfaces
CLI: show interfaces terse
MOnltoring an interface:
CLI:root@Junos> monitor interface em0
自动安装(what is Autoinstallation?)
这特性只有J-serial才支持。
自动安装有两个阶段:
1)、获取地址(DHCP、RARP、SLARP)
2)、下载配置文件 (ftp/http/tftp)
关于自动安装的第一步:获取地方的一些记录:
1、LAN中使用DHCP和RARP
2. 在点到点的WAN中Router使用串行接口的SLARP(Serial Line address Resolution Protocol Over Cisco-HDLC encapsulation for address acquisition)
自动安装中的配置文件名获取顺序:
1.如果有在edit system autoinstallation中配置,则获取此文件
2.如果没有配置,且如果DHCP有附加文件名,则获取此文件
3.获取文件为network.conf的配置文件
4.如果有在edit system static-host-mapping中指定,获取hostname.conf
5.获取hostname.conf,此hostname来自与DNS。
6.获取hostname.conf,如果在edit system host-name中指定的话
7.获取router.conf
q
使用edit ….进入配置模式
使用edit system …等路径进入需要配置的地方。
使用set 配置参数
可使用top、up、up n 、等命令Moveing
完全配置后使用commit保存配置。
Juniper最多可以保存50次以往配置。
ID为0的为当前活动配置
0-3存储在/config/目录下
4-49的存储在/var/db/config目录下面
可以使用configure exclusive进入排它配置模式,可以使用configure private进入只显示自己数据的模式.
root@Junos% cli
root@Junos> configure ?
Possible completions:
<[Enter]> Execute this command
exclusive Obtain exclusive lock (other users cannot make changes)
private Work in private database (other’s changes do not show)
配置文件差异对比:
可使用show | compare来对比当前修改过的配置与活动配置的差异。
可样可以使用show | compare rollback n 来对比活动配置与n号配置的差异。
root@Junos# show | compare rollback 5
[edit system]
+ time-zone asia/chongqing;
[edit system login user yangybcy authentication]
- encrypted-password "$1$BbQKmMvk$4fNVVgGYHUog3Sn/c8rb9."; ## SECRET-DATA
+ encrypted-password "$1$/lVD51tY$81XjgiyJTvaY.W04hQ.uP1"; ## SECRET-DATA
[edit system services]
- ssh {
- root-login allow;
- protocol-version v2;
- }
[edit interfaces em0 unit 0 family inet]
address 10.0.0.5/24 { … }
+ address 1.1.1.2/24;
[edit]
在这儿可以看到-表示的是被修改过的配置。+号表示新增的配置。
还可以在Montor状态下使用file compare来对比文件。
移除某条配置:
可使用delete来删除某条配置。
[edit system services ssh]
root@Junos# set root-login allow
[edit system services ssh]
root@Junos#
[edit system services ssh]
root@Junos# show
root-login allow;
[edit system services ssh]
root@Junos# delete root-login allow
[edit system services ssh]
root@Junos# show
[edit system services ssh]
root@Junos#
配置保存:
对配置操作后,一定要使用commit保存配置,
可使用commit check来检查当前配置的正确性、
可使用commit confirmed 来验证修改后的配置是否可以正常运行。执行此命令后系统会自动在10分钟后返回当前活动配置。
root@Junos# commit confirmed
commit confirmed will be automatically rolled back in 10 minutes unless confirmed
commit complete
# commit confirmed will be rolled back in 10 minutes
[edit system services ssh]
root@Junos#
可使用commit at time (21:00:00)来指定配置在什么时间保存
可使用commit comment “TEXT” 来为此次保存的配置添加说明
可使用commit and-quit来执行保存后退出。
配置回退:
可使用Rollback来回退配置,最多可以回退50个配置。
rollback n
SAVE命令。
可以把配置到其它地方。可以是LOCAL、FTP、TFTP等地方。
root@Junos# save ?
Possible completions:
<filename> Filename (URL, local, remote, or floppy)
terminal Use login terminal
[edit system services ssh]
root@Junos# save
Load命令:
root@Junos# load ?
Possible completions:
factory-default Override existing configuration with factory default
merge Merge contents with existing configuration
patch Load patch file into configuration
replace Replace configuration data
set Execute set of commands on existing configuration
update Update existing configuration
[edit system services ssh]
RUN命令:
Movie Level:
[edit]
root@Junos# edit system login
[edit system login]
root@Junos# top
[edit]
root@Junos#
[edit]
root@Junos# edit protocols ospf area 10
[edit protocols ospf area 0.0.0.10]
root@Junos# up 2
[edit protocols]
root@Junos#
Moving Between Level
Summary of moving between levels:
edit function like a CD command
up movies up one level
up n movies up n levels
top moviesto the top of the hierarchy
exit moves to the previous higher level in the hierarchy or exits configuration mode if at the top level of the hierarchy
root@Junos# top edit protocols ospf area 10
[edit protocols ospf area 0.0.0.10]
root@Junos# top
[edit]
root@Junos# top edit protocols ospf area 10
[edit protocols ospf area 0.0.0.10]
root@Junos# up
[edit protocols ospf]
root@Junos# up 2
[edit]
root@Junos# exit
The configuration has been changed but not committed
Exit with uncommitted changes? [yes,no] (yes) yes
root@Junos> show configuration | compare rollback 21
[edit system]
+ time-zone asia/chongqing;
[edit system login class read]
+ permissions view;
- allow-commands show;
+ allow-commands configure;
[edit system login user yangybcy authentication]
- encrypted-password "$1$BbQKmMvk$4fNVVgGYHUog3Sn/c8rb9."; ## SECRET-DATA
+ encrypted-password "$1$/lVD51tY$81XjgiyJTvaY.W04hQ.uP1"; ## SECRET-DATA
[edit interfaces em0 unit 0 family inet]
address 10.0.0.5/24 { … }
+ address 1.1.1.2/24;
回退配置文件
Backing out of Configuration Changes
rollback n
配置文件回退后,一定要执行commit保存。
配置保存:
commit
save filename
Save tftp{ftp}://hostname/filename
CLI Modes and Feature Overview(CLI模式和特点)
CLI Operational Mode (CLI操作模式)
Use the CLI operational mode to monitor and troubleshoot the operational of the router
(使用此模式可监控和排错)
CLI Configuration Mode(CLI配置模式)
Use the CLI Configuration mode when
(当确定要修改路由器配置时,使用此模式)
CLI Modes
Operational mode:(操作模式)
Monitor and troubleshoot lthe software、network、connectivity and router hardware
configuration mode:
configure the router,including interfaces,general routing information, routing protocols,user acces,and system hardware properties.
Logging in:
当普通用户登录系统是这种效果:
当你从本地使用root登录。是这种情况:
Junos (ttyd0)
login: root
Password:
— JUNOS 8.5R1.14 built 2007-12-08 07:38:33 UTC
root@Junos%
root@Junos% cli
当root用户成功登录后, 会首先进入 Unix的sheel命令提示符,需输入cli 以进入CLI状态。
CLI操作模式:
root@Junos> show ospf neighbor logical-router r1
Address Interface State ID Pri Dead
10.0.4.6 em1.102 Full 10.0.6.2 128 38
10.0.4.13 em1.103 Full 10.0.6.3 128 37
root@Junos> configure
Entering configuration mode
[edit]
root@Junos# run show ospf neighbor logical-router r1
Address Interface State ID Pri Dead
10.0.4.6 em1.102 Full 10.0.6.2 128 31
10.0.4.13 em1.103 Full 10.0.6.3 128 32
[edit]
root@Junos#
CLI的快捷键:与VT100的一样。
JunOS的Command and Variable completion
Junos命令的自动补全与命令提示
root@Junos> sh<space> i
^
‘i’ is ambiguous.
Possible completions:
igmp Show Internet Group Management Protocol information
ike Show Internet Key Exchange information
ilmi Show interim local management interface information
interfaces Show interface information
ipsec Show IP Security information
ipv6 Show IP version 6 information
isis Show Intermediate System-to-Intermediate System information
root@Junos> show i
<space>表示space按键!
同样也可以使用tab按键来补全命令。
命令提示! 输入 ?
在Junos中有一个命令非常实用。 它就是Help
root@Junos> help topic system user
[code]
Configuring User Accounts User accounts provide one way for users to access the router. (Users can access the router without accounts if you configured RADIUS or TACACS+ servers, as described in Configuring User Authentication.) For each account, you define the login name for the user and, optionally, information that identifies the user. After you have created an account, the software creates a home directory for the user. To create user accounts, include the user statement at the [edit system login] hierarchy level: [edit system login] user username { full-name complete-name; uid uid-value; class class-name; authentication { (encrypted-password "password" | plain-text-password); ssh-rsa "public-key"; ssh-dsa "public-key"; } } For each user account, you can define the following: * Username--(Optional) Name that identifies the user. It must be unique ---(more)--- [/code]
Help reference(参考)
root@Junos> help reference system user-login user (Access) Syntax user username { full-name complete-name; uid uid-value; class class-name; authentication { (encrypted-password "password" | plain-text-password); ssh-rsa "public-key"; ssh-dsa "public-key"; } } Hierarchy Level [edit system login] Release Information Statement introduced before JUNOS Release 7.4. Description Configure access permission for individual users. Options The remaining statements are explained separately. Usage Guidelines See "Configuring User Access". Required Privilege Level admin--To view this statement in the configuration. admin-control--To add this statement to the configuration. class
今天看到J-web这一章,看到可以通过J-web中的Diagnose—>Packet Capture来decode包到Web上输出! 所以想在CLI上试试实现此功能的命令为什么!
我试过了decode,debug等一些命令都不行。
突然我想到Junos中有对命令功能分类的习惯。decode数据包应该是属于监控类命令中的,所以试试在Monitor 后打?号,发现有个traffic 哈哈。正是此命令。
root@Junos> monitor traffic count 5
verbose output suppressed, use <detail> or <extensive> for full protocol decode
Address resolution is ON. Use <no-resolve> to avoid any reverse lookup delay.
Address resolution timeout is 4s.
Listening on em0, capture size 96 bytes
Reverse lookup for 1.1.1.2 failed (check DNS reachability).
Other reverse lookup failures will not be reported.
Use <no-resolve> to avoid reverse lookups on IP addresses.
22:37:36.476065 In IP 1.1.1.1.1927 > 1.1.1.2.http: S 3115715898:3115715898(0) win 8192 <mss 1460,nop,wscale 0,nop,nop,timestamp 0 0,[|tcp]>
22:37:36.477092 Out IP 1.1.1.2.http > 1.1.1.1.1927: S 4292642396:4292642396(0) ack 3115715899 win 65535 <mss 1460,nop,wscale 1,nop,nop,timestamp 880588 0,[|tcp]>
22:37:36.477391 In IP 1.1.1.1.1927 > 1.1.1.2.http: . ack 1 win 8192 <nop,nop,timestamp 126625 880588>
22:37:36.478045 In IP 1.1.1.1.1927 > 1.1.1.2.http: P 1:1084(1083) ack 1 win 8192 <nop,nop,timestamp 126625 880588>
22:37:36.577526 Out IP 1.1.1.2.http > 1.1.1.1.1927: . ack 1084 win 33304 <nop,nop,timestamp 880689 126625>
如果不加count 5,它会一直traffic下去! 真够郁闷的
monitor traffic print-hex count 1 (还可以指定monitor traffic到的数据包以何种格式显示)
22:42:47.264304 In IP 1.1.1.1 > 1.1.1.2: ICMP echo request, id 1024, seq 512, length 40
000c 29ab 3359 0200 4c4f 4f50 0800 4500
003c 34b0 0000 4001 420d 0101 0101 0101
0102 0800 475c 0400 0200 6162 6364 6566
6768 696a 6b6c 6d6e 6f70 7172 7374 7576
7761 6263 6465 6667 6869
user –> class –Permissions –> deny-command(deny-configuration) –> allow-command (allow-configuration ) –>authorized or denied
Permlssions
access:Allows viewing of network access configuration;
……
等等
Authorization Example
[edit system login]
root@Junos# show
class read {
permissions view;
}
}
user user {
uid 2002;
class read;
authentication {
encrypted-password "$1$qWjRAxao$jD/0DVK4dqevvAz4ZNlwt1"; ## SECRET-DATA
}
}
当user为Read的class时。通过该 用户登录的终端为以下:
user@Junos> ?
Possible completions:
file Perform file operations
help Provide help information
op Invoke an operation script
quit Exit the management session
request Make system-level requests
set Set CLI properties, date/time, craft
show Show system information
start Start shell
test Perform diagnostic debugging
user@Junos>
这儿有show 是因为有一个Permissions view;
当在Class read中使用set class read allow-command configure //允许执行configure后的命令结构如下 :
user@Junos> ?
Possible completions:
configure Manipulate software configuration inf
file Perform file operations
help Provide help information
op Invoke an operation script
quit Exit the management session
request Make system-level requests
set Set CLI properties, date/time, craft
show Show system information
start Start shell
test Perform diagnostic debugging
user@Junos>
企业级路由器:J-series、M-series
ISP级路由器:M-series、MX-series、T-series,E-series
Juniper认证分类:
JNCIA JNCIS
|
|
JNCIP
|
JNCIE
Junpier Operating Juniper Networks Routers In the Enterprlse
Chapter 2: Juniper Networks Enterprlse Routers
Juniper企业级路由器特点:
J-series:
1.运行统一的并经过工业级验证的JUNOS Software
2.基本软件的转发(Software-based control and forwarding)<M和T系列不是基于软件转发的>
3.简单的终端用户界面(web/GUI/可恢复配置/自动安装)
JUNOS Software
1.健壮、模块化的系统、可升级性(Robust,Modular,and Scalable)
2.分离的控制和转发平台。最大限度的保证了可靠性和稳定性(Separates forwarding and control P;anes for maximum stability and reliability)
3.单一的软件系统应用于J、M和T系列平台。
M系列:
1.M系列平台的路由引擎是基本IA32的微处理系统
2.可使用闪存系统和硬件存储系统。
3.支持多样转发平台 (PICs、FPCs、FEBs)。都同样是基于ASICs平台的。
4.物理接口以PICs为基础。
J系列:
1.同样路由引擎是基于IA32的微处理器。
2.PIMs include individual network processors to provide PCI-based WAN/LAN interfaces
3.每个接口有单独的处理器支持。
4.标准的Flash闪存系统。
Architecture and Packet flow
PFE == Packer Forwarding Engine
RE == Route Engine
Routing Table and Forwarding Table Interaction(路由表和转发表相互配合工作)