☰
7750/SR系列设备开局配置:硬件映射、管理面、路由与MPLS避坑
2026/10/28 20:26:12 网站建设 项目流程

简介:面向电信网络与企业数据中心运维人员的上海贝尔阿尔卡特7750SR配置标准模板,围绕设备从硬件识别到业务开通的完整配置流程展开,适合具备一定IP网络基础、需要按标准规范完成开局与日常维护的工程师参考。压缩包内仅1个doc文档,整体约267KB,篇幅精炼、便于随查随用,无需额外脚本或工具即可阅读。内容按硬件配置、设备管理配置、路由协议配置三大板块组织:硬件部分讲解IOM卡与MDA卡的类型查看与正确配置、POS端口与以太口参数设置及port信息核对;设备管理部分覆盖路由器名称、LOCATION、CONTACT设置,以及系统时间、SNTP、Telnet服务器与登录限制等运维要点;路由协议部分涉及OSPF、RIP、ISIS等协议的配置思路。文档以命令示例结合目录层级呈现,可作为开局配置模板与排错对照清单使用。目前已有639人学习下载。

1. 29 页模板先别急着抄:7750 开局最容易漏掉的三件事

凌晨两点,机柜里一台 7750 刚上电,风扇声压过机房底噪,桌上只有一份 29 页的配置标准模板和一根 console 线。这份文档把硬件配置、设备管理、路由协议、MPLS 与业务四段压在一起,全是“命令 + 注释”的形态,它属于现场作业卡,并非教科书,能直接照着敲。它解决的其实是开局无参照的问题:卡型怎么对、管理面怎么限制、OSPF 的 stub 与 NSSA 怎么落、LSP 起不来先看哪一段。适合刚接手 SR 系列设备的新人,也适合做承载网割接、需要一份能逐条打勾的对照清单的老手。真正容易漏的从来不是命令本身,而是槽位映射、管理面限制顺序和 MTU 分层这三件事。

2. 硬件层先立骨架:IOM、MDA、端口的三级映射与四条命令

2.1 为什么必须“先看后配”:卡、模块、端口的三级模型

7750 这类框式设备的物理结构是三层套娃:机框上有若干业务槽位(card),每个槽位插一张 IOM(输入输出模块),IOM 上再插 MDA(媒体适配卡),MDA 面板上才是真正的物理端口。命令行里看到的1/1/3就是“1 号槽位的 1 号 MDA 的第 3 个端口”,三级编号一一对应,任何一级类型对不上,端口就不会起来。

很多人开局直接照模板抄configure card 1 card-type xxx,结果卡状态一直是unknown或者 MDA 显示provisioned而不是in service。原因很简单:设备不知道你插的是什么,得你告诉它;但你告诉它的类型如果和实物不符,它就会拒绝初始化。所以顺序永远是想清楚、先看、后配。

查看和配置的对应关系大致如下,这套对照我一般贴在机柜门上:

层级对象查看命令配置入口
第一级业务槽位 / IOMshow cardconfigure card <slot> card-type
第二级MDA 模块show mdaconfigure card <slot> mda <n> mda-type
第三级物理端口show portconfigure port <slot>/<mda>/<port>
汇总整机硬件show hardware只读,用于核对序列号与告警

show hardware给的是整机视角,序列号、电源、风扇、温度都在里面;show card和show mda给的是槽位视角,重点看Admin State、Oper State、Type三列。模板里把这两条命令放在最前面,是因为它们的输出决定了后面所有配置能不能落地。

2.2 改卡类型前必须先 shutdown:四条命令的先后关系

改 IOM 和 MDA 的类型不是热操作,卡在运行态时不让你改。所以完整的动作是“关—改—开—验”,四步一步都不能省。

# 进入 1 号槽位,先把卡关掉,否则 card-type 改不动 A:admin@SR1# configure card 1 shutdown # 指定实际插入的 IOM 型号,这里按实物填写 A:admin@SR1# configure card 1 card-type iom3-xp A:admin@SR1# configure card 1 no shutdown # 卡起来之后再配 MDA,同样先关再改 A:admin@SR1# configure card 1 mda 1 shutdown A:admin@SR1# configure card 1 mda 1 mda-type mda-1x10gb A:admin@SR1# configure card 1 mda 1 no shutdown # 两级都验证一遍,看 Oper State 是不是 in service A:admin@SR1# show card 1 A:admin@SR1# show mda 1/1

