资讯动态

IP地址、PPP、静态路由与RIP动态路由配置及排错实践

发布时间:2026/10/27 12:23:22 来源:尧图企业网站定制
第一次做这个课设的时候我在一根串口线前面耗了四十分钟。两边接口都是 upIP 地址核对了三遍ping过去就是不通最后发现是两侧的 PPP 认证方式一边写了 PAP、一边写了 CHAP。那之后我才明白这类实验真正考的不是背命令而是能不能看懂链路层协商和网络层寻址这两件事各自负责什么、在哪一层断掉该去哪里查。这篇内容把我把IP 地址配置、PPP 协议配置、静态路由配置、RIP 动态路由配置这四个任务串起来做的完整过程整理出来包含拓扑规划、命令配置、验证方法和踩坑记录。适合正在做网络方向课设、刚开始接触设备命令行的同学也适合已经能敲命令但对为什么这么敲没底的朋友。全程用常见的网络设备命令行语法演示你在模拟器或者真机上都能对应上。1. 拓扑与地址规划动手敲命令之前的半小时1.1 为什么地址规划比配置本身更值得花时间我见过太多人打开模拟器就开始拖设备、连网线、敲 IP半小时后陷入到处能 ping 通一半的混乱局面。根源在于没有一张纸上的规划。地址规划的意义不在于美观而在于它提前排除了两类最常见的错误同一网段内地址重复以及路由聚合后互相覆盖。具体来说动手前至少要在纸上或者笔记软件里写清楚三件事每个网段用哪个地址块、每个设备的每个接口落在哪个网段、每个网段的地址用途是什么互联链路、用户接入、环回测试。第三点最容易被跳过但它直接决定了后面写静态路由和 RIP 的network语句时会不会漏。我个人的习惯是画一个小表格左列是网段中间是掩码和可用地址范围右列是这条链路两端的接口名。表格填完拓扑的正确性基本就锁死了七成。课设场景一般三到五台路由器就够了。我用下面这个结构演示后面所有命令都基于它设备角色接口地址说明R1边缘路由器GE0/0/0192.168.10.1/24连接用户网段 AR1Serial1/0/010.1.1.1/30与 R2 的 PPP 互联R1LoopBack01.1.1.1/32设备管理地址R2中间路由器Serial1/0/010.1.1.2/30与 R1 互联R2Serial1/0/110.1.2.1/30与 R3 的 PPP 互联R3远端路由器Serial1/0/110.1.2.2/30与 R2 互联R3GE0/0/0192.168.30.1/24连接用户网段 C1.2 互联链路为什么清一色用 /30新手最常问的一个问题是两台路由器之间就一根线为什么要浪费一个 /24 甚至一个 /16答案很直接——互联链路只需要两个可用地址/30 的 255.255.255.252 正好提供两个主机位地址一个给这端、一个给那端不多不少。用 /24 不会立刻出错但会给后面挖坑第一RIP 和静态路由的路由表里会多出一堆无意义的明细条目display ip routing-table一屏翻不完第二某天你要往这条链路上挂第三台设备做旁路测试地址冲突的排查成本会陡增。这里的计算其实很简单。一个 /30 的子网掩码是 255.255.255.252主机位只有 2 位2²-22 个可用地址网络号是 4 的倍数。所以 10.1.1.0/30 可用地址就是 10.1.1.1 和 10.1.1.2广播地址 10.1.1.3。下一条链路就从 10.1.1.4 开始写成 10.1.2.0/30 更不容易看错。我建议串行链路直接用第二段做区分比全挤在 10.1.1.0/24 里切 /30 要直观得多。提示如果你用的模拟器版本较老Serial 接口的编号规则可能是Serial 0/0/0这种三位格式而新版本是Serial 1/0/0。敲命令前先display interface brief看一眼实际存在的接口名别凭记忆写。1.3 设备命名和接口描述一个几乎零成本的好习惯这件事我一开始也嫌麻烦后来在做四台以上设备的拓扑时彻底改观了。sysname R1这种命名会让命令行提示符从HUAWEI变成[R1]一眼就知道自己在哪台设备上操作。模拟器里所有设备默认名是一样的多开几个窗口之后你真的会分不清哪个是哪个然后就在 R2 上配了 R3 的地址。接口描述是另一个被低估的细节。description to-R2-Serial1/0/0这样一行字写的时候只花两秒排错的时候能省你十分钟。它的价值在于把接口名这个纯技术标识翻译成这条线通向哪里的业务语义。等你display interface brief看到一屏 up 的接口时描述列是唯一能告诉你哪条线接哪里的信息。配置方式很朴素[R1] interface Serial 1/0/0 [R1-Serial1/0/0] description to-R2-via-PPP [R1-Serial1/0/0] quit做完上面这三件事基础就稳了。有人会问地址规划能不能靠 DHCP 或者自动配置省掉在这类课设里不行因为静态路由和 RIP 都要依赖你确切知道每个网段是什么自动分配反而会引入不确定性。规划是人的工作配置才是设备的工作。2. IP 地址配置从接口地址到真正能通2.1 两个状态位决定一切接口配上地址之后display ip interface brief会显示两列状态Physical 和 Protocol。这一条命令是整个网络排错的起点我认为它比ping更重要因为它告诉你的是链路本身活了没有而 ping 只能告诉你端到端通不通后者不通的时候你根本不知道断在哪一层。Physical 状态反映物理层指的是接口有没有检测到载波信号串行线缆没插好、对端接口被shutdown了这一列就是 Down。Protocol 状态反映数据链路层指的是链路层协议有没有协商成功。PPP 场景下这条线最容易出现Physical up、Protocol down说明物理连接是好的但 LCP 协商失败了——认证方式不匹配、认证失败、或者一端是 PPP 另一端是 HDLC都会造成这个现象。这两种状态的组合其实已经给出了排查方向PhysicalProtocol典型原因先查什么downdown线缆未接、对端 shutdown、接口类型不匹配物理连接和对端接口状态updown链路层协商失败、PPP 认证失败、封装不一致链路层封装与认证配置upup链路层正常转去查 IP 地址和路由记住这张表后面所有排错都能省掉一半时间。2.2 路由器、交换机、主机三者的配置路径不一样路由器配置接口地址是最直接的R1 system-view [R1] sysname R1 [R1] interface GigabitEthernet 0/0/0 [R1-GigabitEthernet0/0/0] ip address 192.168.10.1 255.255.255.0 [R1-GigabitEthernet0/0/0] undo shutdown [R1-GigabitEthernet0/0/0] quit注意后面两句的顺序先配地址再undo shutdown或者反过来都行但一定不能只配地址就不管shutdown状态。有些设备接口默认是开启的有些不是模拟器里尤其容易出现配置完了发现 Physical 一直 down其实只是接口没打开。交换机不能直接在物理接口上配 IP三层交换机除外这个坑我第一次做的时候就踩了。二层交换机要管理地址得建一个 VLAN 接口SW1 system-view [SW1] vlan 10 [SW1-vlan10] quit [SW1] interface Vlanif 10 [SW1-Vlanif10] ip address 192.168.10.254 255.255.255.0 [SW1-Vlanif10] quit而且这个 VLANIF 要 up必须至少有一个属于 VLAN 10 的物理端口处于 up 状态否则 VLANIF 的 Protocol 会一直是 down。这是二层交换机管理地址配不通的头号原因很多人配完发现 ping 不通交换机的管理地址查了半天地址其实问题在没有活动端口。主机的地址配置反而最容易被想复杂。在模拟器里给 PC 配 IP、掩码、网关三步走网关填的是同网段的路由器接口地址不是远端网段地址。这个网关必须是同网段的常识在紧张赶工的时候反而经常写错。2.3 掩码写错之后症状千奇百怪掩码错误是这个实验里最高频的低级错误但它的症状非常有欺骗性因为有时候它居然能通。举个真实例子R1 的 GE0/0/0 配成 192.168.10.1/24PC 的网关配成 192.168.10.1PC 自己的地址配成 192.168.10.100/25。这时候 PC 设 192.168.10.1 网关能用因为 192.168.10.1 在它的 /25 范围内但如果你把 PC 地址改成 192.168.10.200/25它就会认为网关 192.168.10.1 不在自己网段它的网段是 192.168.10.128/25于是往网关发 ARP 的时候就出问题了。所以判断掩码配置是否正确最可靠的方法是对比两端。在 R1 上display ip interface brief确认接口掩码在 PC 上看配置再在 PC 上ping 192.168.10.1验证。如果 ping 网关不通而接口状态正常那十有八九是掩码或网段的问题。还有一个小技巧在 PC 上查看 ARP 表如果网关条目一直是未解析的状态说明 ARP 请求根本没到网关问题就在二层可达性或者地址规划。另外提醒一句/24 和 /32 是两个极端。/24 用于普通网段/32 通常只用在环回口上——环回口配 /32 是个好习惯它保证了这个地址不会被误认为属于某个更大的网段同时作为设备标识使用最稳定。interface LoopBack 0加ip address 1.1.1.1 32两行搞定后面做 RIP 和静态路由的时候用它当测试目标是标准做法。3. PPP 协议真正需要盯的是协商过程3.1 LCP 和 NCP 分别在谈什么PPP 的全称是点对点协议但真正理解它要抓住一件事PPP 不是一层而是由若干个协议组成的栈。上面跑的 IP 包需要被封装封装前要先建链路建链路前要协商参数这些工作被拆给了 LCP 和 NCP 两大部分。LCP链路控制协议负责的是我们这个链路怎么建立——最大接收单元多大、要不要认证、用什么认证方式、什么时候拆链。NCP网络控制协议是一组协议的总称对 IP 而言就是 IPCP它负责的是链路建好之后IP 地址这些网络层参数怎么协商。这个分层结构解释了很多现象。比如你在串口上把链路层封装换成 PPPdisplay interface Serial 1/0/0会看到 LCP 的 open 状态如果认证配错了LCP 就会在 negotiation 阶段卡住或者关闭Protocol 状态跟着变 down。所以看到Physical up / Protocol down第一反应就是去看 LCP 协商到哪一步了而不是去查 IP 地址。3.2 两侧参数必须一致的那几项PPP 配置最核心的原则是结果要一致配法可以不同。具体说至少有四项是必须两端对齐的第一项是封装协议。两端都得是link-protocol ppp一端 PPP 一端 HDLCLCP 根本无法开始协商。第二项是认证方式一端 CHAP 一端 PAP 也不行因为认证方式是在 LCP 协商阶段就定下来的。第三项是认证的凭据内容用户名和密码必须匹配。第四项是 MTU 和 MRU这一项一般来说默认值就一致但只要有人改过其中一端就会出现小包通大包不通的诡异现象这个坑很值得警惕。我来演示一套标准的 CHAP 单向认证配置。假设 R1 是认证方R2 是被认证方。R2 上要先建本地用户R2 system-view [R2] aaa [R2-aaa] local-user r1-account password cipher Lab12345 [R2-aaa] local-user r1-account service-type ppp [R2-aaa] quit [R2] interface Serial 1/0/0 [R2-Serial1/0/0] link-protocol ppp [R2-Serial1/0/0] ip address 10.1.1.2 255.255.255.252 [R2-Serial1/0/0] ppp authentication-mode chap [R2-Serial1/0/0] quit然后在 R1 上把用户名密码告诉它让它在被要求认证时能应答R1 system-view [R1] interface Serial 1/0/0 [R1-Serial1/0/0] link-protocol ppp [R1-Serial1/0/0] ip address 10.1.1.1 255.255.255.252 [R1-Serial1/0/0] ppp chap user r1-account [R1-Serial1/0/0] ppp chap password cipher Lab12345 [R1-Serial1/0/0] quit这里有一个特别容易搞错的地方ppp chap user后面跟的用户名是对端设备上创建的本地用户名不是本设备的名字。因为 CHAP 是三报文握手认证方发一个随机数和自己的名字被认证方用收到的随机数加上密码算一个哈希值回过去同时带上自己的用户名认证方拿这个用户名去本地 AAA 里查密码再算一遍做比对。所以 R1 发出去的用户名必须能在 R2 的本地用户表里找到。我第一次配的时候想当然填了自己的设备名结果认证一直失败。3.3 认证失败的完整排查链路认证失败的报错信息很少基本就是display interface Serial 1/0/0看到 LCP 状态异常或者日志里一行 PPP authentication failed。信息少不代表难查关键是按顺序走。第一步确认两端认证方式是否一致。R1 写ppp authentication-mode chapR2 也必须是 chap如果 R1 是 chap 而 R2 根本没配ppp authentication-mode那 R1 就会认为对端不支持认证协商直接谈崩。第二步确认用户名在不在对端本地用户表里。在认证方执行display local-user看有没有对端发来的那个用户名。注意这里查的是认证方的表不是被认证方的表。第三步确认密码是否一致。这个最难查因为密码在配置里是密文显示的display current-configuration看到的是cipher %^%#...一串乱码肉眼比对不了。最可靠的办法是在两端都重新local-user xxx password cipher 新密码覆盖一遍用同一串明文。我吃过一次亏一个字符大小写不一致折腾了很久。第四步检查ppp chap user有没有配。很多人在被认证方只配了密码没配用户名或者反了。用户名和密码这一对是必须同时存在的。第五步如果以上都对了还不通去看 MAC 或者接口速率/双工。串行链路一般没有这个问题但如果你做的是以太网口上的 PPPoE 或者用了转换器速率不匹配会造成间歇性认证失败。注意PAP 是明文传输密码的两次握手CHAP 是三次握手并且密码不直接上线。课设里两种都要求会配但实际工程里能用 CHAP 就不要用 PAP。PAP 的配置差别在于被认证方用ppp pap local-user 用户名 password cipher 密码而认证方仍然在 AAA 里建本地用户。3.4 IP 地址协商这个容易被跳过的点PPP 的 IPCP 支持地址协商一端可以配置ppp ipcp remote-address或者干脆让对端用ip address ppp-negotiate从对端获取地址。课设通常不要求所以我建议两边都配静态 IP 地址简单可控。但是这里有个细节值得知道如果你在接口上写了ip address ppp-negotiate那么无论你再写什么固定地址最终生效的都是协商来的那个。有人在接口上同时配了两条然后display ip interface brief看到的地址和自己预期的不一样查了半天以为自己敲错了。所以配之前先想清楚用哪种方式别混着来。验证 PPP 链路是否真正可用我通常做三件事display interface Serial 1/0/0看 LCP 和 IPCP 状态ping对端的接口地址最后ping对端的环回口地址。第二项验证直连链路第三项验证路由是否已经就位。三步都过这条链路可以认为彻底通了。4. 静态路由手工指路背后的判断逻辑4.1 路由表里那几种条目的优先级在写第一条ip route-static之前必须先理解路由表是怎么选路的。设备会维护一张路由表每条表项包含目的网段、掩码、下一跳/出接口、优先级preference和开销cost。选路时先比掩码长度最长匹配优先掩码相同再比优先级数值小的优先优先级相同再比开销。这个规则解释了为什么直连路由永远最优先。直连网段的路由是接口配置 IP 之后自动生成的优先级是 0而静态路由默认优先级是 60RIP 默认是 100。所以只要接口上有地址且状态是 up同一个网段你就别想用静态路由去覆盖它。理解了这个顺序配静态路由的时候就不会犯为什么我配了默认路由但不生效这类错误。常见原因是第一下一跳不可达第二目的网段其实有更精确的明细路由第三设备上压根没开路由功能三层交换机要ip routing某些型号还要注意。第三种在三层交换机场合特别常见配了一堆路由发现display ip routing-table里根本没有最后发现是没开全局路由。4.2 下一跳写 IP 还是写出接口静态路由有两种写法指定下一跳 IP或者指定出接口。这两种写法的适用场景完全不同值得说清楚。指定下一跳 IP 的写法是标准做法[R1] ip route-static 192.168.30.0 255.255.255.0 10.1.1.2好处是明确设备知道把包交给谁会为了这个下一跳去查一次路由适合多点接入的以太网环境。缺点是在点对点链路上多做了一次递归查找而且如果下一跳地址本身不可达这条路由就不会生效。指定出接口的写法是[R1] ip route-static 192.168.30.0 255.255.255.0 Serial 1/0/0在点对点链路上这种写法更高效因为串行链路上只有一个对端直接把包丢出接口就行了不需要再查一次。问题在于如果链路类型不是点对点比如以太网写出接口就会导致设备不知道目的 MAC 应该填谁的它只能尝试广播或者丢弃。我的习惯是串行链路和隧道接口用出接口写法以太网链路一律用下一跳 IP 写法。两种都写其实也支持ip route-static 目的 掩码 出接口 下一跳在某些场景下这样写更稳但没必要为难自己。4.3 默认路由与浮动静态路由默认路由是 0.0.0.0/0本质上是所有其他网段都往这里走。在 R1 上如果没有别的路由能匹配就走默认路由[R1] ip route-static 0.0.0.0 0.0.0.0 10.1.1.2它的好处是省事坏处是掩盖问题。默认路由配上之后ping一个不存在的地址可能不会立刻报网络不可达而是等超时因为数据包被扔出去了但没人回。排错的时候默认路由的存在会让目标不可达的判断变得模糊。浮动静态路由是我认为这个实验里最值得学的技巧。它的原理很简单给备份路径的静态路由配一个更大的优先级数值数值越大优先级越低主路径失效时备份路径会自动顶上。具体写法[R1] ip route-static 192.168.30.0 255.255.255.0 10.1.1.2 preference 60 [R1] ip route-static 192.168.30.0 255.255.255.0 10.1.2.2 preference 100前一条优先级 60默认值后一条 100。正常情况下只有前一条进路由表display ip routing-table找不到后一条。当你把主链路接口shutdown掉等待几秒再看第二条就会顶上来。这个看不到到看得到的切换过程是理解路由优先级最直观的方式。验证的命令是display ip routing-table配合display ip routing-table 192.168.30.0查看具体条目。另外display ip routing-table protocol static只看静态路由在路由条目多的时候很好用。4.4 路由环路长什么样静态路由配错方向很容易造成环路。典型场景是两台路由器互相把对方当成去往某个网段的下一跳# R2 上 [R2] ip route-static 192.168.10.0 255.255.255.0 10.1.1.1 # R1 上错误示范 [R1] ip route-static 192.168.10.0 255.255.255.0 10.1.1.2R1 明明自己就直连着 192.168.10.0/24却又配了一条指向 R2 的静态路由。因为直连路由优先级是 0静态是 60这条错误配置在正常情况下不会生效属于潜伏的隐患。但如果 R1 的 GE0/0/0 接口 down 了直连路由消失这条静态路由就会被激活数据包在 R1 和 R2 之间来回弹直到 TTL 减到 0。tracert看到一串在两跳之间循环的结果就是这个现象。更隐蔽的情况是目的网段根本不存在两台路由器互相指对方为下一跳形成黑洞。这种拓扑下ping表现为超时而不是不可达很容易被误判为链路问题。所以配完静态路由务必对所有网段做一次全连通验证而不是只测一条。5. RIP 动态路由协议帮你算路但你得管住它5.1 距离矢量的本质与 15 跳的天花板RIP 是距离矢量路由协议核心思想是我听邻居说去某地要几跳那我就用邻居的跳数加一。它不关心网络拓扑长什么样只关心跳数这个标量。这种设计的优点是实现简单、配置量小缺点是收敛慢而且有 15 跳的硬上限——超过 15 跳的网段会被认为不可达标记为 16。这个 15 跳的限制不是理论摆设。课设拓扑一般两三跳肯定碰不到但你要知道它存在因为这意味着 RIP 只适合小型网络。另外它还有一个副作用跳数相同的多条路径会被等价负载分担这在某些场景下是好事但在排错时会造成困惑——即使用tracert看到流量走了某条路也不代表另一条路没被使用。RIP 的另一个特征是它用 UDP 520 端口发报文周期性广播或者组播整张路由表。所以它天然会消耗带宽网络规模一大就更明显。理解这一点你就知道为什么network命令的写法需要谨慎——它不是宣告某个接口而是宣告某个网段这个区别非常关键。5.2 RIPv1 和 v2 的差异以及 network 到底在做什么RIPv1 是有类路由协议路由更新里不带掩码所以它只认 A/B/C 类主网且不支持 VLSM。RIPv2 加了掩码字段支持 VLSM 和 CIDR还支持组播更新和认证。课设里一律用 v2因为我们的互联链路是 /30v1 根本表达不了。配置形态是这样以 R1 为例[R1] rip 1 [R1-rip-1] version 2 [R1-rip-1] network 192.168.10.0 [R1-rip-1] network 10.0.0.0 [R1-rip-1] undo summary [R1-rip-1] quit这里最容易出错的地方是network参数。它后面跟的是主类网络地址不是接口地址也不是子网地址。192.168.10.0/24 是 C 类地址主类网络就是 192.168.10.0写它没问题。但互联链路 10.1.1.0/30 是 A 类地址空间主类网络是 10.0.0.0你必须写成network 10.0.0.0而不能写network 10.1.1.0。写错了不报错只是这条链路不会被 RIP 宣告出去。这个规则第一次接触会觉得反直觉但它背后的逻辑其实很清楚RIP 的 network 命令是在告诉设备请找出所有属于这个主类网络的接口把它们启用 RIP。设备内部会做匹配所以填的是主类网络。RIPv2 加上undo summary之后宣告出去的是明细网段而不是自动汇总的大网段这样 /30 的互联链路才能被正确传递。undo summary这一条我建议无脑加上。自动汇总在 RIPv2 里默认开启会把 192.168.10.0/24 这类子网汇总成 192.168.0.0/16 发包出去如果你的拓扑里有多个 192.168.x.0/24 网段分布在不同的路由器上汇总会导致路由混乱——远端路由器以为去 192.168.0.0/16 走某一条路就行结果把包送错了地方。这个坑我在做多网段拓扑时踩过症状是某些网段在不同位置 ping 结果不一致。5.3 水平分割和毒性逆转解决什么既然 RIP 靠邻居传话那必然要处理一个问题我从邻居那里学到的路由要不要再告诉这个邻居不加限制的话邻居 A 告诉 B 说我能到网段 XB 又告诉 A我能到网段 XA 就会把 B 当成去 X 的路径形成环路。RIP 用两条机制堵这个漏洞。水平分割的规则是从某个接口学到的路由不再从这个接口发回去。这条规则基本上就堵住了最直接的两跳环路。毒性逆转则更主动从某个接口学到的路由从这个接口发回去时把跳数标成 16不可达。两者效果相近毒性逆转更保险但更耗带宽。设备上一般默认开启水平分割display rip 1 interface verbose能看到当前状态。我的建议是保持默认不用刻意关。有些特殊拓扑比如帧中继的星型结构需要关闭但课设里用不到。这里还有一个容易忽略的点接口被配了silent-interface之后这个接口就不会收发 RIP 报文了。它的用途是让连接用户网段的接口只通告路由、不接收路由更新安全性更好。配置方式是[R1] rip 1 [R1-rip-1] silent-interface GigabitEthernet 0/0/0在课设里这是加分项不是必须项。但如果你发现某个接口明明在network范围内却始终不发 RIP 更新先去查有没有被误配成 silent。5.4 用 display 和 debugging 把协议看穿RIP 的验证分三个层次。第一层看全局display rip 1能看到 RIP 进程状态、版本、是否开启汇总。这一条用来确认配置生效了没有。第二层看路由display rip 1 route是 RIP 自己的路由数据库display ip routing-table protocol rip是已经进入全局路由表的条目。这两个结果不一定一样因为 RIP 数据库里可能有优先级更低的条目被静态路由压住没进全局表。对比两者能快速发现学是学到了但没生效的问题。第三层看报文这一步最有用但也最少人做R1 terminal monitor R1 terminal debugging R1 debugging rip 1 packet然后你会看到 RIP 报文在接口上进出的情况包括从哪个接口收到、源地址是什么、里面有几个路由条目。如果发现某个网段在发的报文里根本不存在问题就在宣告端如果在发的报文里有但收端没学到问题就在接收端的network配置或者过滤策略。注意debugging 会大量占用设备 CPU做完立刻用undo debugging all关掉。在模拟器里无所谓但在真机或者考试环境里忘了关可能直接导致设备响应变慢。6. 四个任务串起来做时的顺序和联动问题6.1 我的实际操作顺序这四个任务不是平级的它们有依赖关系顺序错了会重复返工。我的做法是先 IP 地址再 PPP再静态路由最后 RIP。理由是地址是一切的基础链路层协商成功才能谈网络层可达静态路由能让你在不依赖协议的情况下先验证拓扑是否全通RIP 则是在静态路由验证过的拓扑上做动态替换。如果先配 RIP 再配静态路由你会发现静态路由进不了路由表被优先级更高的直连和 RIP 抢占排错时会怀疑自己写错了命令。具体到验证节点我在四个阶段分别做一次检查阶段验证命令通过标准IP 配置后display ip interface brief所有接口 Physical/Protocol 双 upPPP 配置后ping对端直连接口地址能通延迟稳定静态路由后display ip routing-table 全网点 ping所有网段双向可达RIP 配置后display rip 1 route 撤掉静态路由再 ping路由由 RIP 提供仍全通最后一行是关键。很多人配完 RIP 之后不撤静态路由看到能 ping 通就交卷了其实那时候通的是静态路由RIP 根本没工作。撤掉静态路由再测一遍才是真正验证 RIP 生效的方法。6.2 一个典型的多故障叠加场景我在一次课上遇到过这样一个情况R1 到 R3 的两个用户网段互相 ping 不通但从 R2 上 ping 两边都通。表面上看是 R1 或 R3 的单向问题实际上是三个错误叠在一起。第一个错误是 R3 的 RIP 里network 10.0.0.0忘了配只配了network 192.168.30.0导致 R3 不会把互联链路宣告出去R1 和 R2 都学不到 R3 的串行口地址。第二个错误是 R1 有一条指向 192.168.30.0/24 的静态路由下一跳写的是 10.1.2.2应该是 10.1.1.2下一跳不可达。第三个错误是 R2 上一条路由的掩码写成了 /24 而实际应该是 /30。这三个错误单看都不致命合在一起就造成了非常诡异的现象。定位方法是从 R2 往外 ping逐步确认每一跳的可达性然后逐台设备display ip routing-table对比。当发现 R1 的路由表里 192.168.30.0 的下一跳是 10.1.2.2 时问题就破了一半。剩下的用display rip 1 route一看R2 上确实没有 R3 那边的串行链路路由问题定位完成。这个经历让我形成一个习惯排错先看路由表再看接口状态最后看协议状态。因为路由表是结果接口和协议是原因从结果反推原因比从原因猜结果要快得多。6.3 几条写给自己看的经验第一配置完一台设备立刻save或者至少display current-configuration扫一眼。模拟器崩溃或者误操作重启前面的功夫全白费。我在连续做了三个小时之后因为模拟器崩溃重配过一次那之后养成了每完成一段就保存的习惯。第二ping的时候不要只 ping 一个地址。从 R1 依次 ping 每一个网段的每一个接口地址形成一张连通性矩阵。这张矩阵能立刻暴露出单向可达的问题而单向可达恰恰是路由配置错误最典型的表现。第三看到请求超时和目标主机不可达要分开对待。前者说明包出去了但没回来问题在回程路由或者目标设备后者说明本机路由表里根本没有匹配条目问题在源端配置。这两种报错指向完全不同的排查方向混在一起想只会浪费时间。第四接口的description、设备的sysname、统一的密码规则这些看起来是面子工程的东西在多设备联调时的价值远超预期。我现在的习惯是每个接口都写描述格式统一成to-设备名-接口名查路由表的时候一眼就能看出这条路由通向哪台设备。最后分享一个我觉得最实用的小技巧做这个课设的时候把每一次成功的配置段落复制到一个文本文件里按设备名分段存好。等你需要重做或者换拓扑的时候改改地址就能直接复用。这套东西我第一次做了四个小时第二次做只用了四十分钟差距全在这个文件上。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