ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ensp静态路由综合实验:从路由配置到回程路由排错全解析

ensp静态路由综合实验:从路由配置到回程路由排错全解析 平时在模拟器上敲静态路由很多人照着实验指导书配完能ping通就过去了但真要问一句“这条路由为什么要这么指”“回程路由少了哪条会出什么问题”往往就卡壳了。这篇就把ensp里的静态路由综合实验完整拆一遍从拓扑设计、IP规划到配置命令、排错思路全部过一遍。适合刚学完网络基础、准备考华为HCIA或者正在做路由交换实训的读者也适合那些工作中需要快速上手简单组网、但对路由表细节还没完全吃透的人。1. 静态路由到底解决什么问题1.1 为什么还需要手写路由静态路由就是管理员在路由器上手动写死的转发规则告诉设备“去某个网段把包交给下一个路由器”。和OSPF、RIP这类动态路由协议相比它没有握手、没有邻居关系、没有链路状态计算就是一台设备一条静态指令的事。很多人会有个疑问现在企业网络里到处都是动态路由协议静态路由还有啥用这个想法在真实网络里站不住脚。中小企业出口路由器到运营商的那条默认路由绝大多数就是静态路由两个办公园区之间专线互联往往也是静态路由甚至很多数据中心里核心到接入的收敛层路由为了保证路径可控同样用静态路由。我见过不少用OSPF跑得很欢的网络结果一次误配置导致路由振荡最后排查半天发现反而是静态路由最省心——路径是死的出问题就是配置错了不会出现动态路由那种“自己学错”的情况。静态路由适用的场景其实是这类网络规模不大、拓扑基本固定、路径不希望被协议自动改变。在这些前提下它配置简单、开销为零、行为可预期排错也直接——只需要检查下一跳IP对不对、回程路由有没有漏掉。1.2 静态路由和动态路由怎么选静态路由和动态路由不是对立关系而是互补关系。选择的时候可以从下面三个角度来判断网络规模小于十几台设备、网段数量有限的场景静态路由完全够用。几十台以上、有冗余链路需要故障自动切换的环境动态路由的价值就体现出来了。链路稳定性专线、内网互联这类长期固定链路适合静态路由。拨号、4G/5G这类地址会变的链路用静态路由维护成本太高应该用动态路由或者默认路由配合NAT处理。运维水平团队对路由协议掌握程度不深、出了问题希望“一眼看穿”的网络静态路由更友好。下次跳数变化、链路切换这些状态静态路由不参与计算反而不会引入未知变量。在华为ensp里做这个综合实验本质上就是把这套静态路由的选型逻辑、配置方法、排错思路全部走一遍。拓扑不复杂三台路由器串起来但正因为不复杂每一条路由指令的影响都看得清清楚楚。2. 实验拓扑与整体配置思路2.1 三台路由器串接的经典组网我用的是ensp里最经典的三路由串接拓扑两台PC分别挂在两台路由器下面中间路由器R2作为中转。拓扑如下PC1 —— [G0/0/0] R1 [G0/0/1] —— [G0/0/0] R2 [G0/0/1] —— [G0/0/0] R3 [G0/0/1] —— PC2这个拓扑看着简单但信息量很大。R1和R3各自带一个PC网段R2相当于骨干节点。PC1访问PC2数据包要经过R1转发给R2R2再转发给R3R3最后交给PC2返回路径完全相反。整个链路涉及三个网段之间的转发而PC1所在网段和PC2所在网段之间隔着R2这就能很清楚地演示静态路由“逐跳转发”的本质。在实际环境里这种拓扑可以对应到很多真实场景比如一个总部分部网络R2是核心路由器R1和R3分别连接两个分支机构的接入交换机或者一个小型IDC环境R2是防火墙出口R1和R3是不同业务区域的汇聚设备。拓扑简单才更容易理解静态路由的精髓。2.2 IP规划与接口配置这个实验的地址规划很关键搭错了后面路由怎么配都别扭。我用的规划如下设备接口IP地址说明PC1网卡192.168.10.10/24 网关192.168.10.1左侧终端网段R1G0/0/0192.168.10.1/24接PC1R1G0/0/1192.168.12.1/24连接R2R2G0/0/0192.168.12.2/24连接R1R2G0/0/1192.168.23.2/24连接R3R3G0/0/0192.168.23.3/24连接R2R3G0/0/1192.168.20.1/24接PC2PC2网卡192.168.20.10/24 网关192.168.20.1右侧终端网段接口IP配置本身不复杂但有一个容易忽略的点连接路由器的接口建议用不同网段而且网段编号要有辨识度。12网段是R1和R2之间的互联段23网段是R2和R3之间的互联段这样看路由表的时候一眼就能判断这个条目是从哪个方向学来的。我见过有人把所有互联地址都堆在10.0.0.0/24里后面写回程路由的时候自己都分不清该往哪指。在ensp里启动设备之后先给每台设备的接口配上IP并启用。华为设备接口默认是开启的但保险起见每个接口配完地址后可以用undo shutdown确认一下端口处于up状态。用display ip interface brief检查接口状态所有接口的物理状态和协议状态都应该是up这是后续路由配置能生效的前提。2.3 配置思路先通直连再写路由整个实验的配置顺序是有讲究的。很多人一上来就急着写路由命令结果ping不通还找不到原因。我建议按这个节奏走第一步先把所有接口IP配好确认同一链路上的两台设备能互相ping通。比如R1能ping通192.168.12.2R2能ping通192.168.23.3。这一步不通过不要往下走。第二步分析PC1访问PC2需要经过哪些设备、哪些网段然后逐台路由器写静态路由。写的时候遵循一个原则只关心自己这台路由器需要把去哪个网段的包交给谁。第三步全部配置完成后从PC1发起ping测试。通了说明路由没漏不通就用tracert定位是在哪一跳丢的再针对性检查那一台设备上的路由条目。这个顺序看起来慢实际上是最快的。直连不通是物理层和链路层问题路由写了也白写直连都通的路由器之间再查静态路由配置问题范围就小了一大半。3. 静态路由配置实操与关键命令拆解3.1 R1和R3的静态路由配置三台路由器里最典型的是R1。它直连了192.168.10.0/24PC1所在网段和192.168.12.0/24与R2互联网段需要手动告诉它怎么去192.168.20.0/24PC2所在网段下一跳只能是192.168.12.2也就是R2与R1互联的接口地址。配置命令system-view ip route-static 192.168.20.0 255.255.255.0 192.168.12.2这条命令的含义是目的网段192.168.20.0/24掩码255.255.255.0下一跳地址192.168.12.2。注意这里写的是下一跳IP不是R2上某个接口的名字。华为静态路由里可以用出接口比如ip route-static 192.168.20.0 255.255.255.0 GigabitEthernet0/0/1来代替下一跳IP但在以太网环境下强烈建议写下一跳IP。因为以太网是广播型网络如果只指了出接口路由器不知道该把包发给谁下一跳IP是直连可达的路由器做一次ARP解析就能拿到对方的MAC地址。R3的配置和R1正好对称。它直连192.168.23.0/24和192.168.20.0/24需要写去192.168.10.0/24的路由下一跳是192.168.23.2R2与R3互联的接口地址system-view ip route-static 192.168.10.0 255.255.255.0 192.168.23.2这条是回程路由。PC1发起访问的时候R1只知道把包往R2送R2也知道往R3送R3最终把包交给了PC2。但数据包要返回PC1的时候R3必须知道“去192.168.10.0/24应该找192.168.23.2”否则它只能把回包丢掉。这就是所谓的“有去必须有回”单方向有路由通信依然不成立。3.2 R2中转路由的配置R2是这个实验里的关键角色它夹在中间需要同时掌握两个方向的路由。 PC1去PC2的流量经过R2时R2要查路由表找到去192.168.20.0/24的条目下一跳是192.168.23.3PC2回PC1的流量经过R2时R2要查路由表找到去192.168.10.0/24的条目下一跳是192.168.12.1。所以R2上要配置两条静态路由system-view ip route-static 192.168.10.0 255.255.255.0 192.168.12.1 ip route-static 192.168.20.0 255.255.255.0 192.168.23.3两条路由一进一出没有第三条。很多人习惯在中转路由器上把去往所有方向的网段都写一遍其实只要保证路由表里有目的网段的条目且下一跳可达就足够了。地址规划之所以强调用独立的互联网段优点在这里就体现了R2去192.168.10.0/24下一跳只能是192.168.12.1不会写成别的。配完之后在每台路由器上用display ip routing-table查看路由表。R2的路由表里应该能看到四个网段直连的192.168.12.0/24和192.168.23.0/24以直连路由形式存在以及刚配置的两条静态路由。如果R2只能看到直连路由说明静态路由命令没生效或者掩码写错了。3.3 默认路由与等价路由的补充玩法静态路由实验做到这里还有一个必要扩展默认路由。如果R3后面再挂一个未知网段的网络总不能每加一个网段就在R2和R1上各加一条静态路由。这种情况下利用默认路由可以让配置变得极其简洁。默认路由的写法是ip route-static 0.0.0.0 0.0.0.0 192.168.x.x目的地址和掩码都是0.0.0.0匹配所有未明确指定的目的网段。比如在R1上把去192.168.20.0/24的静态路由删掉换成默认路由undo ip route-static 192.168.20.0 255.255.255.0 192.168.12.2 ip route-static 0.0.0.0 0.0.0.0 192.168.12.2R1收到去往未知网段的数据包就会匹配这条默认路由交给192.168.12.2。在企业出口路由器上到运营商的连接基本都是这么配的。注意默认路由和明细路由可以共存路由表查询时先匹配掩码长的明细路由匹配不到再走默认路由优先级规则清晰不会冲突。等价路由也值得一玩。如果拓扑里再加一台路由器R4R2通过两条链路分别连接R3和R4而R3和R4又都连着同一个目标网段这时候可以在R2上写两条优先级相同、下一跳不同的静态路由形成等价负载分担ip route-static 192.168.20.0 255.255.255.0 192.168.23.3 ip route-static 192.168.20.0 255.255.255.0 192.168.24.4两条路由同时出现在路由表里流量会在两条链路上按哈希方式分配。但这里有个隐患如果上游和下游的等价路由选路不一致可能出现前一个包走A链路、回包走B链路的情况造成会话异常。实际网络里做等价路由之前一定要确认整条路径的选路策略是对称的。3.4 路由优先级与路由管理距离华为设备上静态路由默认优先级是60这个值越小越优先。如果同一条目的网段同时存在静态路由和动态路由协议学来的路由设备会优先使用优先级小的条目。在ensp实验里给每条静态路由指定优先级是一个不错的进阶练习ip route-static 192.168.20.0 255.255.255.0 192.168.12.2 preference 80这样配置会让这条路由的优先级变成80在同时有其它来源路由时会“让路”。真实场景里这种操作很常见比如主用链路用静态路由优先级60备用链路也用静态路由但优先级调成100主链路断了以后备用条目接管转发实现简单的冗余切换。用display ip routing-table protocol static可以只看静态路由条目这个命令在排错时比全量查看路由表效率高得多。用display ip routing-table 192.168.20.0可以查看特定网段的路由匹配情况能看到命中哪一条表项也能看到这条表项的出接口和下一跳。4. 回程路由与常见排错实录4.1 有去无回静态路由实验最大的坑整个静态路由实验里新手遇到最多的问题就是“ping不通”。而绝大多数ping不通的根源不是配置写错而是回程路由漏配。我在这类实验里看到过一个很典型的错误操作只给R1写了去192.168.20.0/24的静态路由然后到PC1上ping PC2不通就去R1上反复检查配置最后发现R1没有任何问题问题出在R3上完全没有去192.168.10.0/24的路由。排查方法也很简单。ping不通时不要急着改配置先在PC1上执行tracert 192.168.20.10看数据包走到哪一跳就停了。如果第一跳192.168.10.1通、第二跳192.168.12.2通、第三跳192.168.23.3超时基本可以确定R3没有回程路由因为它收得到PC1的请求但不知道怎么把回应包送回去。如果第三跳一直不出来先把R3上的静态路由检查一遍尤其注意掩码和下一跳是不是写反了。回程路由是静态路由实验里的核心知识点讲清楚一个关键细节就够了路由器只会根据数据包的目标地址查路由表它“不知道”这个包是从哪里来的。PC1的请求到了R3R3要回应回应的目标地址是PC1的192.168.10.10R3查路由表发现没有192.168.10.0/24的条目只能丢弃。这就是常见的“单向路由”场景。所以在配静态路由时一定养成习惯配置完一个方向的转发之后马上检查反方向是否也能通。4.2 直连通但跨网段ping不通的排查清单如果直连测试没问题、静态路由也都配了还是ping不通大概率是下面几个原因之一。这份排查清单我在实验指导课里反复强调按顺序检查一遍基本都能解决检查接口状态用display ip interface brief确认所有涉及转发的接口都是up。ensp里设备刚启动时要等接口状态稳定端口可能处于down状态几十秒这时候立刻测试当然不通。检查路由表用display ip routing-table逐台设备查看目标网段的条目是否存在注意掩码、下一跳、优先级是否正确。路由器只有收到了去目标网段的路由条目才会执行转发。检查下一跳连通性从当前路由器ping一下静态路由条目里的下一跳地址比如R1上ping 192.168.12.2确认链路能通。如果下一跳本身不可达路由条目即使存在也没有实际意义。检查PC网关PC1的网关必须是R1的G0/0/0接口地址192.168.10.1。PC1发出的数据包目标不在本地网段时会把它交给网关如果网关配错了包根本进不了路由器。检查回程路由R3上有没有去192.168.10.0/24的条目R1上有没有去192.168.20.0/24的条目。两个方向有一边缺失通信就建立不起来。检查防火墙或ACLensp的AR路由器默认不启用流量过滤但部分设备上如果之前做过安全策略实验可能残留了ACL规则值得用display acl all检查一遍。4.3 ensp操作细节与命令速查ensp本身有一个容易踩的坑多台设备同时启动时CPU和内存占用会很高设备启动到完全就绪可能要一两分钟。在路由器控制台出现“System is starting”之类的提示前不要发送任何命令。我之前遇到过有人设备还没起来就疯狂敲命令结果命令没进去、设备起来后又忘记需要重配最后还以为是自己配置错了。缓存问题也值得注意。ensp里配置完成后建议等待几秒钟再测试连通性尤其是Cloud和PC之间做绑定的时候ARP表项更新需要时间。多次修改静态路由时可以执行reset arp all清理一下ARP缓存生产环境慎用实验环境无所谓。整理一份华为模拟器上静态路由相关的命令速查表操作命令配置静态路由ip route-static 目的网段 掩码 下一跳删除静态路由undo ip route-static 目的网段 掩码 下一跳查看完整路由表display ip routing-table查看静态路由条目display ip routing-table protocol static查看特定网段路由display ip routing-table 192.168.20.0查看接口IP状态display ip interface brief测试连通性ping 目标IP追踪路径tracert 目标IP删除静态路由的命令很多人会尝试写成undo ip route-static 0.0.0.0这在华为设备上不好使必须带完整的掩码和下一跳参数才能精准匹配并删除对应条目。route这个命令出现在网络热词里是因为Linux系统上用的是route del来删路由而ensp里并不存在这个命令。底层的路由管理逻辑虽然相似但命令行体系完全不同跨系统操作前要区分清楚。4.4 静态路由和回程路由的区别静态路由和回程路由这两个词经常被放在一起讨论但本质上是不同维度的概念。静态路由指的是一种路由配置方式即由管理员手动指定的路由规则而回程路由是描述数据通信过程中“返回方向的路径”所需的路由条目。静态路由可以用于配置回程方向的路径回程路由也可以由动态路由协议或者默认路由来满足。做实验的时候建议把注意力放在“方向”上。任何一个网段要通信必须有两条路径去程和回程。你可以在纸上画一个简洁的表格列清楚每台路由器上“去程目的网段”和“回程目的网段”分别是什么。我自己的做法是在拓扑图旁边标注箭头蓝色代表PC1访问PC2的数据流方向红色代表回应流方向然后逐个路由器检查两个方向的路由条目是否存在。这样检查一遍基本可以消灭绝大部分人为遗漏。5. 从实验到真实组网的经验沉淀5.1 一页纸的配置检查表做静态路由实验最忌讳东敲一条命令西敲一条命令最后自己都忘了配过什么。我习惯在配置之前先在纸上画好一个简单的检查表配置过程中边配边打勾每台路由器的接口IP是否按规划配置且状态up直连链路两端是否互相ping通每台路由器上需要配置哪些目的网段、下一跳是谁回程方向的路由是否被遗漏PC的IP、掩码、网关是否配置正确ping测试的预期结果是什么这个习惯在工作中更是有用。真实设备的命令敲下去影响的是在线业务如果心里没有一张检查表很容易漏掉关键的下一跳配置或者把回程路由配错方向。网络排错很多时候拼的不是“灵光一现”而是有没有一套固定的、可重复执行的方法论。5.2 实验中容易错的三个细节细节一静态路由掩码写错。比如目的网段是192.168.20.0/24有人会把掩码写成255.255.255.252。这样路由表里只有192.168.20.0/30这一个范围PC2所在的192.168.20.10根本不在这个范围内转发自然失败。配置时掩码一定要和设备上接口的IP规划一致尤其是互联地址和终端网段的掩码经常不同不能惯性复制上一台设备的参数。细节二下一跳必须和路由器直连网段对应。R1上配置去192.168.20.0/24的下一跳必须是192.168.12.2。如果你图省事直接把R2的G0/0/1接口地址192.168.23.2填上去了R1查路由表后发现这个下一跳不在自己的直连网段里这条路由就变成了无效路由。判断方法是在R1上ping下一跳地址通说明有效不通就要检查是不是把远端接口的地址错填上来了。细节三配置完不做保存和导出。ensp里如果不执行save设备重启后配置就丢了这个大家都知道。但还有一个更实际的问题ensp的模拟器存在不同版本里路由命令输出格式不一致的情况排查问题时看到的表项列名略有差异。这时候不要慌重点看字段含义不要纠结于是否完全一致。5.3 静态路由还能怎么扩展这个实验做完可以往三个方向做扩展练习。方向一是把默认路由和NAT结合起来模拟企业出口场景出口路由器上配置默认路由指向运营商内网PC访问外网时启用NAT验证内网地址到外网的转换和回程路由的处理逻辑。方向二是用等价路由模拟负载分担在R2和R3之间再加一条链路配置两条等价静态路由观察流量怎么在多条链路上分布。方向三是引入故障切换场景把一条链路shutdown后观察路由表的变化思考静态路由为什么能实现简单的冗余备份但无法实现秒级切换。我在实际做项目的时候静态路由的使用频率并不低。很多小型分支互联和专线场景里静态路由反而是最稳定、最可控的方案。关键在于知道自己配的每一条路由代表什么含义、承担什么作用。这个实验看起来是模拟器里的一个小练习但敲命令的过程、排错的思路、分析路由表的方法都会直接迁移到真实的网络设备上。已经踩过这些坑最后再分享一个小习惯每次配置完静态路由不要马上测试先把display ip routing-table的输出从头到尾读一遍确认所有网段都出现在该出现的地方。这一步最多花三十秒但能帮你省掉好几轮来回ping排查的时间。
返回列表