这段的关键在于shutdown和no shutdown的配对位置:configure card 1 shutdown关的是整个槽位,configure card 1 mda 1 shutdown关的是单个模块,两级是独立的。很多人只关了 MDA 就去改 card-type,命令直接被拒绝;也有人改完忘了no shutdown,回头排查半天以为卡坏了。

参数上有两个细节值得记:card-type必须和实物型号严格一致,写错一个后缀(比如把 xp 写成非 xp)卡就起不来,这时候别怀疑硬件,先show card看看 Admin State 是不是down;mda-type决定了端口数量和速率,配成 10G 卡却插了 1G 模块,端口列表里会少口或者速率不对,show port一眼能看出来。版本之间可用型号差异较大,不确定的时候在configure card 1 card-type ?里用问号补全,比查文档快。

2.3 POS 口与以太口:真正影响业务的四个端口参数

端口配置本身不难,难的是知道哪几个参数改了会出事。我的经验是只看四个:description(排障时的唯一线索)、shutdown(默认是关的)、mtu(后面 MPLS 章节会反复回来算它)、encap-type(封装方式,决定上层能不能协商起来)。

以太口的标准写法:

# 10G 以太口,接核心方向 A:admin@SR1# configure port 1/1/1 A:admin@SR1(config-port)# description "to-core1-10G" A:admin@SR1(config-port)# shutdown no A:admin@SR1(config-port)# ethernet A:admin@SR1(config-port-ethernet)# mode network A:admin@SR1(config-port-ethernet)# mtu 9212 A:admin@SR1(config-port-ethernet)# encap-type dot1q A:admin@SR1(config-port-ethernet)# exit A:admin@SR1(config-port)# exit

mode network表示这是网络侧链路,和接用户侧的mode access在行为上有差别,接核心方向统一用 network;mtu 9212是端口层的最大帧长,特意留出余量给 MPLS 标签和二层头;encap-type dot1q表示允许带 VLAN 标签,如果这段是纯三层互联、不打标签,可以改成null,省一层封装开销。

POS 口的逻辑类似,但参数含义不同:

# POS 口,接传输设备,重点是帧格式和时钟 A:admin@SR1# configure port 1/1/2 A:admin@SR1(config-port)# description "pos-to-transport" A:admin@SR1(config-port)# shutdown no A:admin@SR1(config-port)# pos A:admin@SR1(config-port-pos)# framing sonet A:admin@SR1(config-port-pos)# scramble A:admin@SR1(config-port-pos)# report-alarm A:admin@SR1(config-port-pos)# exit

framing要和对端传输设备一致,一端 sonet 一端 sdh 是经典对不上;scramble是加扰,长连 0 的时候不加扰会丢同步,通常建议打开;report-alarm让端口把告警上报到日志,配合后面的 log 配置才有意义。POS 口的封装(PPP / HDLC / Frame Relay)在端口层或通道层设置,不同版本位置略有差异,改之前先用configure port 1/1/2 ?看一下当前版本支持哪些子上下文。

2.4 端口起来之后的三项核对

端口配完不要只看show port里的Up。我一般核对三件事:一是show port 1/1/1 detail里的Physical Link和MTU是否符合预期;二是show port 1/1/1里的Encap和Mode是否和规划一致;三是把所有端口列一遍,看有没有规划了却漏配的槽位。第三步最容易被跳过,但在割接前它救过我一次:规划表里有 6 个口,实际只配了 5 个,show port | match "No Def"一跑就露馅。

3. 管理面配置:从裸机到可运维节点的七步

3.1 系统标识与时间基准:先把“谁、在哪、几点”定下来

一台设备上线,第一件要做的不是配路由,是让它可被识别。名称、位置、联系人这三个字段存在的意义,是三年后别人接手时不用去翻台账。SNTP 更要早配,日志时间戳不对,后面所有排障都是玄学。

