
简介面向JNCIE认证备考者与Juniper网络工程师的实验命令速查文档系统整理JNCIE-M必考的MPLS与TE实验命令覆盖LDP/RSVP两种信令协议建立LSP的完整过程并点明MPLS对IGP选路与防环的依赖。内容按JUNOS CLI操作路径展开从接口开启family mpls、启用MPLS与LDP/RSVP到配置keepalive-interval、traffic-statistics、graceful-restart、RSVP认证及label-switched-path带宽参数再到show mpls interface、show ldp neighbor、show rsvp session、show route table inet.3/mpls.0等验证命令同时包含traceoptions排错、ERO严格/松散路径约束、IGP metric联动等示例。文档还点出LDP标签分发与RSVP资源预留的差异以及LSP在inet.3、mpls.0路由表中的呈现方式和IGP metric对选路的影响帮助理解标签转发、防环与流量工程同时涉及LDP扩展邻居发现、RSVP接口认证、主路径与松散跳等高级配置便于针对疑难场景快速定位。全包仅1个docx文件大小285KB模块化结构便于按主题定位。目前已有179人学习可帮助JNCIE考生快速对照实验环境验证配置也可作为日常维护的快速参考。1. JNCIE实验命令不是背题库而是把路由器当乐器JNCIE实验命令这六个字放在收藏夹里是一份资料放进实验台就是一套方法论。很多备考者习惯把命令按OSPF、BGP、STP分类死记可真到考场上面对一台没有预配置的设备你会发现记忆断层因为你不知道这条命令为什么出现在这里也不清楚它和另一条命令之间的依赖关系。JNCIE是Juniper认证体系里唯一需要动手实验的高级认证考试不考选择题只给你需求和拓扑让你在限定时间内用Junos把协议调通、把流量引到正确路径上。下面这份实验笔记围绕JNCIE实验里最常用、也最容易出问题的那批命令展开适合已经拿到JNCIP、准备冲击JNCIE的工程师也适合想通过实验系统学Junos的网工。我会从环境搭建讲到排错技巧所有命令都按我自己备考时的习惯整理过不是官方文档的复读。2. 搭建JNCIE实验环境vMX与基础配置2.1 为什么选vMX而不是物理设备做JNCIE实验第一个选择是设备形态。有条件的单位会买两台EX和MX放机架但实验室空间、功耗、风扇噪音还有那根console线都不是备考阶段该花精力处理的事。我备考时一直在用vMX它是Juniper官方提供的虚拟化版Junos跑在KVM或VMware上命令行和物理设备基本一致。JNCIE实验主要验证协议状态和转发结果vMX的软件转发面足够支撑这类验证除非你专门研究硬件卸载特性否则区别可以忽略。vMX的资源消耗没有想象中高。一台双核CPU、4GB内存的虚拟机就能顺利跑一个实例但如果你要模拟三台以上设备最好把每个实例限制在单核和2GB内存不然宿主机很容易被vCPU抢占拖垮。另一个容易被忽略的点是vMX需要单独的转发虚拟机VFP和路由引擎虚拟机VCP启动顺序不能反否则接口状态会一直处于Present但Link down。官方文档要求先启动VFP再启动VCP我习惯写一个启动脚本按顺序拉起避免每次手动操作。对比项物理 MX 系列vMX命令集与正式版 Junos 一致与正式版 Junos 基本一致回滚/快照需手动备份配置快照秒级恢复资源开销固定功耗、占用机架按虚拟机分配 CPU/内存实验灵活性换拓扑要搬线网卡直连改配置即可启动依赖插电即用VFP/VCP 顺序必须正确2.2 最小化拓扑与初始配置命令我习惯从两台路由器的点对点网络开始。R1和R2互联接口用ge-0/0/0R1再带一个模拟终端的接口ge-0/0/1R2挂一台服务器模拟用户网段。初始配置要解决主机名、root密码、管理IP和互联地址Junos的配置模式是分层结构set命令从顶层一路写到叶子最后统一commit。rootR1 configure Entering configuration mode [edit] rootR1# set system host-name R1 rootR1# set system root-authentication plain-text-password New password: R1pass Retype new password: R1pass rootR1# set system domain-name lab.internal rootR1# set system services ssh rootR1# set interfaces ge-0/0/0 unit 0 family inet address 192.0.2.1/24 rootR1# set interfaces lo0 unit 0 family inet address 10.255.255.1/32 rootR1# commithost-name会直接显示在CLI提示符上多设备实验时一眼能分辨窗口。root-authentication用plain-text-passwordcommit时自动加密不要手写encrypted-password除非你确认密文来源。interfaces配置必须写到unit 0的family inetJunos接口的最小配置单位是unit不是物理口family inet表示这个unit承载IPv4地址。lo0的地址建议统一规划成路由器loopback后面OSPF的router-id、BGP的update-source、聚合链路的源地址都会引用它。配置完先别急着做协议用一条命令确认接口状态show interfaces terse这条命令会列出所有接口的物理和逻辑状态。注意ge-0/0/0.0那行的Admin和Link列如果Link是up但Protocol inet显示down说明地址或family配置有问题如果物理口显示down检查是不是vMX里没有连接虚拟网线。show configuration interfaces可以回看当前接口配置确认自己没有把interface和unit的关系写错。2.3 管理接口与远程登录的坑管理接口是很多JNCIE实验里第一个翻车点。vMX的管理口叫fxp0和业务接口隔离。默认情况下fxp0没有IP你想通过SSH连设备必须给它配好地址并且开启SSH服务。但很多人的习惯是先把业务地址配好然后用业务口去SSH结果发现连不上。原因很简单Junos默认不开SSH服务需要显式配置set system services ssh。set system services ssh set system services netconf ssh set interfaces fxp0 unit 0 family inet address 172.16.1.1/24 set system login user labuser class super-user set system login user labuser authentication plain-text-password这段配置里netconf ssh是为了方便后续用脚本批量下发配置JNCIE实验里不强制。labuser是日常操作用户不要所有操作都拿root来跑考生习惯会影响以后的运维规范。fxp0的地址不要和任何业务接口地址同网段否则Junos的转发引擎和路由引擎会争夺同一个ARP条目表现为接口up但ping不通。如果遇到root账号直接SSH被拒需要额外的root-login allow。这里提示一下生产环境不要开这个选项。考试时用labuser登录然后su到root是更稳的做法。另外配置改乱了不要慌Junos的回滚机制比Cisco的write erase reload舒服得多进入配置模式后执行rollback 1再commit就能回到上一次提交的状态这算是Junos给的后悔药。3. 路由协议实验命令OSPF与BGP的高频考点3.1 OSPF多区域配置与验证命令JNCIE实验的OSPF一般不会只给你一个区域最常见的是area 0作为骨干下挂area 1。R1作为ABR和R2建area 1的邻居同时area 0里放着其他设备。配置OSPF的要点是router-id必须全局唯一否则邻居关系反复震荡。set interfaces ge-0/0/1 unit 0 family inet address 192.0.2.5/24 set protocols ospf router-id 10.255.255.1 set protocols ospf area 0 interface ge-0/0/0.0 passive set protocols ospf area 0 interface lo0.0 passive set protocols ospf area 1 interface ge-0/0/1.0接口放进area时如果确认链路上没有其他OSPF邻居就加passive这样只宣告网段不发hello。lo0放进area 0是万无一失的稳定做法尤其当router-id和lo0地址一致时。R2侧只需要把ge-0/0/1放进area 1两边area id不一致会卡在ExStart状态。验证OSPF用这三条命令show ospf neighbor show ospf interface show ospf routeshow ospf neighbor的State列Full表示邻居正常不是Full就是有问题。两边hello/dead间隔不一致会卡在Init接口area不匹配卡在ExStart。show ospf interface里的Area字段能帮你快速核对每个接口属于哪个区域show ospf route则展示了OSPF协议路由表比show route protocol ospf更聚焦适合确认某条具体网段是否通过OSPF学习到。3.2 BGP邻居与路由策略配置BGP是JNCIE实验的分数大头。考试里经常要求你在两个自治域之间建EBGP并且只通告特定路由。这里我用R1AS 65001和R2AS 65002做示例R1的ge-0/0/0接口地址是192.0.2.1/24R2对应192.0.2.2/24。set protocols bgp group EBGP type external set protocols bgp group EBGP local-address 192.0.2.1 set protocols bgp group EBGP peer-as 65002 set protocols bgp group EBGP neighbor 192.0.2.2type external表示EBGPlocal-address必须写成对端可见的接口地址如果你用loopback作为源必须额外加multihop。peer-as填对端的AS号不要填成本地AS。Junos的BGP默认不通告任何路由你需要在group上挂export策略。这里给一个最小导出策略把直连和OSPF路由交给EBGP邻居set policy-options policy-statement EXPORT-INTERNAL term 1 from protocol direct set policy-options policy-statement EXPORT-INTERNAL term 1 from protocol ospf set policy-options policy-statement EXPORT-INTERNAL term 1 then accept set policy-options policy-statement EXPORT-INTERNAL term 2 then reject set protocols bgp group EBGP export EXPORT-INTERNALpolicy-statement的term是顺序匹配的term 1匹配direct和ospf来源执行acceptterm 2是兜底reject。为了保险我总是显式写出term 2虽然不写也会隐式拒绝但写出来方便阅读。from protocol后面可跟的值包括direct、ospf、static、bgp等写错协议名commit会警告但不会拒绝策略在运行时根本不匹配。3.3 策略匹配顺序与路由过滤的过滤参数策略是JNCIE实验里最需要精细控制的部分。除了from protocol还要会用prefix-list做地址前缀的精确过滤set policy-options prefix-list LOOPBACKS 10.255.255.0/24 set policy-options policy-statement BLOCK-LOOPBACK term 1 from prefix-list LOOPBACKS set policy-options policy-statement BLOCK-LOOPBACK term 1 then reject set policy-options policy-statement BLOCK-LOOPBACK term 2 then accept这个策略拒绝所有10.255.255.0/24前缀其余全部放行。注意term顺序如果term 2的accept写在term 1前面那么所有路由都会被放行prefix-list形同虚设。这种坑在考试里很隐蔽因为show bgp summary不会报错只有show route advertising-protocol才能看出你到底通告了什么。验证BGP策略是否生效最权威的命令是show route advertising-protocol bgp 192.0.2.2 show route receive-protocol bgp 192.0.2.2前者看本地发给对端的前缀后者看从对端收到的前缀。两个方向都要看因为策略可以只控制export方向而import方向可能有其他过滤。很多人在R1上配了export结果R2收不到一查是R2的import策略拒绝了全部——这是实验里最常见的双向失配。4. 二层实验命令VLAN、RSTP与聚合链路4.1 VLAN与IRB配置JNCIE实验对二层的考查不会只停留在划分VLAN它要求你理解二层转发的边界和三层网关的位置。Junos里配置VLAN需要把物理接口的family改成ethernet-switching然后创建VLAN并绑定接口。set interfaces ge-0/0/0 unit 0 family ethernet-switching set vlans vlan10 vlan-id 10 set vlans vlan10 interface ge-0/0/0.0注意一个unit不能同时配置family inet和family ethernet-switching这会直接commit失败。如果你之前用它做三层接口需要先删除family inet。这是Junos和Cisco差异巨大的地方很多从IOS转过来的工程师会在这里反复翻车。如果需要让同一物理接口承载多个VLAN用trunk模式set interfaces ge-0/0/0 unit 0 family ethernet-switching port-mode trunk set interfaces ge-0/0/0 unit 0 family ethernet-switching vlan members [ vlan10 vlan20 ]trunk模式和Cisco的switchport trunk类似但Junos的vlan members列表写在family下不是写在接口全局。默认不带vlan members时trunk只允许native vlan这是个容易忽略的细节。在JNCIE实验里只要涉及多VLAN互访必须把trunk链路上的vlan members写全否则远端设备会找不到对应VLAN接口。IRB是二层VLAN的三层网关配置分两步。第一步创建irb逻辑接口并给地址第二步把VLAN绑定到irbset interfaces irb unit 10 family inet address 192.0.2.254/24 set vlans vlan10 l3-interface irb.10vlan-id和irb编号可以不一致但建议保持对应排查时看一眼就知道是哪个VLAN。验证命令用show vlans它展示的信息包括VLAN ID、接口列表和绑定的IRBshow interfaces irb则看三层协议状态如果Protocol inet显示up说明网关可用。IRB的地址不能和任何物理接口地址冲突否则Junos会拒绝commit并提示network address conflict。4.2 RSTP与端口角色验证在JNCIE实验里二层环路是隐藏杀手。配置了VLAN之后如果不控制STP广播帧在环形拓扑里会无限循环。Junos默认启用RSTP但很多实验者会忽略它的存在直到发现交换机CPU飙高才回头查。RSTP的配置核心是协议全局开启以及接口的端口角色定义。set protocols rstp interface ge-0/0/0 set protocols rstp interface ge-0/0/1 set protocols rstp priority 4096priority值越小越可能成为根桥。考试里会让你通过配置改变根桥选择这时show spanning-tree interface输出里的Port Role列就是你判断的依据Root Port和Designated Port是正常状态Alternate或Backup才是被阻塞的端口。如果实验拓扑意外出现环路先用show spanning-tree topology-change看有没有频繁的拓扑变更再用show log messages | match RSTP查看事件记录。另一个常见坑是端口类型。在接入终端设备的接口上RSTP不需要参与协商Junos里可以将其配置成边缘端口避免设备接入时触发拓扑变更set interfaces ge-0/0/2 unit 0 family ethernet-switching port-mode access set interfaces ge-0/0/2 unit 0 family ethernet-switching edgeedge关键字等价于Cisco的spanning-tree portfast能显著缩短终端上线时间。在JNCIE实验里如果你把两台交换机互联的端口配成edge广播风暴会在拓扑变化时瞬间爆发这种问题不会在RSTP中自动修复只能靠手动关闭边缘端口来排除。show spanning-tree statistics可以查看每个端口收发的BPDU计数如果某个Designated端口频繁收到更优的BPDU说明根桥选择策略出了问题优先级配置需要重新调整。4.3 聚合链路与LACP配置链路聚合在JNCIE实验里通常是必选项。把两条物理链路绑成一个ae口既能提高带宽也能做冗余。Junos的配置方式是先创建聚合口再把成员接口加进去。set interfaces ae0 unit 0 family inet address 192.0.2.9/24 set interfaces ge-0/0/0 ether-options 802.3ad ae0 set interfaces ge-0/0/1 ether-options 802.3ad ae0 set interfaces ae0 aggregated-ether-options lacp active注意成员接口上不能配置unit和family所有三层配置都在ae0上。lacp active表示主动发起协商对端用passive或active都行。验证命令用show lacp interfaces。如果看到LACP状态卡在detached多半是成员接口的ether-options里没有指定ae口或者对端根本没有开LACP。再配合show interfaces ae0 terse看ae0有没有拿到IP地址如果协议列显示up聚合链路就通了。聚合口还有一种特殊应用和RSTP配合。当多台设备通过聚合链路互联时STP会把聚合口当成一个逻辑端口参与计算不会因为成员链路断开而频繁变更拓扑。考试里如果你看到show spanning-tree interface里的一个ae口显示Designated而成员链路状态Down不用慌只要聚合口本身Up转发面就正常。这个特性在实际排障时能省很多时间。5. JNCIE实验常见命令坑与排查思路5.1 现象commit失败提示语法错误JNCIE实验时最容易让心态炸掉的就是commit失败。我遇到过最典型场景在接口ge-0/0/0.0上配了family ethernet-switching然后又想在同一个接口上配置OSPFcommit直接报syntax error。起初我以为是OSPF的area号写错了反复查看后发现Junos对接口family是否正确做了校验一个接口不能同时承载二层和三层配置。解决方法是把这两类配置放在不同接口上或者在配置前先show configuration interfaces确认现有family。这类问题的排查效率取决于你怎么读报错信息。Junos的commit报错会精确到层级比如error: interface ge-0/0/0.0: family mismatch直接指出冲突不要一看到错误就去翻堆栈。Juniper的CLI还会用光标标记出错的行配合tab键上下文提示基本能定位到具体配置。我的习惯是出现commit失败先删掉最近改的两三条set再重新提交。5.2 现象路由不生效但配置看起来正确BGP路由不生效是最常见的配置正确但结果不对。我在实验里遇到过show bgp summary正常但show route protocol bgp为空的情况。后来用show route advertising-protocol bgp检查发现本地根本没把路由通告出去。原因是我在export策略里from protocol写了ospf2Junos不认这个协议名commit时给了个warning我忽略了。解决方法是删掉拼错的协议名然后确认export策略的term 1中from protocol是ospf同时确认策略被绑定在正确的BGP group下。检查策略是否被引用可以用show configuration protocols bgp查看group下是否挂了export。还有一点是策略的term顺序from prefix-list和from protocol在同一个term里是AND关系两个条件都要满足才执行then的动作。如果预期是协议或前缀匹配其一需要拆成两个term这一点在JNCIE实验里经常被拿来挖坑。5.3 现象BGP邻居一直处于Active状态Active状态说明TCP连接没有建立。最常见的原因是EBGP多跳。如果R1和R2的邻居地址是直连接口地址不存在这个问题如果你用loopback地址互相指邻居默认TTL1三层不可达。set protocols bgp group EBGP multihop 2 set protocols bgp group EBGP local-address 10.255.255.1local-address必须写对端可达的地址这里填lo0地址。如果还停留在Active检查TCP 179端口是否被阻断Junos默认没有ACL但先前实验可能配置了残留的安全策略。另一个隐蔽因素是update-source不对对端收到报文后源地址和自己邻居配置不匹配会直接丢弃。show bgp summary的Last State栏会显示原因比show log messages更直接。5.4 现象聚合链路ae0协商失败聚合口起不来是二层实验里的高频事故。现象是show lacp interfaces一直显示detached或者ae0的Protocol inet一直down。原因通常是成员接口上残留了其他配置。之前说过成员接口不能有unit和family但如果你在ge-0/0/0.0上配过family ethernet-switching再把它加进ae0时Junos会报配置冲突。解决方法是delete掉ge-0/0/0.0的全部配置再执行set interfaces ge-0/0/0 ether-options 802.3ad ae0。另外检查对端是否也启用了LACP。如果一边是active一边是off两边不会协商成功。这里可以用show interfaces ae0 detail查看聚合口的成员状态能看到哪些物理口被选中哪些被拒绝。被拒绝的口通常是因为速率或双工不一致这在vMX里很少见但在混合物理设备时会遇到。按这个顺序排查ae0基本都能在几分钟内恢复正常。6. 半小时提升实验速度CLI技巧与配置模板JNCIE实验的关键不是把所有命令背下来而是在有限时间内把命令用对。我习惯在实验前花半小时做两件事第一用CLI补全和管道过滤减少击键第二用apply-groups复用公共配置。show bgp summary | match 192\.0\.2\.2 show route protocol ospf | except /32 show ospf neighbor | count show log messages | last 20管道过滤的价值在设备多的时候特别明显。show bgp summary默认会列出所有邻居加上match只需要看目标IPshow route protocol ospf会有大量/32路由except /32直接滤掉只留网段路由。这些组合我写在一张便签上考试前扫一眼就能记住。apply-groups是我比较推荐的配置复用方式。把root-authentication、syslog这类公共设置放在一个group里然后所有设备引用set groups common system root-authentication plain-text-password set groups common system syslog file messages any any set groups common system services ssh set apply-groups common这样每台设备只需要写自己的差异配置少了大量重复set。JNCIE实验的难点在路由策略和二层解耦设计不该让基础配置消耗太多脑力。这也算我的血泪经验前两次模拟实验把时间耗在敲公共配置上真正需要思考BGP策略的时候反而手忙脚乱。希望这些方法能帮你在实验台上更从容一些。本文还有配套的精品资源点击获取