开篇:当我们有了多个路由器,网络该怎么通?

在前面的文章中,我们用VLAN解决了单台交换机内的隔离与互通问题。但在实际的企业网络中,我们的网络往往不止一台路由器。

网络入门:VLAN 间通信怎么实现?一文搞懂普通路由、单臂路由与三层交换机-CSDN博客

网络入门:VLAN 到底是什么?一文读懂虚拟局域网-CSDN博客

请看这张拓扑图:

其中:

  • 4台路由器(Router0到Router3),它们首尾相连,形成了一个环网。
  • 2台交换机,连接着6台不同网段的电脑。
  • 电脑网段从192.168.69.0一直到192.168.78.0。

问题来了:PC都知道去网关的路,但路由器不知道怎么去别的路由器的网段。比如,192.168.69.2的电脑想访问192.168.78.2的电脑,Router0不知道该往左走还是往右走。

这就引出了今天的主角——静态路由




第一部分:什么是静态路由?

静态路由,简单说就是“管理员手动在路由器上写死的地图”

动态路由(如OSPF):路由器之间互相“聊天”,自动画出网络地图(适合大型网络,但配置复杂)。

静态路由:管理员告诉路由器:“去往192.168.78.0这个网段的数据包,你全部交给隔壁的Router3处理。”

打个比方:静态路由就像你出门前,把详细的步行路线写在纸条上。虽然每次都要看纸条,但路线绝对准确且稳定。




第二部分:结合拓扑图,搞懂路由原理

1.认识路由器的“直连路由”

当你在路由器接口上配置了IP地址,并且接口状态Up(绿色灯亮)时,路由器会自动学习到直连网段的路由。

例如,在图中:

  • Router0的Gig0/1口配了192.168.73.1,它天生就知道192.168.73.0/24就在自己身上。

  • Router2的Gig0/1口配了192.168.76.1,它天生就知道192.168.76.0/24在自己身上。

但是!路由器天生不知道非直连网段在哪。Router0根本不知道192.168.78.0在网络的哪一端,这就需要静态路由来告诉它。

2.静态路由三要素(核心语法)

无论是什么牌子的路由器(思科/华为/锐捷),配置静态路由都需要掌握三个核心参数:

  • 目的网络:你要去哪?(例如:PC5所在的192.168.77.0/24网段)
  • 掩码:网段的子网掩码(通常是255.255.255.0)
  • 下一跳IP:出发后,先把包交给谁?(例如:Router0要发给PC5,下一跳就是Router1的接口IP192.168.73.2)

注意:配置静态路由时,永远写下一跳IP(对面路由器的接口IP),而不是写自己的接口!




第三部分:实战配置(以思科命令为例)

核心原则:为了让全网互通,每一台路由器都必须有去往所有“非直连网段”的路由

第一步:梳理每台路由器的“任务表”

路由器

自己直连的网段

需要静态路由去往的网段

Router0

69.0,70.0,73.0,75.0

74.0,76.0,77.0,78.0

Router1

73.0,74.0,77.0

69.0,70.0,75.0,76.0,78.0

Router2

75.0,76.0,78.0

69.0,70.0,73.0,74.0,77.0

Router3

74.0,76.0,71.0,72.0

69.0,70.0,73.0,75.0,77.0,78.0

 前提提醒:配置静态路由之前,请确保所有路由器的接口IP和电脑的网关IP均已配置正确且接口为开启状态(No shutdown)。路由器的核心任务是告诉每台路由器“非直连网段”怎么走

根据图上的接口IP以及上述梳理的表格,我们把每台路由器的“本地直连网段”完整列出来:

路由器

自己直连的网段 (Directly Connected)

Router0

192.168.69.0/24, 192.168.70.0/24, 192.168.73.0/24, 192.168.75.0/24

Router1

192.168.73.0/24, 192.168.74.0/24, 192.168.77.0/24

Router2

192.168.75.0/24, 192.168.76.0/24, 192.168.78.0/24

Router3

192.168.74.0/24, 192.168.76.0/24, 192.168.71.0/24, 192.168.72.0/24

(注:路由器不需要写去往自己直连网段的路由,它天生就知道。)

第二步:配置脚本(不含完整备份链路的配置)

为了节约篇幅,我们顺时针配置一条通路,让全网能通即可(后续可补充逆时针做冗余)。

🔴 【Router0 静态路由配置】(告诉它右边怎么走)
Router0 想去右边的 74、76、77、78 网段,最近的出口是192.168.73.2(指向Router1)或192.168.75.1(指向Router2)。这里我们两个方向都写,形成负载分担或备份。

Router0(config)# ip route 192.168.74.0 255.255.255.0 192.168.73.2
Router0(config)# ip route 192.168.77.0 255.255.255.0 192.168.73.2

Router0(config)# ip route 192.168.76.0 255.255.255.0 192.168.75.1
Router0(config)# ip route 192.168.78.0 255.255.255.0 192.168.75.1

🔴 【Router1 静态路由配置】(告诉它左边和右下方怎么走)
Router1 有两个方向可以走:

  • 向左去 69、70、75:走 192.168.73.1 (Router0)。
  • 向右下去 71、72、76、78:走 192.168.74.2 (Router3)。