# 系统标识,跟着机房台账写,别写"test" A:admin@SR1# configure system name "SR1-CORE" A:admin@SR1# configure system location "IDC-A-03-12" A:admin@SR1# configure system contact "noc@example.net" # 时间同步,配两个 server 做冗余,并指定时区 A:admin@SR1# configure system time zone CST A:admin@SR1# configure system time sntp shutdown no A:admin@SR1# configure system time sntp server 10.10.0.10 A:admin@SR1# configure system time sntp server 10.10.0.11 A:admin@SR1# configure system time sntp prefer server 10.10.0.10 # 确认同步状态,看 Stratum 和 Offset A:admin@SR1# show system time

prefer server是主用源,另一个是备用,两个都配才不会因为单台服务器抖动导致时间漂移。show system time里如果Stratum一直是 16,说明根本没同步上,先查管理口到 NTP 服务器的连通性,再看 SNTP 进程有没有no shutdown——这两步忘掉任意一个,时间都是错的。

3.2 Telnet 与 ACL:默认动作和条目顺序是一对连环坑

模板里那段管理面 ACL 写得很细,先配默认允许,再配允许的 IP 段,最后加一条拒绝其他。这套写法放在老设备上能用,但如果照抄到按条目号升序匹配的实现上,就会出问题:第一条默认允许会把后面所有拒绝都吃掉。

正确的心智模型是“条目按编号升序逐条匹配,命中即停,都不命中才走 default-action”。所以要么写成白名单(default-action drop + 若干 permit),要么把 permit 的 entry-id 排到 deny 前面,中间留出空号方便以后插入。

# 管理面白名单:默认拒绝,只放行运维网段和带内管理口 A:admin@SR1# configure filter ip-filter 10 create A:admin@SR1(config-filter-ip)# description "mgmt-access" A:admin@SR1(config-filter-ip)# default-action drop A:admin@SR1(config-filter-ip)# entry 10 create A:admin@SR1(config-filter-ip-entry)# match protocol tcp dst-port 22 23 443 A:admin@SR1(config-filter-ip-entry)# action accept A:admin@SR1(config-filter-ip-entry)# exit A:admin@SR1(config-filter-ip-entry)# entry 20 create A:admin@SR1(config-filter-ip-entry)# match src-ip 10.20.30.0/24 A:admin@SR1(config-filter-ip-entry)# action accept A:admin@SR1(config-filter-ip-entry)# exit A:admin@SR1(config-filter-ip)# exit

entry 10限定协议和目的端口,entry 20放开整个运维网段,default-action drop兜底。编号故意留 10 的步长,是为了以后要在中间插规则时不用全部重排。

ACL 配完必须挂到接口上才会生效,这一步漏掉的概率比想象中高:

# 应用到管理接口的入方向 A:admin@SR1# configure router interface "mgmt" A:admin@SR1(config-router-interface)# ingress A:admin@SR1(config-router-interface-ingress)# filter ip 10 A:admin@SR1(config-router-interface-ingress)# exit

方向搞反同样是高频事故:ingress管的是进设备的流量,egress管的是出去的流量。保护设备自身只关心 ingress。另外,Telnet 本身属于明文协议,生产环境一般只开 SSH,把 23 端口从match里删掉即可,配置结构不用动。

3.3 用户、用户组与权限分级:别让所有人都是超级用户

模板里配了用户名、密码、登录方式和所属组,这四件套的核心是最后一环——组决定权限。实操里最省事的做法是先定义两三个 profile,再把用户挂上去,而不是给每个人单独写权限。

# 只读组:默认拒绝,只放开 show 类命令 A:admin@SR1# configure system security profile "ops-ro" default-action deny-all A:admin@SR1(config-system-security-profile)# entry 10 match "show" action permit A:admin@SR1(config-system-security-profile)# entry 20 match "admin display-config" action permit A:admin@SR1(config-system-security-profile)# exit # 建用户,限定登录通道,挂到只读组 A:admin@SR1# configure system security user "noc1" password "ChgMe_2024" A:admin@SR1(config-system-security-user)# access console A:admin@SR1(config-system-security-user)# console member "ops-ro" A:admin@SR1(config-system-security-user)# exit

access console表示允许从 console/SSH 这类交互通道登录,如果不写这一行,用户建了也登不上。console member才是真正绑定权限的地方,容易和access混淆。密码策略一般在configure system security password-policy里统一管,长度、复杂度、有效期集中配一次就行,不必每个用户重复。

3.4 日志、SNMP 与主备同步:把黑匣子提前装好

