ARTICLE DETAIL

资讯详情

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

HCIA静态路由综合实验详解:从配置到排障的完整路径

HCIA静态路由综合实验详解:从配置到排障的完整路径 HCIA里的静态路由实验几乎是每个学网络的人入行第一道坎。不少人对它的印象就是“敲几条 ip route-static 就能通”可真到综合实验里加了多台路由器、多网段互访甚至PC访问服务器的时候路由表一查全是黑的ping不通就开始怀疑人生。这个实验看着基础但把静态路由、回程路由、最长匹配、递归查找这些点全部揉在一起其实是HCIA阶段含金量很高的一道综合题。这篇就按一个完整综合实验的流程来拆从拓扑设计、IP规划开始到每条命令为什么要这么敲再到路由表怎么验、故障怎么排。整篇不是照着实验指导书念答案而是把“为什么这样做”讲清楚。适合刚学完静态路由想找综合题练手的人也适合准备HCIA考试、想系统过一遍排障思路的同学。看完之后你不仅能把实验做通还能明白它背后真正考的是什么。1. 实验背后的思路综合实验到底在练什么1.1 静态路由在真实网络中的地位很多人觉得静态路由配置简单、没什么可学的但实际上它在现网里的使用频率一点都不低。中小型企业的出口、分支到总部的专线、甚至数据中心的某些旁路链路都会用到静态路由。它的好处很直接可控性强、不占设备额外资源、行为固定好排查。但静态路由也有天生的短板比如不会根据网络故障自动切换路径。不过这是设计层面的取舍并不影响它在合适场景下发挥价值。HCIA阶段安排静态路由实验核心目的不是让你死记命令而是逼你建立一种“数据包来回都要有路由”的思维习惯。很多真实故障不是设备坏了而是路由不完整数据过去了回不来。1.2 综合实验的拓扑设计逻辑这次综合实验我用的拓扑是经典的三台路由器串联两侧各挂一台PC。之所以选三台而不是两台是因为两台路由器只能算“单跳”体现不出多跳路径选择、递归查找、中间设备转发这几个核心问题的价值。三台路由器R1、R2、R3加上两端PC一共五个节点规模正好既覆盖了知识点又不至于把大量时间浪费在无意义的重复配置上。地址规划方面我特意把互联地址设计成30位掩码的网段也就是有点路由器之间“点到点链路”的味道。为什么用30位因为互联链路只需要两个可用IP30位掩码刚好提供两个可用地址还能避免地址浪费这本身就是实验之外的加分认识。规划表格如下设备接口IP地址所属网段PC1网卡192.168.1.10/24192.168.1.0/24R1GigabitEthernet0/0/0192.168.1.1/24192.168.1.0/24R1GigabitEthernet0/0/110.0.12.1/3010.0.12.0/30R2GigabitEthernet0/0/010.0.12.2/3010.0.12.0/30R2GigabitEthernet0/0/110.0.23.2/3010.0.23.0/30R3GigabitEthernet0/0/010.0.23.3/3010.0.23.0/30R3GigabitEthernet0/0/1192.168.3.1/24192.168.3.0/24PC2网卡192.168.3.10/24192.168.3.0/24在这个拓扑里PC1要访问PC2数据必须穿过R1、R2、R3三台设备。每台设备都需要知道自己怎么把数据送出去以及怎么把回包送回来。这就是综合实验的核心逻辑全网路由必须“有来有回”。2. 先把概念揉碎了路由、静态路由和回程路由2.1 路由器是怎么决定数据包往哪走的路由器的核心工作简单说就是“查表转发”。一个IP数据包到达路由器后路由器会提取目的IP地址然后去自己的路由表里找匹配项。这里的匹配不只是“有没有”还要看匹配精度。这个精度在专业上叫“最长匹配原则”如果路由表里同时有多个条目都能匹配到同一个目的地址那么路由器一定会选掩码最长、描述最具体的那一条。比如路由表里有“192.168.3.0/24的静态路由”和“0.0.0.0/0的默认路由”当数据包去往192.168.3.10时路由器必然选择前者因为前者的掩码更长、范围更精确。这个原则不只在HCIA考试里出现真实排障时也特别重要。你配置了默认路由但某个网段却走了错误路径第一反应就该检查是不是哪条具体路由和默认路由发生了竞争。路由表里的条目来源有三种直连、静态、动态。直连接口只要接口状态正常且配置了IP地址会自动出现在路由表里。静态路由需要管理员手工配置。动态路由是路由器之间通过协议自动学习。HCIA静态路由实验表面上是教你写“ip route-static”命令实际上是在教你手动构建这张表并且要明白每一条表项的来龙去脉。2.2 静态路由到底配的是什么静态路由的配置命令格式是ip route-static 目的网络地址 掩码 下一跳地址这条命令表达的意思是如果你要把数据包送到“目的网络”这群地址去请把它交给“下一跳地址”这个邻居来处理。接下来怎么走是邻居的事与当前路由器无关。初学者经常纠结“下一跳”到底填什么。有一个很实用的判断方法先站在当前路由器上想清楚你的数据包要从哪个接口发出去然后再看这个接口所在网段的另一边是哪台路由器或哪个设备的接口地址那个地址就是下一跳。下一跳必须是当前路由器能直连到达的地址也就是已经存在于直连路由表项里的地址。如果你填了一个虽然能学到但并不在直连接口同一网段的地址路由器根本没法直接送出这个包路由表里就会出现“Inactive/Invalid”状态这也是实验里特别常见的坑。2.3 回程路由到底是什么意思“回程路由”这四个字是HCIA考点里最容易被误解的概念之一。很多人以为它是一类特殊的路由协议或者是一种静态路由的变种。其实都不是。回程路由不是一个独立的技术名词它描述的是“数据流从目的地返回源地址时沿途每台路由器所必需的路由条目”。任何一次完整通信都由“去程”和“回程”构成。PC1访问PC2去程路径是PC1到PC2回程路径是PC2到PC1。回程的数据包也会从源地址192.168.3.10发往目的地址192.168.1.10沿途的R3、R2、R1同样需要知道这个包该交给谁。这就引出了静态路由配置里最经典的一句话“要在每一台路由器上养成为双向流量都配置路由的习惯。”很多初学者只给R1配置了去往192.168.3.0/24的路由却忘了给R3配置去往192.168.1.0/24的路由。结果PC1看数据发出去了却永远等不到回包抓包一看全是请求没有响应。回程路由不是单独敲一条特殊命令而是指“为了回应对方网段流量而配置的那些静态路由”。它和静态路由的关系就像“用法”和“工具”的关系。静态路由是工具回程路由是工具的一种用途。理解到这一层综合实验的配置清单才能列全。3. 手把手配置全过程与逐条解析3.1 第一步设备基础配置与接口IP地址在eNSP里拖出三台AR2220路由器、两台PC按规划连好线。连线的时候要注意接口我用的是R1的G0/0/0连PC1G0/0/1连R2的G0/0/0R2的G0/0/1连R3的G0/0/0R3的G0/0/1连PC2。先做R1的基础配置Huaweisystem-view [Huawei]sysname R1 [R1]interface GigabitEthernet0/0/0 [R1-GigabitEthernet0/0/0]ip address 192.168.1.1 24 [R1-GigabitEthernet0/0/0]undo shutdown [R1-GigabitEthernet0/0/0]quit [R1]interface GigabitEthernet0/0/1 [R1-GigabitEthernet0/0/1]ip address 10.0.12.1 30 [R1-GigabitEthernet0/0/1]undo shutdown这里掩码处写“24”和“30”是简写形式等价于“255.255.255.0”和“255.255.255.252”。配置IP地址时可以写完整掩码也可以用数字简写eNSP里两者都支持。R2的配置类似只是地址不同Huaweisystem-view [Huawei]sysname R2 [R2]interface GigabitEthernet0/0/0 [R2-GigabitEthernet0/0/0]ip address 10.0.12.2 30 [R2-GigabitEthernet0/0/0]undo shutdown [R2-GigabitEthernet0/0/0]quit [R2]interface GigabitEthernet0/0/1 [R2-GigabitEthernet0/0/1]ip address 10.0.23.2 30 [R2-GigabitEthernet0/0/1]undo shutdownR3和PC的配置就不重复列了。配置完接口后建议第一时间在每台路由器上执行display ip interface brief这个命令会列出所有接口的IP地址和物理状态。如果接口的状态显示为Down先检查是不是连线有问题或者你漏了undo shutdown。华为模拟器中接口默认是开启的但真实设备或者某些版本下需要手动开启养成习惯总没有错。3.2 第二步核心静态路由配置接口地址配完所有直连路由会自动出现在路由表里。现在每台路由器只能知道与自己直连的网段相互之间还无法通信。这时就需要手工注入静态路由。R1需要去往PC2所在的192.168.3.0/24网段数据包要从G0/0/1发出去交给对端邻居R2的G0/0/0地址10.0.12.2。配置如下[R1]ip route-static 192.168.3.0 24 10.0.12.2R3需要去往PC1所在的192.168.1.0/24网段数据包要从G0/0/0发出去交给邻居R2的G0/0/1地址10.0.23.2。配置如下[R3]ip route-static 192.168.1.0 24 10.0.23.2R2是中间的转发设备既要能转发去程流量也要能转发回程流量所以需要两条静态路由[R2]ip route-static 192.168.1.0 24 10.0.12.1 [R2]ip route-static 192.168.3.0 24 10.0.23.3这里有一个特别容易错的位置。R2的G0/0/0属于10.0.12.0/30网段对端就是R1的10.0.12.1R2的G0/0/1属于10.0.23.0/30网段对端就是R3的10.0.23.3。填下一跳时很多初学者会把R2去往192.168.1.0/24的下一跳误写成192.168.3.1这明显是方向搞反了。判断方法是你要从哪个接口发数据下一跳就是那个接口所在链路的对端地址。把所有配置汇总起来其实只有四条静态路由路由器目的网段掩码下一跳用途R1192.168.3.02410.0.12.2去程R2192.168.1.02410.0.12.1回程R2192.168.3.02410.0.23.3去程R3192.168.1.02410.0.23.2回程全网只用了四条路由就把三台设备五个网段全部打通这本身就是静态路由“精确控制”的优势体现。3.3 第三步验证路由表配置完成后不要急着ping先看路由表是否正确。在R1上执行display ip routing-table输出里除了直连的两条外应该能看到一条指向192.168.3.0/24的静态路由。它的Protocol字段应该是StaticPreference默认是60这是华为静态路由的管理距离。在R2上执行同样命令路由表里应看到四条两条直连两条静态。在R3上应能看到去往192.168.1.0/24的静态路由。查看路由表时有人只看有没有却不看状态。如果某条静态路由的State字段显示的是Inactive说明这条路由虽然配置了但没有被加载进活跃路由表。最常见的原因就是“下一跳不可达”。比如配置静态路由时下一跳写错成了非直连网段的地址路由器找不到如何到达下一跳就会把它标记为无效。这个问题很好排查直接在路由器上用ping测试下一跳地址是否可达。注意这个ping要能通且来源地址是直连接口地址不能是其他网段地址。如果ping不同优先检查对端设备接口是否配置正确、是否启用了接口、物理链路通不通。3.4 遗漏掉回程路由后的现象分析这个环节是我让学生做实验时必须做的一道“破坏性测试”。故意删掉R3上指向192.168.1.0/24的静态路由然后从PC1去ping PC2看看会发生什么。我在很多次实验课上观察到的现象都一样PC1发出的ping包会正常到达PC2因为去程的R1、R2都有正确路由数据能一路转发到PC2。但PC2的回应包到达R3后R3查自己的路由表发现没有192.168.1.0/24网段的路由也没有默认路由于是把回包直接丢弃。这种情况在eNSP里表现最迷惑人的一点是PC1上ping显示“Request timed out”但你在R1、R2上抓包或者用debug看都能看到数据包确实被转发走了。这会让初学者误以为自己没配置对其实问题出在对端。所以我在排障时有个习惯一旦ping不通先不要在一端反复尝试而是沿着路径逐段定位。先ping中间设备的互联地址再ping对端设备的互联地址一层一层缩小范围。这样很快就能发现流量到底“断”在哪一跳。4. 连通性测试与故障排查实录4.1 从PC1到PC2的完整走向配置完成并验证路由表无误后在PC1上执行ping 192.168.3.10正常情况下PC1发出的ICMP请求会这样走PC1发现目的IP是192.168.3.10不在自己的直连网段于是把包交给网关192.168.1.1。R1收到数据包查路由表命中静态路由192.168.3.0/24下一跳10.0.12.2于是将包从G0/0/1转发给R2。R2收到数据包查路由表命中静态路由192.168.3.0/24下一跳10.0.23.3于是将包从G0/0/1转发给R3。R3收到数据包查路由表命中直连路由192.168.3.0/24于是将包从G0/0/1转发给PC2。PC2收到请求后生成响应包目的地址是192.168.1.10。它发现自己不在直连网段将包交给网关192.168.3.1。R3收到响应包查路由表命中静态路由192.168.1.0/24下一跳10.0.23.2转发给R2。R2同样查表命中静态路由192.168.1.0/24下一跳10.0.12.1转发给R1。R1查表命中直连路由192.168.1.0/24将包交给PC1。这个流程走完ping才会通。你会发现8个步骤里前4步是“去程”后4步是“回程”。任何一个环节缺少路由哪怕其他7个环节全对通信都会失败。这就是回程路由在综合实验里地位的真实写照。4.2 高频故障三层通、PC不通怎么办还有一种情况也特别常见路由器之间互相ping都能通但PCping不通。比如R1能ping通10.0.12.2也能ping通10.0.23.3可PC1就是ping不通PC2。遇到这种情况我说几个验证过很多次的排查点。先看PC的网关配置。PC1的网关必须是192.168.1.1PC2的网关必须是192.168.3.1。网关配错或者没配PC根本不知道把包交给谁。我见过太多人把PC的IP地址填对了网关填成别的段折腾半天。再看路由器上是否开启了接口的“允许ping响应”之类功能。华为路由器默认是可以ping通的但如果在接口上配置了ACL过滤就可能影响。这个实验里一般不会出现但如果排到很偏的问题也要想到。接着看路由器的路由表里是否出现了“两个相同的目的网段、不同下一跳”的冲突。我在实验里试过一种情况R2上同时配了去往192.168.1.0/24的两条静态路由下一跳分别指向10.0.12.1和10.0.23.3。路由器会认为这是等价路由把流量负载分担到两条链路上。问题是其中一条路径根本不通于是部分流量被丢到了黑洞里ping就出现“时通时不通”。这类问题通过仔细检查路由表就能发现所以每次实验做完我都会把每台设备的路由表截图留档方便出问题时对照。4.3 一张排查速查表综合实验做完之后我习惯把常见故障整理成一张表贴在实验笔记里。这里直接分享出来故障现象可能原因快速定位方法直连网段内PC互ping不通网关配置错误、接口未启用检查PC网卡网关display ip interface brief路由器之间互联地址能ping通PC相互ping不通缺少端到端静态路由逐台查看display ip routing-table确认目的网段路由存在配置了静态路由但状态Inactive下一跳地址不可达或写错ping下一跳地址检查掩码和网段归属去程能通回程超时回程路径缺少静态路由或错误沿回程路径逐台查看是否有目的网段路由ping时通时不通等价路由导致负载分担到不可达路径删除多余静态路由只保留正确下一跳所有路由都对但PC仍不通PC网关/掩码有问题或中间设备缓存了错误ARP清空ARP缓存重新检查PC配置这张表不求覆盖所有情况但覆盖了静态路由综合实验里90%以上的报错现场。遇到问题时对照着来能少走很多弯路。4.4 踩坑经验几个容易忽略的操作细节第一个细节是接口掩码简写。华为设备支持在ip address命令中写“24”“30”这样的数字掩码也支持写“255.255.255.0”。但如果写完整掩码时不慎少写一位比如把255.255.255.0写成255.255.0.0接口地址就错了。配置完我会执行一条快速检查命令display current-configuration | include ip address一条命令把所有接口地址列出来不需要逐页翻。第二个细节是eNSP里启动设备后的等待时间。如果设备还没完全启动完就急着敲命令偶尔会提示“Error: Unrecognized command”。这不是你命令敲错而是设备控制台还没就绪。模拟器设备打印信息比较慢时等一分钟再操作体验会好很多。第三个细节是PC1和PC2的IP地址与网关必须在同一个网段掩码必须一致。一位仁兄把PC1的IP配成192.168.2.10网关配成192.168.1.1PC认为网关不在同一个网络直接不把数据包发出去。这种配置错误在display里看不出路由问题最容易让人绕圈。第四个细节是抓包确认。eNSP的抓包功能虽然简单但在排“发了包但没回包”的现象时非常直观。在R3的G0/0/1接口上开启抓包如果能看到ICMP请求包进来、没有响应包出去基本就能确定问题出在R3自己的路由回程上。这个逻辑还可以用在任何一跳上。5. 实验做完之后的扩展思考5.1 静态路由的优缺点静态路由最大的优点就是行为可控。路由是手动指定的永远不会出现“协议学错了路由”这种问题也不会因为邻居设备的错误配置而影响到你自己。特别是在出口链路上管理员想让它走哪个运营商就走哪个运营商意图非常明确。缺点也明显。一旦网络规模变大、链路变多每增加一个网段就要在大量路由器上追加配置维护成本呈爆炸式增长。一个小网段变化就要把相关设备全部检查一遍漏一台就会导致某个方向不通。这也是为什么大型网络会用OSPF、IS-IS这类动态路由协议。但在HCIA这个阶段静态路由是理解一切路由行为的最好起点。你连手工配置都搞不明白去程回程动态协议里的路由优先级、路由选路更没法理解。5.2 可以继续延伸的进阶版本这个实验做完后我推荐你做三个方向的变体练习收获会更大。第一个方向是加一条备份链路在R1和R3之间直接再接一根线并给R1、R3增加一条优先级更高或更低的新静态路由。华为静态路由支持带preference参数的配置默认是60可以改得更高或更低。这里的细节是优先级数值越小越优先。比如原来的主链路走中间R2你可以把主路由设preference 60备用链路的路由设preference 100。然后把R2的两个接口全shutdown看流量是不是能自动切到R1-R3直连链路上。这个实验能帮你吃透“管理距离/优先级”的概念。第二个方向是默认路由替代。在R1上如果只需要保证它能访问右侧所有未知网段可以直接配置一条默认路由指向10.0.12.2。虽然在这个综合实验里没这么配但它和静态路由是互补关系。建议你做完普通静态路由后把R1和R3各自的目的网段路由删掉改用默认路由观察路由表变化理解默认路由在出口设备上的价值。第三个方向是三层交换机替代路由器。把R2换成一台三层交换机配置VLANIF接口来承担路由职责你会意识到设备形态虽然变了但路由逻辑一模一样。这也是现网里非常常见的组网方式。我在实际学习和带实验的过程中最深的体会就是静态路由综合实验不是“背命令”的练习而是“构建网络路径思维”的练习。每一条路由都是在告诉路由器“这个方向怎么走”而网络上的通信从来都是双向的所以每一台设备都要同时拥有去程和回程的答案。敲完命令回头看你会发现真正难的从来不是命令本身而是脑子里那副完整的路径图。把这张图刻在脑子里以后不管学路由协议还是做真实项目排障都会顺很多。
返回列表