Router1(config)# ip route 192.168.69.0 255.255.255.0 192.168.73.1
Router1(config)# ip route 192.168.70.0 255.255.255.0 192.168.73.1
Router1(config)# ip route 192.168.75.0 255.255.255.0 192.168.73.1

Router1(config)# ip route 192.168.71.0 255.255.255.0 192.168.74.2
Router1(config)# ip route 192.168.72.0 255.255.255.0 192.168.74.2
Router1(config)# ip route 192.168.76.0 255.255.255.0 192.168.74.2
Router1(config)# ip route 192.168.78.0 255.255.255.0 192.168.74.2

🔴 【Router2 静态路由配置】(告诉它左边和右上方怎么走)
Router2 想访问上半部分和右侧:

  • 向左去 69、70、73:走 192.168.75.2 (Router0)。
  • 向右上去 71、72、74、77:走 192.168.76.2 (Router3)。

Router2(config)# ip route 192.168.69.0 255.255.255.0 192.168.75.2
Router2(config)# ip route 192.168.70.0 255.255.255.0 192.168.75.2
Router2(config)# ip route 192.168.73.0 255.255.255.0 192.168.75.2

Router2(config)# ip route 192.168.71.0 255.255.255.0 192.168.76.2
Router2(config)# ip route 192.168.72.0 255.255.255.0 192.168.76.2
Router2(config)# ip route 192.168.74.0 255.255.255.0 192.168.76.2
Router2(config)# ip route 192.168.77.0 255.255.255.0 192.168.76.2

🔴 【Router3 静态路由配置】(告诉它怎么去网络的两端)
Router3 处于网络右下角,想去左上方的网段,必须经过 Router1 (192.168.74.1) 或 Router2 (192.168.76.1)。这里简单演示往左走:

  • 去往左半侧:走 192.168.74.1 或 192.168.76.1。
  • 去往最左侧和上面:走 192.168.74.1 或 192.168.76.1。

Router3(config)# ip route 192.168.73.0 255.255.255.0 192.168.74.1
Router3(config)# ip route 192.168.69.0 255.255.255.0 192.168.74.1
Router3(config)# ip route 192.168.70.0 255.255.255.0 192.168.74.1
Router3(config)# ip route 192.168.75.0 255.255.255.0 192.168.74.1
Router3(config)# ip route 192.168.77.0 255.255.255.0 192.168.74.1
Router3(config)# ip route 192.168.78.0 255.255.255.0 192.168.76.1  // 去78网段走下方Router2更近

第三步:偷懒绝招 —— 默认路由(写一条顶十条)

如果觉得挨个写网段太累,有一个强力捷径

观察网络,如果 Router1 和 Router2 处于网络的中转核心,而边缘路由器(如Router0,Router3)只要把不认识的数据全甩给核心路由器就行,可以使用默认路由 (0.0.0.0 0.0.0.0)

例如,Router3 完全可以简化为:

Router3(config)# ip route 0.0.0.0 0.0.0.0 192.168.74.1

(这句话的意思是:不管数据包想去哪,只要我不认识,统统丢给 192.168.74.1 处理。)

但是需要注意的是,Router3 把流量全甩给了 Router1,所以Router1 必须知道怎么去 71 和 72 网段,否则会出现“路由黑洞”(数据包走到 Router1,却不知道往回怎么走)

此外还需要注意路由环路问题,这个会在同作者的下一篇或者下下篇或者下下下篇文章中提及,如果作者记得,会回来放上链接的。

实战经验:在企业中,最末端的路由器(接入层)通常只写一条默认路由指向核心路由器,核心路由器之间才互相写具体的明细路由。这会大大减少配置量。

第四步:全网连通性测试

不要盲目相信敲进去的命令,一定要动手测!用最左边的PC去Ping最右边的PC。

检查路由表是否生效

思科:show ip route(查看路由表,也可以直接使用工具,查看是否有S标记的静态路由条目)

or:

华为:display ip routing-table(查看Proto为Static的条目)

Ping指令验证

在PC0(192.168.69.2)的命令行中敲入:

   ping 192.168.78.2(PC4)✅如果通了,全网互联成功!

在PC0上敲入:

   ping 192.168.77.2(PC5)✅必须也通!

追踪路由路径(可选)

Windows下输入:tracert 192.168.78.2

这张图和上面的配置方式不符网络拓扑不同,仅作指令演示

如果看到你设置的完整路径,说明你的路线正确

第四部分:静态路由的“致命弱点”与最佳实践

掌握了静态路由,你会发现很简单,但大规模网络千万不能用纯静态路由

优点 缺点
配置简单,不占路由器CPU资源。 管理难:图中只有 4 个路由器,如果是 50 个路由器,每台写 40 条路由,管理员会疯掉。
网络稳定,不会因为网络拥塞而乱跳。 缺乏弹性:如果图中 Router1 坏了,手动写死指向 Router1 的静态路由就会失效,全网左半侧瘫痪。

最佳实践口诀:

边缘网络(接入层)用静态路由,骨干网络(核心层)用动态路由协议(如 OSPF)。
一句话:静态路由适合“去往边界”或“去往特定服务器”,不适合全网核心骨干。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