故障复盘时最痛苦的是“当时什么日志都没有”。日志配置要在业务上线前做完,而不是出事之后补。

# 定义本地文件,滚动 10 个、保留 5 份 A:admin@SR1# configure log file-id 10 A:admin@SR1(config-log-file)# description "local-main" A:admin@SR1(config-log-file)# location cf3:/logs A:admin@SR1(config-log-file)# rollover 10 retention 5 A:admin@SR1(config-log-file)# exit # 把主日志和变更日志同时送本地文件和 syslog A:admin@SR1# configure log log-id 10 A:admin@SR1(config-log-log-id)# from main security change A:admin@SR1(config-log-log-id)# to file-id 10 A:admin@SR1(config-log-log-id)# to syslog 1 A:admin@SR1(config-log-log-id)# no shutdown A:admin@SR1(config-log-log-id)# exit

from是日志来源,main是主日志、security是安全审计、change是配置变更记录——change这条特别值得加,谁在什么时候改了哪行配置,全在里面。to可以多个,本地留一份、远端送一份,本地盘写满自动滚动,不会把设备写死。

SNMP 只读团体字足够监控用,写团体字能不开就不开:

# 只读团体,限定来源地址 A:admin@SR1# configure system snmp shutdown no A:admin@SR1# configure system snmp community "monitor" access ro A:admin@SR1# configure system snmp community "monitor" source-address 10.20.30.0/24

主备冗余的同步分自动和手工两种。自动同步在 BOF 里配置主备配置文件的同步策略,手工同步用admin redundancy synchronize。血泪经验是:任何一次变更之后,只要动过主控,就手工跑一遍同步,别指望自动——自动同步失败的提示很不起眼,等到切换时才发现备用板还是三个月前的配置,那就只能吃后悔药了。

4. 控制面到转发面:OSPF、IS-IS、BGP 与 MPLS 的落地顺序

4.1 系统接口与互联接口:先有稳定源地址,再谈协议

路由配置的第一步不是起协议,是给设备一个稳定的身份地址。system接口是一个虚拟接口,不绑定物理端口,永远 up,用作 router-id 和所有协议的源地址。没有它,物理口一抖,BGP 邻居跟着断。

# 全局 router-id + 虚拟 system 接口 A:admin@SR1# configure router router-id 10.0.0.1 A:admin@SR1# configure router interface "system" A:admin@SR1(config-router-interface)# address 10.0.0.1/32 A:admin@SR1(config-router-interface)# exit # 物理互联接口:地址、端口、IP MTU 三件套 A:admin@SR1# configure router interface "to-core1" A:admin@SR1(config-router-interface)# description "to-core1" A:admin@SR1(config-router-interface)# address 10.1.0.1/30 A:admin@SR1(config-router-interface)# port 1/1/1 A:admin@SR1(config-router-interface)# ip-mtu 9000 A:admin@SR1(config-router-interface)# exit

port 1/1/1把逻辑接口和物理端口绑定,这一步不做接口永远是 down。ip-mtu 9000是三层 MTU,它必须小于端口层mtu 9212,中间的差值就是二层头和标签的余量。两个 MTU 一个在configure port下、一个在configure router interface下,名字像、位置不同、含义不同,混淆是常态。

4.2 OSPF:区域、cost、stub/NSSA 与虚链路

OSPF 的配置骨架是“进程—区域—接口”三层。模板里把 stub、NSSA、虚链路、认证、聚合、静态注入全都列了,但实际开局用不到这么多,先跑通 area 0 再加特性。

# 基础:区域 0 下挂接口,指定点对点类型和 cost A:admin@SR1# configure router ospf 0 A:admin@SR1(config-router-ospf)# area 0.0.0.0 A:admin@SR1(config-router-ospf-area)# interface "to-core1" A:admin@SR1(config-router-ospf-area-if)# interface-type point-to-point A:admin@SR1(config-router-ospf-area-if)# metric 100 A:admin@SR1(config-router-ospf-area-if)# exit # 末梢区域与不完全末梢区域,按规划选一个 A:admin@SR1# configure router ospf 0 area 0.0.0.1 stub A:admin@SR1# configure router ospf 0 area 0.0.0.2 nssa # 虚链路:穿过 transit area,两端写对方的 router-id A:admin@SR1# configure router ospf 0 area 0.0.0.0 virtual-link 10.0.0.9 A:admin@SR1(config-router-ospf-vlink)# no shutdown A:admin@SR1(config-router-ospf-vlink)# dead-interval 40

