ARTICLE DETAIL

资讯详情

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

eNSP静态路由综合实验:从拓扑规划到故障排查实战指南

eNSP静态路由综合实验:从拓扑规划到故障排查实战指南 我前阵子帮人看一个静态综合实验拓扑和配置看着都正常PC之间却死活ping不通。后面一条一条display ip routing-table查过去才发现AR1给AR3网段写的掩码错成了32位——一条路由没进路由表整个链路就断了。后来我总结了一下这类问题在静态路由实验里几乎人人都会遇到不是因为命令不会敲而是对整个网络的数据转发路径缺一个完整闭环的理解。这篇内容就以eNSP里的静态路由综合实验为主线覆盖拓扑规划、地址规划、逐台配置、故障排查、进阶玩法这五个维度。适合正在学网络基础的人、备考HCIA等数通认证的同学也包括做课程设计或实训项目的在校生。你把它当成一套可以照着练的标准流程看通读完再动手敲一遍收获会远大于照着课件抄命令。1. 为什么这个静态综合实验值得认真练一遍1.1 综合实验和单条静态路由的本质区别平时做最简单的静态路由实验两台路由器背靠背各挂一个网段配一条ip route-static就能通。这种实验最大的问题是你看不到转发路径的全貌。数据包从PC1出发经过哪台设备、哪个接口、哪条路由表项你完全没有体感。而综合实验至少三台设备、三个以上网段、两跳以上PC1发往PC2的包需要经过多台路由器逐跳转发。每一台路由器都必须回答同一个问题目标网段在这个设备上我应该把包交给谁如果这台设备的路由表里没有对应条目包会被直接丢弃而且毫无提示。这就是综合实验的价值所在——它逼着你站在全网视角去思考而不是站在某一台设备的局部视角。和很多人想象的工作里都用动态路由协议不同实际的小型网络、分支出口、临时链路里静态路由依然大量存在。能把静态路由综合实验做透意味着你真正理解了路由表、下一跳、出接口、优先级、环路这些概念这些底层逻辑在任何路由协议里都是通用的。1.2 实验环境准备eNSP版本、设备选型与连线的基本功eNSP是华为官方的网络模拟器能够模拟路由器、交换机、防火墙、PC等设备。综合实验我建议选AR2220接口够多支持的功能也很全面练习静态路由完全够用。安装时有几个细节值得注意。第一不要装到中文路径下面eNSP对中文目录的兼容性一直不算好装完启动报错的情况很常见。第二设备拖到画布上之后不要急着连线和开机先把所有设备位置摆好给每台设备在画布上改一个和规划一致的名字比如AR1、AR2、AR3。这样后面配置的时候一眼就能分清。关于连线我多说几句。这是网上被搜得最多的词条之一说明很多人在这里栽过跟头。路由器上的GigabitEthernet0/0/0、0/0/1、0/0/2分别是三个千兆接口连线时你鼠标点的是哪个口配置时必须对应哪个口。我见过太多人直接用了自动连线功能结果接口编号和地址规划对不上后面配置全乱。正确的做法是手动选端口连线比如AR1的G0/0/0连PC1G0/0/1连AR2的G0/0/0AR2的G0/0/1连AR3的G0/0/0AR3的G0/0/1连PC2每连完一根线就在自己的规划表上打个勾。设备全部拖好线后统一启动。启动过程会比较慢等所有设备变成运行状态再开始配置。还有一个容易踩的坑是接口shutdown。华为路由器接口在eNSP中默认有些版本里是up的但为了稳妥我在每段接口配置中都习惯加上undo shutdown。如果你发现某个端口状态一直down先别急着怀疑命令大概率是对端设备还没完全启动或者线连错了接口这两类原因占了故障比例的八成以上。2. 先把网络画清楚拓扑设计与地址规划是省时间的核心很多学生拿到实验题目就急着开eNSP拖设备、敲命令做完之后能通但问他为什么这个网段配这个地址为什么这条路由下一跳是它答不上来。这种实验做了等于没做。我自己的习惯是拓扑和地址规划先在纸上写清楚再打开模拟器动手。这一步看似多花了十分钟实际上能帮你省下后面排错的一小时甚至更久。2.1 一套覆盖多跳与多网段的典型拓扑综合实验的综合二字体现在它必须覆盖直连环、跨两跳、跨三跳这些不同的通信场景。我通常用的基础拓扑是这样的PC1接入AR1网段是192.168.10.0/24AR1和AR2通过互联接口相连网段是192.168.12.0/24AR2和AR3通过互联接口相连网段是192.168.23.0/24PC2接入AR3网段是192.168.30.0/24这个拓扑看起来简单但信息量很大。PC1访问PC2要经过两台中间路由器一共三跳。每个设备都有直连网段也有需要通过静态路由学习到的远端网段。AR2更是处在转发枢纽的位置它自己怎么知道往左走还是往右走完全取决于路由表的指向。等到进阶部分我还会在AR1和AR3之间加一条直连线组成一个环形拓扑用来做负载均衡和浮动路由。这里先把基础拓扑练扎实。2.2 地址规划表每个接口和网段都该有唯一的名字地址规划的原则只有一条每个网段必须唯一不允许有重叠。很多综合实验排错排到最后发现是AR1和AR2的互联网段用了两个不同的地址段两边都不在一个网段里接口配得再对也无法通信。我的规划表长这样建议你动手前也照着画一张设备接口IP地址所属网段连接对象PC1网卡192.168.10.1/24192.168.10.0/24网关192.168.10.254AR1G0/0/0192.168.10.254/24192.168.10.0/24PC1AR1G0/0/1192.168.12.1/24192.168.12.0/24AR2-G0/0/0AR2G0/0/0192.168.12.2/24192.168.12.0/24AR1-G0/0/1AR2G0/0/1192.168.23.2/24192.168.23.0/24AR3-G0/0/0AR3G0/0/0192.168.23.3/24192.168.23.0/24AR2-G0/0/1AR3G0/0/1192.168.30.254/24192.168.30.0/24PC2PC2网卡192.168.30.1/24192.168.30.0/24网关192.168.30.254注意看这里的一个细节设备互联地址用的是24位掩码。在真实企业网络里路由器之间的互联地址通常会划分成30位掩码255.255.255.252一个子网只包含两个可用地址不浪费IP。在综合实验里用24位掩码更方便理解和教学这没问题但你要知道两者在地址利用率上的差异这才是做规划时真正该有的意识。2.3 设备启动和连线阶段最容易翻车的三个细节第一个细节是设备启动顺序。eNSP里如果所有设备同时点启动有些设备会长时间卡在启动状态。我的做法是一台一台启动先AR2再AR1和AR3最后才启动PC。中间那台路由器先起来两边的设备才能正确地协商链路状态。第二个细节是接口编号对不上。拓扑图上AR2的G0/0/0对AR1的G0/0/1但连线时手一抖把AR2的G0/0/0接到了AR1的G0/0/2后面配置就全乱了。所以每连一根线立刻确认两端的接口编号并在规划表上把是否已连接这一列打勾。第三个细节是接口状态检查。配置完接口IP后一定要用display ip interface brief查一遍接口状态。如果接口的物理状态和协议状态都是up说明这一层是通的。如果down不要急着配路由先回到接口层面解决问题。这条经验放在任何网络实验里都成立链路层不通路由层做得再漂亮也没有意义。3. 静态路由的选路底层逻辑弄懂这三件事命令就是顺水推舟配置静态路由的命令极短但背后涉及三个核心机制查表规则、下一跳语义、路由优先级。不理解这三个机制出了故障就只能靠蒙。3.1 查表规则最长前缀匹配是怎么决定走哪条路的路由器收到一个数据包后会提取目标IP地址然后在路由表里查找匹配的路由条目。如果有多条路由都能匹配上路由器会选择掩码最长的那一条也就是覆盖范围最精确的那条。这就是最长前缀匹配原则。打个比方你问路的时候说我要去人民路如果别人同时知道人民路和人民路123号该怎么走他一定会告诉你更具体的那个走法。路由器也是这样192.168.30.1这个地址既可以匹配192.168.30.0/24这条路由也可以匹配192.168.30.0/32这条路由路由器会优先走/32那一条。这个原则在综合实验里的实际意义是当你同时存在默认路由和明细静态路由时明细路由会优先命中。很多人不理解默认路由为什么不生效其实是因为查表的时候被明细路由先接走了。06节讲默认路由的时候我会再回到这个话题。3.2 下一跳和出接口为什么我强烈建议你只写下一跳华为静态路由命令的完整格式是ip route-static 目的网段 掩码 下一跳地址也可以写成出接口形式ip route-static 目的网段 掩码 出接口这里有一个关键知识点在以太网多路访问链路上只写出接口而不写下一跳会引发一个问题——路由器无法通过ARP解析出对端设备的MAC地址因为数据包的目标IP并不在直连网段内。华为设备通常需要额外配置ARP广播才能处理这种情况但在实验中很多版本表现不稳定。所以我建议综合实验里全部使用下一跳地址写法。理由很简单下一跳地址本身必须在直连网段内路由器可以通过ARP解析出它的MAC地址然后把数据帧封装好送出去。这个写法语义清晰、排错方便也是实际运维中最常见的配置习惯。3.3 路由优先级直连、静态、默认路由到底谁先谁后路由表里每条路由都有一个优先级preference数值越小越优先。华为设备上常见协议的默认优先级我整理成了下面的表路由来源默认优先级直连路由0静态路由60OSPF10RIP100缺省/默认路由60由静态或缺省声明决定直连路由的优先级最高这很好理解——我自己的接口上挂着这个网段还要什么路由协议来告诉我静态路由的优先级是60比OSPF低比RIP高。这里要特别提醒默认路由0.0.0.0/0并不天然拥有特殊地位。它的优先级取决于你用什么方式配置它如果用ip route-static 0.0.0.0 0 下一跳配的优先级就是60。但它匹配长度最短所以只有在没有更精确路由的时候才会被用到。很多人以为默认路由兜底就是优先级最高这是错误的理解。4. 逐台设备配置实操从接口IP到静态路由的完整命令序列规划做完了原理也理清了这一节进入实战。我会按照上面拓扑里的设备逐一配置并且解释每条命令的作用。你在eNSP里完全可以照着敲命令在AR2220上实测可用。4.1 接口配置与PC网关设置先配置AR1的设备名称和接口地址system-view sysname AR1 interface GigabitEthernet0/0/0 ip address 192.168.10.254 24 undo shutdown quit interface GigabitEthernet0/0/1 ip address 192.168.12.1 24 undo shutdown quit这里解释一下掩码写法。华为设备里24代表255.255.255.0是简写形式。你也可以写成完整的ip address 192.168.10.254 255.255.255.0效果完全一样。我在教学中建议新手用完整写法因为看到255.255.255.0更容易理解这是一个24位掩码的网段等熟练之后再用简写也不迟。AR2的接口配置system-view sysname AR2 interface GigabitEthernet0/0/0 ip address 192.168.12.2 24 undo shutdown quit interface GigabitEthernet0/0/1 ip address 192.168.23.2 24 undo shutdown quit注意AR2的G0/0/0地址192.168.12.2必须和AR1的G0/0/1地址192.168.12.1在同一个网段差了任何一位都不行。AR3的接口配置system-view sysname AR3 interface GigabitEthernet0/0/0 ip address 192.168.23.3 24 undo shutdown quit interface GigabitEthernet0/0/1 ip address 192.168.30.254 24 undo shutdown quitPC端配置更直观。在eNSP里双击PC1在基础配置页面里写IP地址192.168.10.1掩码255.255.255.0网关192.168.10.254。PC2的IP是192.168.30.1网关是192.168.30.254。注意网关地址必须填路由器上连接这个PC的那个接口地址不能随便填。配置完之后在每台路由器上执行display ip interface brief确认接口状态是up。如果PC到网关这一段通不了后面的实验全白做。4.2 静态路由命令的写法与逐设备配置静态路由配置的核心思路只有一句话站在每台路由器上看哪些网段不是直连的就给它们指一条该往哪个方向走的路。先看AR1。AR1的直连网段是192.168.10.0/24和192.168.12.0/24。它需要访问的远端网段有192.168.23.0/24和192.168.30.0/24。这两个网段的方向都在AR2那边所以下一跳都是192.168.12.2。system-view ip route-static 192.168.23.0 255.255.255.0 192.168.12.2 ip route-static 192.168.30.0 255.255.255.0 192.168.12.2再看AR2。AR2的直连网段是192.168.12.0/24和192.168.23.0/24。它需要访问的远端网段是192.168.10.0/24和192.168.30.0/24一个在左边一个在右边分别指向192.168.12.1和192.168.23.3。system-view ip route-static 192.168.10.0 255.255.255.0 192.168.12.1 ip route-static 192.168.30.0 255.255.255.0 192.168.23.3最后看AR3。AR3的直连网段是192.168.23.0/24和192.168.30.0/24。它需要访问192.168.10.0/24和192.168.12.0/24方向都指向AR2。system-view ip route-static 192.168.10.0 255.255.255.0 192.168.23.2 ip route-static 192.168.12.0 255.255.255.0 192.168.23.2这三组配置合在一起就形成了全网双向的可达路径。注意一个细节AR1访问192.168.30.0/24时下一跳是192.168.12.2也就是AR2。AR2收到数据包后再次查表发现目标192.168.30.0/24下一跳是192.168.23.3于是转发给AR3。这就是逐跳转发的实际过程。4.3 配置完成后的三层验证路由表、ping、tracert配置完不是结束验证才是关键。先看路由表。在AR1上执行display ip routing-table你会看到类似下面的输出Destination/Mask Proto Pre Cost Flags NextHop Interface 192.168.10.0/24 Direct 0 0 D 192.168.10.254 GE0/0/0 192.168.12.0/24 Direct 0 0 D 192.168.12.1 GE0/0/1 192.168.23.0/24 Static 60 0 RD 192.168.12.2 GE0/0/1 192.168.30.0/24 Static 60 0 RD 192.168.12.2 GE0/0/1Proto列能看到路由来源是Direct还是StaticPre列能看到优先级数值。只要目标网段出现在路由表里表格里的下一跳就是你配置的地址说明这条路由已经生效。然后做连通性测试。在PC1的命令行里输入ping 192.168.30.1如果通了说明整个链路已经打通。如果只是想验证某一段链路可以在路由器上直接ping远端的接口地址。这里有个实用技巧在路由器上ping远端地址时最好用-a参数指定源接口地址否则可能因为源地址选择问题导致测试结果不直观。比如在AR1上测试到AR3的连通性用这条命令更明确ping -a 192.168.12.1 192.168.23.3最后还可以用tracert 192.168.30.1观察路径。正常情况下会依次经过AR1的192.168.12.1、AR2的192.168.23.3或者AR3的接口地址再到目标。如果tracert只走到某一步就停住了那问题就出在停止的那一跳和下一跳之间。5. 综合实验里最常见的三类故障与完整排查链路综合实验排错最忌讳的就是感觉不对就随便改配置。真正的排查应该有一套链路先在接口层确认链路通不通再在路由表层确认路由有没有最后才回到配置本身找原因。5.1 配了路由还是不通漏配回程路由和方向性错误这是静态路由实验里出现频率最高的一类问题。具体场景是PC1 ping PC2第一条回包正常后面的全部超时或者干脆一开始就不通。排查的第一步是在PC1上ping 192.168.30.1。如果完全不通接着在中间路由器上逐跳查。在AR2上执行display ip routing-table看有没有192.168.30.0/24这条路由。如果有再往AR3上查看它有没有到192.168.10.0/24的返程路由。说到返程路由这里必须重点强调静态路由是单向配置的A到B通了不代表B到A也通。数据包来回是两条独立的路径每一台转发的设备都必须同时具备去程路由和回程路由。很多新手只配了去程路由忘了回程最后ping不通就一直怀疑设备有问题其实是AR3根本没有到PC1网段的路由回包根本送不回AR1。我遇到过一个典型案例AR1到AR3的下一跳写反了AR1明明应该走AR2的192.168.12.2却写成了192.168.23.3这个地址根本不是直连地址路由根本不可能生效。检查的方法就是看路由表里那条静态路由的状态如果下一跳不可达华为设备会在Flags列显示非RD状态甚至整条路由不进入活跃路由表。5.2 通却丢包路由环路是怎么悄悄出现的另一种典型现象是数据包并不是完全不通而是tracert的时候发现地址在来回跳TTL不断递减直到超时就像数据包在两台路由器之间反复踢皮球。这就是路由环路。在静态综合实验里环路最常见的成因是默认路由互指。比如有人在AR1上配了一条ip route-static 0.0.0.0 0 192.168.12.2又在AR2上配了一条ip route-static 0.0.0.0 0 192.168.12.1两边都把未知网段的包丢给对方。如果此时网络里只有一台主机是未知网段的那么这个包就会在AR1和AR2之间无限循环直到TTL归零被丢弃。排查环路的直接办法就是tracert。你会看到路径在固定的两个地址之间反复跳动通常就是这两台设备之间出现了互指路由。解决方式也很简单删掉或纠正其中一条默认路由或者增加一条更精确的明细路由优先命中。记住环路出现时数据包不会一直存在它最终会被TTL机制杀死但会导致丢包和延迟飙升。5.3 每一跳都通、最后一跳失败问题往往藏在网关和接口状态还有一个高频场景在路由器上ping每个直连接口都通但在PC上ping网关也通偏偏PC访问远端网段不通或者远端PC访问本端PC不通。这种情况问题往往不在路由而在网关和接口状态。最经典的错误是PC的网关地址填错了。比如PC1在192.168.10.0/24网段网关却填成了192.168.30.254这个地址不在本网段内PC的ARP请求根本没人响应网关这一层就过不去。还有一种错误是PC的IP地址和子网掩码配置颠倒比如掩码配成255.255.0.0导致PC认为自己整个B段都在同一个子网内ARP请求会广播到整个B段实际上没人能应答。路由器无线配置也会造成这类问题。AR3的G0/0/1接口地址是192.168.30.254/24如果它的接口是down状态PC2的网关就是不可达的。检查的时候用display ip interface brief看一眼比什么都快。5.4 一张排查对照表省掉反复盲试我在帮人排查了大量实验问题之后整理过一张速查表实战中非常管用现象最可能的原因排查命令或动作PC ping不通网关PC地址和网关不在同一网段或接口down检查PC的IP配置display ip interface brief直连目标通跨设备不通中间某台路由器缺少去程或回程路由逐台display ip routing-table检查目标网段ping通但tracert超时路由环路tracert观察地址是否反复横跳路由器能ping通目标PC不行PC网关或PC接口状态问题检查PC的IP、掩码、网关能ping通但偶尔丢包等价路由负载不均或链路质量问题display ip routing-table看是否有两条等价路由这张表的作用不是替代排错而是帮你快速定位问题可能出在哪一层。实际排查链路永远是自下而上的先查接口和链路再查路由表最后才回到配置命令和逻辑判断。6. 把能通升级成会设计负载均衡、浮动路由与默认路由基础配置做完、故障也能排查了接下来可以玩点进阶的东西。很多人把静态路由实验当成配完就完事的任务其实它还能承载很多真实网络中会用到的网络设计思想。这个进阶实验需要在AR1和AR3之间加一条直连线形成一个小环。AR1新增G0/0/2接口IP地址规划为192.168.13.1/24AR3新增G0/0/2接口IP地址规划为192.168.13.3/24。两个接口直连网段是192.168.13.0/24。6.1 等价静态路由实现负载均衡现在AR1去往192.168.30.0/24有两条路可走一条经过AR2下一跳192.168.12.2一条直连AR3下一跳192.168.13.3。两条路都能到达目标网段且两条路由的优先级都是默认的60那么它们就是等价路由会同时出现在路由表里实现负载均衡。在AR1上新增一条路由system-view ip route-static 192.168.30.0 255.255.255.0 192.168.13.3再执行display ip routing-table会看到192.168.30.0/24对应两条路由条目一条出接口是GE0/0/1另一条出接口是GE0/0/2。华为路由器对流量的负载分担是基于流的也就是说同一个业务流会固定走其中一条路径不会被拆分成两个方向乱跑。这个机制保证了传输层连接不会因为路径不同而乱序。这里需要注意负载均衡不是两边都增加带宽这么简单它只是让不同流分散到不同路径上缓解单链路压力。如果你在AR1上配了等价路由但忘了在AR3上配到192.168.10.0/24的等价返程路由那么回包仍然只走AR2一条链路负载均衡就是不完整的。6.2 浮动静态路由主链路中断时的自动切换如果我不希望两条路同时承载流量而是希望一条作为主链路、一条作为备用链路那就需要用到浮动静态路由。实现方式就是给备用路由加一个更大的优先级。把AR1上直连AR3的那条路由改为浮动路由system-view undo ip route-static 192.168.30.0 255.255.255.0 192.168.13.3 ip route-static 192.168.30.0 255.255.255.0 192.168.13.3 preference 70华为静态路由默认优先级是60数字越小优先级越高。这里把备用路由的优先级改成70它比60更不优先所以正常情况下只出现在路由表里作为候选路由不会进入活跃路由表。AR3到192.168.10.0/24的返程路由也需要做同样的操作把直连AR1的那条路径改成优先级70。然后模拟故障把AR1的G0/0/1接口shutdown模拟主链路中断。system-view interface GigabitEthernet0/0/1 shutdown quit此时再看display ip routing-table会发现192.168.30.0/24这条路由的下一跳已经自动切换成了192.168.13.3。虽然链路断了但PC1到PC2的通信并没有中断这就是浮动路由在生产环境里最典型的应用——为关键链路提供自动备份。做完实验记得把接口恢复undo shutdown。这个恢复动作很关键很多人做完浮动路由实验后不理解为什么链路恢复了路由却一直走备用线路其实就是忘了在接口上执行undo shutdown。6.3 默认路由的正确打开方式边界出口的兜底策略默认路由在综合实验里有特定的适用场合不是所有设备都适合配默认路由。它的典型应用场景是边界设备作为网络的出口对于所有未知目标网段都交给上游设备处理。比如在上面这套拓扑里如果我想模拟AR1接入了一台上游路由器类似出口网关那么AR1上可以配一条默认路由system-view ip route-static 0.0.0.0 0.0.0.0 192.168.12.20.0.0.0/0代表所有未知目标网段。这样AR1遇到不在路由表里的任何目标地址都会把这包交给AR2。但这里有个重要的前提内部网段的明细路由必须存在。因为最长前缀匹配原则下192.168.10.0/24这些明细路由永远优先于0.0.0.0/0。默认路由只是给未知流量兜底如果内部网段的明细路由写错了或者丢了数据包不会像有些人想象的那样被默认真地智能救回来反而可能被默认路由导向错误的方向。在做综合实验时我不建议给所有路由器都配默认路由互指这种配置最容易引发环路。默认路由的正确用法是放在出口设备上配合明细路由一起使用。这个边界感要在实验里慢慢体会出来。我在写这套实验总结的过程中反复体会到一个道理静态路由综合实验考的不是命令记忆而是对整个数据转发链路是否有清晰的视图。如果你能不看文档独立把拓扑设计、地址规划、逐台配置、故障排查这四个环节完整走一遍并且说清楚每一步操作背后的原因那这条链路的基本功就是真的扎实了。最后只提醒一句每次做完实验把配置文件导出存好下次再练的时候对比着看你会发现自己的网络思维在一点点变清晰。
返回列表