网络问题故障排除
处理网络问题
问题
描述
此检查清单提供了故障排除基础知识和示例网络的链接,并包括您可能用于诊断路由器和网络问题的命令摘要。
解决 方案
任务 |
命令或操作 |
---|---|
隔离断开的网络连接 | |
ping ( ip-address | hostname ) show route ( ip-address | ) hostname traceroute ( ip-address | hostname ) |
|
|
|
|
|
|
隔离断开的网络连接
通过应用图 1所示的标准四步流程,可在网络中隔离故障节点。请注意,15.1X49、15.1X49-D30 或 版本不支持本部分介绍15.1X49-D40。
但是,在启动这四步流程之前,您必须做好准备,应对所有网络上发生的必然问题。通过尝试各种操作,您可以找到解决问题的解决方案,但如果网络的维护和监控方法系统化,可以更快速地找到适当的解决方案。为网络问题做好准备,了解网络在正常条件下如何工作,记录基准网络活动,以及仔细观察问题情况下的网络行为。
图 2显示了本主题中使用的网络拓扑,用于说明诊断网络中问题的过程。
图 2 中的网络 由两个自治系统 (AS) 组成。AS 65001 路由器包括两个路由器,AS 65002 包含三个路由器。65001 中的AS路由器 ( ) 向 R1
100.100/24
65002 网络AS聚合前缀。此网络的问题是,由于 和 之间的环路, R6
R5
无法访问 R2
R6
。
要隔离网络中出现故障的连接,请遵循以下主题的步骤:
识别网络连接中断症状
问题
描述
网络故障症状通常十分明显,例如无法到达远程主机。
解决 方案
要识别网络问题症状,请从网络的一端开始,遵循路由另一端,输入以下所有或一项 Junos OS 命令行界面 (CLI) 操作模式命令:
user@host> ping (ip-address
|host-name
) user@host> show route (ip-address
|host-name
) user@host> traceroute (ip-address
|host-name
)
示例输出
user@R6> ping 10.0.0.5 PING 10.0.0.5 (10.0.0.5): 56 data bytes 36 bytes from 10.1.26.1: Time to live exceeded Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 0054 e2db 0 0000 01 01 a8c6 10.1.26.2 10.0.0.5 36 bytes from 10.1.26.1: Time to live exceeded Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 0054 e2de 0 0000 01 01 a8c3 10.1.26.2 10.0.0.5 36 bytes from 10.1.26.1: Time to live exceeded Vr HL TOS Len ID Flg off TTL Pro cks Src Dst 4 5 00 0054 e2e2 0 0000 01 01 a8bf 10.1.26.2 10.0.0.5 ^C --- 10.0.0.5 ping statistics --- 3 packets transmitted, 0 packets received, 100% packet loss user@R6> show route 10.0.0.5 inet.0: 20 destinations, 20 routes (20 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.0.0.5/32 *[IS-IS/165] 00:02:39, metric 10 > to 10.1.26.1 via so-0/0/2.0 user@R6> traceroute 10.0.0.5 traceroute to 10.0.0.5 (10.0.0.5), 30 hops max, 40 byte packets 1 10.1.26.1 (10.1.26.1) 0.649 ms 0.521 ms 0.490 ms 2 10.1.26.2 (10.1.26.2) 0.521 ms 0.537 ms 0.507 ms 3 10.1.26.1 (10.1.26.1) 0.523 ms 0.536 ms 0.514 ms 4 10.1.26.2 (10.1.26.2) 0.528 ms 0.551 ms 0.523 ms 5 10.1.26.1 (10.1.26.1) 0.531 ms 0.550 ms 0.524 ms
意义
示例输出显示一个失败的命令,其中数据包由于超过活动时间 ping
而被拒绝。命令的输出显示接口 ( ),您可以进一步 show route
10.1.26.1
检查可能的故障。命令显示 ( ) 和 ( ) 之间的环路,如两个接口地址的连续 traceroute
10.1.26.1
R2
10.1.26.2
R6
重复所示。
隔离网络问题的原因
问题
描述
特定症状可能是一个或多个原因造成的。缩小搜索范围,以查找有害行为的单独原因。
解决 方案
要隔离特定问题的原因,请输入以下一个或所有Junos OS CLI操作模式命令:
user@host> show < configuration | bgp | interfaces | isis | ospf | route >
您的特定问题可能不只是需要使用上面列出的命令。有关更详尽的常用操作模式命令列表,请参阅相应的命令参考。
示例输出
user@R6> show interfaces terse Interface Admin Link Proto Local Remote so-0/0/0 up up so-0/0/0.0 up up inet 10.1.56.2/30 iso so-0/0/2 up up so-0/0/2.0 up up inet 10.1.26.2/30 iso so-0/0/3 up up so-0/0/3.0 up up inet 10.1.36.2/30 iso [...Output truncated...]
以下示例输出来自 R2
:
user@R2> show route 10.0.0.5 inet.0: 22 destinations, 25 routes (22 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.0.0.5/32 *[Static/5] 00:16:21 > to 10.1.26.2 via so-0/0/2.0 [BGP/170] 3d 20:23:35, MED 5, localpref 100 AS path: 65001 I > to 10.1.12.1 via so-0/0/0.0
意义
示例输出显示 ,上的所有接口 R6
均已打开。中的输出显示,静态路由 [ ] 在点到 ( ) 上配置,是首选路由,因为它 R2
Static/5
的优先级 R2
R6
10.1.26.2
R5
值较低。但是,路由是循环到 的 R2
R6
,如 缺少对 ( ) 的 R5
参考表示 10.1.15.2
。
采取适当的措施解决网络问题
问题
描述
相应的操作取决于隔离的问题类型。此示例将从 [ ] 层次结构级别中删除在 上 R2
routing-options
配置的静态路由。其他适当的操作可能包括:
解决 方案
检查本地路由器的配置,并在适当时对其进行编辑。
排除中间路由器的故障。
检查远程主机配置,并在适当时对其进行编辑。
路由协议故障排除。
识别其他可能的原因。
要解决此示例中的问题,请输入以下 Junos OS CLI命令:
[edit] user@R2# delete routing-options static routedestination-prefix
user@R2# commit and-quit user@R2# show routedestination-prefix
示例输出
[edit] user@R2# delete routing-options static route 10.0.0.5/32 [edit] user@R2# commit and-quit commit complete Exiting configuration mode user@R2> show route 10.0.0.5 inet.0: 22 destinations, 24 routes (22 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.0.0.5/32 *[BGP/170] 3d 20:26:17, MED 5, localpref 100 AS path: 65001 I > to 10.1.12.1 via so-0/0/0.0
意义
示例输出显示从 [ ] 层次结构中删除的静态路由 routing-options
以及提交的新配置。命令的输出现在将 BGP路由显示为首选路由,如 星号 show route
( ) 所示 *
。
评估解决方案以检查网络问题是否得到解决
问题
解决 方案
要评估解决方案,请输入以下Junos OS CLI命令:
user@host> show route (ip-address
|host-name
) user@host> ping (ip-address
|host-name
) user@host> traceroute (ip-address
|host-name
)
示例输出
user@R6> show route 10.0.0.5 inet.0: 20 destinations, 20 routes (20 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.0.0.5/32 *[BGP/170] 00:01:35, MED 5, localpref 100, from 10.0.0.2 AS path: 65001 I > to 10.1.26.1 via so-0/0/2.0 user@R6> ping 10.0.0.5 PING 10.0.0.5 (10.0.0.5): 56 data bytes 64 bytes from 10.0.0.5: icmp_seq=0 ttl=253 time=0.866 ms 64 bytes from 10.0.0.5: icmp_seq=1 ttl=253 time=0.837 ms 64 bytes from 10.0.0.5: icmp_seq=2 ttl=253 time=0.796 ms ^C --- 10.0.0.5 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.796/0.833/0.866/0.029 ms user@R6> traceroute 10.0.0.5 traceroute to 10.0.0.5 (10.0.0.5), 30 hops max, 40 byte packets 1 10.1.26.1 (10.1.26.1) 0.629 ms 0.538 ms 0.497 ms 2 10.1.12.1 (10.1.12.1) 0.534 ms 0.538 ms 0.510 ms 3 10.0.0.5 (10.0.0.5) 0.776 ms 0.705 ms 0.672 ms
意义
示例输出显示,现在 和 命令之间已建立连接,命令显示BGP路由是首选路由,如 星号 R6
R5.
( ) show route
R5
所示 *
。命令 ping
成功, traceroute
命令显示从 到 的路径是 R6
到 ( R5
R2
10.1.26.1
),然后是 R1
到 ( 10.1.12.1
)。
跟踪错误情况核对清单
问题
描述
表2提供了用于配置路由协议守护程序追踪、边界网关协议 (BGP)、中间系统到中间系统 (IS-IS) 协议以及 开放最短路径优先 (OSPF) 协议追踪以诊断错误情况的链接和命令。
解决 方案
任务 |
命令或操作 |
---|---|
配置路由协议进程跟踪 | |
|
|
|
|
监控启动 filename |
|
监控停止 filename |
|
配置BGP特定选项 | |
|
|
|
|
|
|
配置IS-IS特定选项 | |
|
|
|
|
|
|
配置OSPF选项 | |
|
|
|
配置路由协议进程跟踪
行动
要配置路由协议进程 (rpd) 追踪,请执行以下步骤:
在配置模式下,转到以下层级:
[edit] user@host# edit routing-options traceoptions
配置文件、文件大小、编号和标记:
[edit routing-options traceoptions] user@host# set file filename size size file number [edit routing-options traceoptions] user@host# set flag flag
例如:
[edit routing-options traceoptions] user@host# set file daemonlog size 10240 files 10 [edit routing-options traceoptions] user@host# set flag general
验证配置:
user@host# show
例如:
[edit routing-options traceoptions] user@host# show file daemonlog size 10k files 10; flag general;
提交配置:
user@host# commit
某些追踪选项标记会生成大量信息。追踪也会减慢路由协议的操作速度。如果不再需要,请删除追踪选项配置。
查看包含详细消息的文件内容:
user@host# run show log filename
例如:
[edit routing-options traceoptions] user@pro4-a# run show log daemonlog Sep 17 14:17:31 trace_on: Tracing to "/var/log/daemonlog" started Sep 17 14:17:31 Tracing flags enabled: general Sep 17 14:17:31 inet_routerid_notify: Router ID: 10.255.245.44 Sep 17 14:17:31 inet_routerid_notify: No Router ID assigned Sep 17 14:17:31 Initializing LSI globals Sep 17 14:17:31 LSI initialization complete Sep 17 14:17:31 Initializing OSPF instances Sep 17 14:17:31 Reinitializing OSPFv2 instance master Sep 17 14:17:31 OSPFv2 instance master running [...Output truncated...]
意义
表 3列出了受 Junos守护程序跟踪的跟踪标志和示例输出。
追踪标志 |
描述 |
示例输出 |
---|---|---|
全部 |
所有操作 |
不可用。 |
常规 |
正常运行和路由表更改 |
不可用。 |
正常 |
正常运行 |
不可用。 |
策略 |
策略操作和操作 |
11 月 29 日 22:19:58 导出:Dest 10.0.0.0 proto 静态 11 月 29 22:19:58 policy_match_qual_or:合格程序代理感知:11 月 2 日 9 22:19:58 policy_match_qual_or:合格资格感知:11 月 29 日 22:19:58 导出:Dest 10.10.10.0 proto IS-IS |
路由 |
路由表更改 |
11 月 29 日 22:23:59 29:23:59 rtlist_walker_job: rt_list RIB inet.0 步行 42 个条目开始 11 月 29 22:23:59 rt_flash_update_callback: flash KRT (inet.0) 从 11 月 29 22:20 开始 3:59 rt_flash_update_callback: Flash KRT (inet.0) 于 11 月 29 日 22:23:59 rtlist_walker_job: rt_list for inet.0 的步行以 42 个条目结束 11 月 29 22:23:59 11 月 29 22:23:59 KRT 请求: 发送 len 68 v14 seq 0 CHANGE 路由/用户 af 2 addr 172.16.0.0 nhop-type 单播 nhop 10.10.10.33 11 月 29 22:23:59 KRT 请求: 发送 68 v14 seq 0 ADD 路由/用户 af 2 addr 172.17.0.0 nhop-type 单播 nhop 10.10.10.33 11 月 29 22:23:59 KRT 请求: 发送 68 v14 seq 0 ADD 路由/用户 af 2 addr 10.149.3.0 nhop 类型单播 nhop 10.10.10.33 11 月 29 22:24:19 trace_on: 跟踪"/var/log/rpdlog"始于 11 月 29 日 22:24:19 KRT 请求: 发送 68 v14 seq 0 DELETE 路由/用户 af 2 addr 10.10.21 8.0 nhop 类型单播 nhop 10.10.10.29 11 月 29 22:24:19 版本 10.10.218.0 255.0 255.255.0gw 10.10.10.29,10.10.10.33 BGP pref 170/-101 指标 so-1 /1/0.0,so-1/1/1.0 <删除 Int Ext>作为 65401 11 月 29 22:24:19 KRT 请求: 发送 68 v14 seq 0 DELETE 路由/用户 af 2 addr 172.18.0.0 nhop-type 单播 nhop 10.10.10.33 |
状态 |
状态转换 |
不可用。 |
任务 |
接口事务和处理 |
11 月 29 日 22:50:04 前景调度运行作业 task_collect 用于任务 调度器 11 月 29 22:50:04 task_collect_job:释放任务 MGMT_Listen (DELETED) 11 月 29 日 22:50:04 前景调度 完成的任务 task_collect 用于任务调度器 11 月 29 日 22:50:04 后台调度运行作业 rt_static_update 用于任务 RT 11 月 29 日 22:50:04 task_job_delete:删除任务 RT 的后台作业 rt_static_update 11 月 29 日 22:50:04 背景调度 完成的工作 rt_static_update 用于任务RT 11 月 29 日 22:50:04 后台调度运行任务 闪存更新 RT 11 月 29 日 22:50:04 后台调度返回的工作 闪存更新 用于任务 RT 11 月 29 22:50:04 后台调度运行任务闪存更新 任务 RT 11 月 2 日 9 22:50:04 task_job_delete: 删除任务 RT 的后台作业闪存更新 11 月 29 日 22:50:04 后台调度任务 RT 完成作业 闪存更新 11 月 29 22:50:04 后台调度运行任务 闪存更新用于任务 RT11 月 29 日 22:50:04 task_job_delete:删除任务 RT 后台作业闪存更新 |
定时器 |
定时器使用 |
11 月 29 日 22:52:07 task_timer_hiprio_dispatch: 运行 1 个定时器 11 月 29 日 22:52:07 主:运行正常优先级计时器队列 11 月 29 日 22:52:07 主:运行 1 个定时器 11 月 29 日 22:52 :07 task_timer_hiprio_dispatch: 运行高优先级计时器队列 11 月 29 日 22:52:07 task_timer_hiprio_dispatch: 运行 1 个计时器 11 月 29 22:52:07 主:运行正常优先级计时器队列 11 月 29 日 22:52:07 主设备: ran 1 定时器 11 月 29 日 22:52:07 主:运行正常优先级计时器队列 11 月 29 22:52:07 主:运行 2 个定时器 |
为特定路由协议配置路由协议跟踪
行动
要为特定路由协议配置路由协议跟踪,请执行以下步骤:
在配置模式下,转到以下层级:
[edit] user@host# edit protocol protocol-name traceoptions
配置文件、文件大小、编号和标记:
[edit protocols protocol name traceoptions] user@host# set file filename size size files number [edit protocols protocol name traceoptions] user@host# set flag flag
例如:
[edit protocols ospf traceoptions] user@host# set file ospflog size 10240 files 10 [edit protocols ospf traceoptions] user@host# set flag general
验证配置:
user@host# show
例如:
[edit protocols ospf traceoptions] user@host# show file ospflog size 10k files 10; flag general;
提交配置:
user@host# commit
查看包含详细消息的文件内容:
user@host# run show log filename
例如:
[edit protocols ospf traceoptions] user@pro4-a# run show log ospflog Sep 17 14:23:10 trace_on: Tracing to "/var/log/ospflog" started Sep 17 14:23:10 rt_flash_update_callback: flash OSPF (inet.0) start Sep 17 14:23:10 OSPF: multicast address 224.0.0.5/32, route ignored Sep 17 14:23:10 rt_flash_update_callback: flash OSPF (inet.0) done Sep 17 14:23:10 CHANGE 10.255.245.46/32 gw 10.10.208.67 OSPF pref 10/0 metric 1/0 fe-0/0/0.0 <Delete Int> Sep 17 14:23:10 CHANGE 10.255.245.46/32 gw 10.10.208.67 OSPF pref 10/0 metric 1/0 fe-0/0/0.0 <Active Int> Sep 17 14:23:10 ADD 10.255.245.46/32 gw 10.10.208.67 OSPF pref 10/0 metric 1/0 fe-0/0/0.0 <Active Int> Sep 17 14:23:10 CHANGE 10.255.245.48/32 gw 10.10.208.69 OSPF pref 10/0 metric 1/0 fe-0/0/0.0 <Delete Int> Sep 17 14:23:10 CHANGE 10.255.245.48/32 gw 10.10.208.69 OSPF pref 10/0 metric 1/0 fe-0/0/0.0 <Active Int> Sep 17 14:23:10 ADD 10.255.245.48/32 gw 10.10.208.69 OSPF pref 10/0 metric 1/0 fe-0/0/0.0 <Active Int> Sep 17 14:23:10 rt_close: 4/4 routes proto OSPF [...Output truncated...]
意义
表 4列出了全球可用或可应用于特定协议的标准追踪选项。您还可以为特定组或对等组BGP 对等体追踪。有关详细信息,请参阅 Junos基本配置指南。
追踪标志 |
描述 |
---|---|
所有 |
所有操作 |
一般 |
正常运行和路由表更改 |
正常 |
正常运行 |
政策 |
策略操作和操作 |
路线 |
路由表更改 |
状态 |
状态转换 |
任务 |
接口事务和处理 |
计时 器 |
定时器使用 |
监控近乎实时编写的追踪文件消息
目的
在将消息编写为跟踪文件时,可近乎实时地监控消息。
行动
要近乎实时地将消息写入跟踪文件,请使用以下命令Junos OS 命令行界面 (CLI) 操作模式命令:
user@host> monitor start filename
示例输出
命令名称
user@host> monitor start isis user@host> *** isis *** Sep 15 18:32:21 Updating LSP isis5.02-00 in database Sep 15 18:32:21 Updating L2 LSP isis5.02-00 in TED Sep 15 18:32:21 Adding a half link from isis5.02 to isis6.00 Sep 15 18:32:21 Adding a half link from isis5.02 to isis5.00 Sep 15 18:32:21 Adding a half link from isis5.02 to isis6.00 Sep 15 18:32:21 Adding a half link from isis5.02 to isis5.00 Sep 15 18:32:21 Scheduling L2 LSP isis5.02-00 sequence 0xd87 on interface fxp2.3 Sep 15 18:32:21 Updating LSP isis5.00-00 in database Sep 15 18:32:21 Updating L1 LSP isis5.00-00 in TED Sep 15 18:32:21 Sending L2 LSP isis5.02-00 on interface fxp2.3 Sep 15 18:32:21 sequence 0xd87, checksum 0xc1c8, lifetime 1200
停止跟踪文件监控
行动
要近乎实时地停止监控跟踪文件,请开始监控Junos OS CLI操作模式命令:
user@host monitor stop filename
示例输出
user@host> monitor start isis user@host> *** isis *** Sep 15 18:32:21 Updating LSP isis5.02-00 in database Sep 15 18:32:21 Updating L2 LSP isis5.02-00 in TED Sep 15 18:32:21 Adding a half link from isis5.02 to isis6.00 Sep 15 18:32:21 Adding a half link from isis5.02 to isis5.00 Sep 15 18:32:21 Adding a half link from isis5.02 to isis6.00 Sep 15 18:32:21 Adding a half link from isis5.02 to isis5.00 Sep 15 18:32:21 Scheduling L2 LSP isis5.02-00 sequence 0xd87 on interface fxp2.3 Sep 15 18:32:21 Updating LSP isis5.00-00 in database Sep 15 18:32:21 Updating L1 LSP isis5.00-00 in TED Sep 15 18:32:21 Sending L2 LSP isis5.02-00 on interface fxp2.3 Sep 15 18:32:21 sequence 0xd87, checksum 0xc1c8, lifetime 1200 monitor stop isis user@host>