interface-type point-to-point在只有两台设备的互联链路上必配,能跳过 DR/BDR 选举,邻居建立从几十秒缩到几秒。metric就是 cost,模板里叫 cost 值但命令关键字是 metric,这个不一致坑过不少人。

stub和nssa的区别值得说清楚:stub 区域拒绝 Type-5 外部路由,用默认路由出去;NSSA 允许区域内有 ASBR 引入外部路由,但以 Type-7 形式在区域内传播。选错了症状很典型——stub 区域里配了重分发,路由怎么都不生效,因为 Type-5 被挡住了。

虚链路的两个参数最常错:area必须是穿越的 transit area,不是两端所在的区域;virtual-link后面跟的是对端 router-id,不是接口地址。改完no shutdown一定要跟,虚链路默认是关的。

认证在接口层配:

# 接口级密码认证,两端必须一致 A:admin@SR1# configure router ospf 0 area 0.0.0.0 interface "to-core1" A:admin@SR1(config-router-ospf-area-if)# authentication-type password A:admin@SR1(config-router-ospf-area-if)# authentication-key "ospf_key_01"

区域间路由聚合在 ABR 上做,configure router ospf 0 area 0.0.0.1 area-range 10.1.0.0/16,聚合之后明细路由不再泛洪,路由表能小一大截。验证用三条命令:show router ospf neighbor看邻居状态是不是 Full,show router ospf interface看接口有没有进区域,show router route-table protocol ospf看学到的路由条目数对不对。

4.3 IS-IS 与 BGP:最小可用配置与两个必查项

IS-IS 的配置比 OSPF 简洁,核心是区域 ID、层级能力和接口三样。

# 区域 ID 用 49 开头,层级按规划选 level-1 / level-2 / level-1-2 A:admin@SR1# configure router isis 0 A:admin@SR1(config-router-isis)# area-id 49.0001 A:admin@SR1(config-router-isis)# level-capability level-2 A:admin@SR1(config-router-isis)# interface "to-core1" A:admin@SR1(config-router-isis-if)# interface-type broadcast A:admin@SR1(config-router-isis-if)# level 2 metric 10 A:admin@SR1(config-router-isis-if)# exit

level-capability level-2表示只参与骨干层,如果这台设备要同时做 L1/L2 就改成level-1-2。interface-type broadcast和point-to-point的选择逻辑和 OSPF 一样,但 IS-IS 里选错的表现更隐蔽:邻居能起来,路由也学得到,只是 DIS 选举行为和预期不符,排障时容易走偏。验证用show router isis adjacency和show router isis interface。

BGP 最小配置只有四行:

# 本机 AS、对等组、邻居、对端 AS A:admin@SR1# configure router autonomous-system 65000 A:admin@SR1# configure router bgp A:admin@SR1(config-router-bgp)# group "ebgp-core" A:admin@SR1(config-router-bgp-group)# peer-as 65001 A:admin@SR1(config-router-bgp-group)# neighbor 10.1.0.2 A:admin@SR1(config-router-bgp-group)# exit

group的作用是把相同的策略、定时器、认证一次性套到多个邻居上,邻居多了之后没有组会非常痛苦。iBGP 场景下必须处理下一跳可达性,常见做法是next-hop-self或者在 IGP 里把互联地址发布出去,否则邻居 Established 了但路由不可用,这种“看着通其实不通”的状态最耗时间。show router bgp summary里看State是不是Established,看Up/Down计数有没有反复跳,跳说明有 keepalive 或 hold-time 不匹配。

4.4 policy 与 filter:让路由和流量按你的意思流动

policy 是这套系统里最容易写错的东西,因为它有“写—commit—应用”三段式,少一段就不生效。

# 进入策略编辑上下文 A:admin@SR1# configure router policy-options begin # 定义前缀列表,供策略引用 A:admin@SR1(config-policy-options)# prefix-list "pl-default" A:admin@SR1(config-policy-options-prefix-list)# prefix 0.0.0.0/0 exact A:admin@SR1(config-policy-options-prefix-list)# exit # 策略:把静态路由注入 OSPF A:admin@SR1(config-policy-options)# policy-statement "ospf-out" create A:admin@SR1(config-policy-options-statement)# entry 10 A:admin@SR1(config-policy-options-statement-entry)# from protocol static A:admin@SR1(config-policy-options-statement-entry)# to protocol ospf A:admin@SR1(config-policy-options-statement-entry)# action accept A:admin@SR1(config-policy-options-statement-entry)# exit # 提交才生效,这一步绝对不能漏 A:admin@SR1(config-policy-options)# commit

写完commit只是把策略保存下来,还要在协议上引用:configure router ospf 0 export "ospf-out"。这两步分离是设计上的“后悔药”——可以先把策略写好、检查逻辑,再决定挂在哪个进程上。from protocol static是匹配条件,to protocol ospf是目标协议,两个方向写反是最常见的错误,写反之后策略不报错,就是不干活。

4.5 MPLS:接口、命名路径、LSP 与 MTU 的连环约束

MPLS 的前置条件是 IGP 先把 loopback 打通,否则 LSP 根本建不起来。配置顺序是接口—路径—LSP 三级。

# 第一级:把接口纳入 MPLS A:admin@SR1# configure router mpls interface "to-core1" # 第二级:显式命名路径,逐跳指定下一跳地址 A:admin@SR1# configure router mpls path "p-primary" A:admin@SR1(config-router-mpls-path)# hop 1 10.1.0.2 A:admin@SR1(config-router-mpls-path)# no shutdown # 第三级:LSP,绑定目的地址和主路径 A:admin@SR1# configure router mpls lsp "lsp-to-pe2" A:admin@SR1(config-router-mpls-lsp)# to 10.0.0.2 A:admin@SR1(config-router-mpls-lsp)# primary "p-primary" A:admin@SR1(config-router-mpls-lsp)# no shutdown A:admin@SR1(config-router-mpls-lsp)# exit

这里有三个no shutdown容易漏:path 的、lsp 的、以及primary "p-primary"下面还有一个。模板里连续写了四行no shutdown,看着冗余,其实每一行对应一个层级,少一行 LSP 就是 down。

MTU 是 MPLS 最隐蔽的坑。带标签的报文在链路上实际长度是“原始报文 + 4 字节 × 标签层数”,两层标签就是 8 字节额外开销。所以规划时要满足:端口mtu≥ 接口ip-mtu+ 二层头 + 标签开销。取ip-mtu 9000、mtu 9212,余量 212 字节,足够两层标签加 VLAN 头。反过来,如果端口 MTU 按默认 1514 配、接口 ip-mtu 却写了 9000,结果就是小包能通、大包全丢,ping 得通但业务传不了文件,这种故障最容易让人怀疑人生。

验证用三条命令,顺序别乱:

# 先看 MPLS 接口是否 up A:admin@SR1# show router mpls interface # 再看路径状态 A:admin@SR1# show router mpls path "p-primary" # 最后看 LSP,重点看 Oper State 和 Up Time A:admin@SR1# show router mpls lsp "lsp-to-pe2" detail

Oper State是Up但业务不通,基本就是 MTU 或者标签栈的问题;Oper State是Down,回到show router route-table看目的地址有没有 IGP 路由,再看路径里写的下一跳能不能通。业务承载侧常见的是 EPIPE,把两个 SAP 或 SAP 加 SDP 桥接起来,起业务前先确认两端的 SAP 端口都shutdown no,再确认 MTU 一致,否则同样是“状态全绿、业务不通”。

5. 避坑与排查:五条现场翻车记录

5.1 硬件与端口类的两条

现象一:卡插上去,show card一直显示 unknown,MDA 起不来。

原因是配置里的card-type和实物型号对不上,或者改类型前没执行shutdown,命令被静默忽略。解决路径是先configure card 1 shutdown,改完card-type再no shutdown,然后show card 1看 Admin State 和 Oper State 两列是否都正常;如果仍然是 unknown,把卡拔插一次让它重新识别,再不行就是硬件或背板问题,别在命令上耗时间。

现象二:端口 link up,小包通、大包丢,业务时断时续。

这类问题九成是 MTU 分层没算对。端口层mtu、接口层ip-mtu、MPLS 标签开销、VLAN 标签,任何一层少算,结果都是“看着通实际不通”。解决方法是分层核对:show port 1/1/1 detail看端口 MTU,show router interface "to-core1"看 ip-mtu,再按标签层数补余量。改 MTU 要两端一起改,单边改等于没改。

5.2 管理与安全类的两条

现象三:管理 ACL 配完,自己也 telnet 不进去了。

原因通常是default-action写成了 drop,但 permit 条目的 entry-id 排在了 deny 之后,或者应用方向写成了egress。这时候只能走 console 或者带外管理口进去救。解决步骤是先确认能带外登录,然后把 permit 条目的编号调到最小,default-action保持 drop,重新应用;应用前用show filter ip-filter 10逐条确认匹配条件和动作。

预防的做法是:永远保留一个不经过 ACL 的带外通道,ACL 的 entry-id 用 10 的步长留空号,改规则时插空即可,不用重排全部条目。

现象四:主备切换之后,备用主控的配置和主用不一致。

原因是变更只在主用上做,自动同步没有真正生效,或者同步任务在切换前一刻还没跑完。admin redundancy synchronize是手工兜底命令,变更完成后立即执行一次,再用show redundancy确认两块板的配置版本号一致。别指望“它会自己同步”——同步失败的提示藏在日志里,不主动查根本看不到。

5.3 协议类的一条

现象五:OSPF 邻居卡在 ExStart,或者 IS-IS 邻居起来了但路由学不到。

OSPF 卡 ExStart 基本上是 MTU 不一致导致的 DD 报文协商失败,两端接口ip-mtu对齐就能解决。IS-IS 邻居 up 但没路由,常见原因是interface-type两端不一致(一端 broadcast 一端 point-to-point),或者区域 ID 格式不同(49.0001 和 49.00001 看着像,其实是不同区域)。排查顺序是show router ospf neighbor detail看状态机卡在哪一步,show router isis adjacency detail看 hold time 和区域信息,再回到接口配置逐项对。

6. 把 29 页模板变成自己的基线:差异比对与三项验证

模板的价值不在“照着敲一遍”,而在“把它变成能反复比对的基线”。我现在的做法是三步:先在设备上跑一次admin display-config,把出厂态导出来存成baseline-before.txt;按模板配完之后再导一次存成baseline-after.txt;两次用diff一比,哪些是模板带来的、哪些是设备自带的默认值,一目了然。

# 导出当前配置到本地存储,再拷出来做比对 A:admin@SR1# admin display-config > cf3:/baseline-after.txt A:admin@SR1# admin save # 在运维机上比对两次快照,只看差异行 $ diff -u baseline-before.txt baseline-after.txt | less

这个动作看起来笨,但有两个直接好处:一是能发现模板里“写了但没生效”的配置(比如 policy 忘了 commit、filter 忘了挂接口,差异文件里根本不会出现);二是割接回退时有据可依,admin save存的那份配置就是回退点,比凭记忆重配可靠得多。

验证环节我固定查三层。控制面查邻居和路由条数:show router ospf neighbor、show router bgp summary、show router route-table,重点是条目数和预期一致,不是“有路由就行”。转发面查 LSP 和业务状态:show router mpls lsp看 Oper State,show service id 100 all看 SAP 和 SDP 是不是都 up。管理面查日志和时钟:show log log-id 10看有没有非预期的 error,show system time看 Stratum 是否正常。

还有一个具体技巧值得单独拎出来:模板里的可变项(IP、AS 号、区域 ID、接口名、槽位号)单独抽成一张变量表贴在文档第一页,配的时候只查这一张表,不去正文里翻。这样做的好处是改一个地址不用全文搜索,也不会出现“第 12 页写了 10.1.0.1、第 27 页写成 10.1.0.2”这种自相矛盾。我一般还会在每个一级配置段末尾加一行注释,写清楚这段对应规划文档的哪一节,半年后回来改配置时能省掉大量回忆成本。

从那以后我每次上架新设备,都强制走一遍“导出—配置—再导出—比对—三层验证”,哪怕只改了一行 ACL 也不跳过。这套流程本身不产生任何业务价值,但它是唯一能在半夜三点把你从“到底改了什么”里捞出来的东西。希望帮到你。

本文还有配套的精品资源,点击获取

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询