三、路由基础与静态路由

目录

🎯 这节课为什么重要?

作为工程师,您会遇到这些场景:

  • 🔧 "两个网段的设备无法通信"
  • 🔧 "如何配置路由器实现网段互通?"
  • 🔧 "为什么我的服务器无法访问外网?"
  • 🔧 "路由表中有这么多条目,分别是什么意思?"

路由基础必修课,因为:

  • ✅ 实现不同网段之间的通信
  • ✅ 理解互联网的工作原理
  • ✅ 路由器配置的基础
  • ✅ 网络故障排查必备

📦 核心概念:路由就像"快递中转站"

什么是路由?

定义:路由(Routing)是将数据包从源主机通过最佳路径转发到目的主机的过程。

类比 :路由就像快递中转站

复制代码
您(上海)要寄快递给朋友(北京)

流程:
1. 您 → 上海快递站(收件)
2. 上海快递站 → 分拣中心(中转)
3. 分拣中心 → 北京快递站(中转)
4. 北京快递站 → 朋友(派件)

网络中的路由器就像"快递中转站":
  - 接收数据包
  - 查看目的地地址
  - 转发到下一个中转站
  - 最终到达目标设备

路由器的作用

核心功能

  1. 最佳路径选择:选择最快的路线
  2. 数据包转发:将数据包发往下一跳
  3. 协议转换:不同网络之间的桥梁

类比

复制代码
路由器 = 快递分拣中心

输入:来自不同地方的包裹(数据包)
处理:查看地址(目标IP)
输出:发往不同的方向(下一跳)

📚 一、路由基础

1.1 为什么需要路由?

场景:两个不同网段的设备需要通信

复制代码
网段A:192.168.1.0/24(办公区)
  PC1:192.168.1.10

网段B:192.168.2.0/24(服务器区)
  服务器:192.168.2.100

问题:PC1如何访问服务器?

没有路由器

复制代码
PC1查看服务器IP:192.168.2.100
发现:不在同一网段(192.168.1.0 vs 192.168.2.0)
结果:无法通信(不知道往哪里发)

有路由器

复制代码
PC1 → 发送给网关(192.168.1.1)
路由器 → 查看路由表
       → 192.168.2.0/24 从接口2出去
       → 转发到服务器

1.2 路由表的结构

路由表:路由器内部的"地图",记录如何到达各个网段

路由表的组成

复制代码
目标网段      子网掩码        下一跳        出接口
192.168.1.0   255.255.255.0  0.0.0.0      G0/0/0
192.168.2.0   255.255.255.0  192.168.1.2  G0/0/1
10.0.0.0      255.0.0.0      192.168.1.254 G0/0/0
0.0.0.0       0.0.0.0        192.168.1.254 G0/0/0

字段解释

字段 作用 类比
目标网段 要去哪里 目的地城市
子网掩码 网段范围 城市辖区
下一跳 下一个路由器IP 下一个中转站
出接口 从哪个接口发出去 哪条高速公路

1.3 路由的类型

直连路由(Direct Connected)
复制代码
自动生成,无需配置

条件:接口配置了IP地址,接口状态UP

示例:
interface G0/0/0
 ip address 192.168.1.1 24

路由表自动生成:
  目标网段:192.168.1.0/24
  出接口:G0/0/0
静态路由(Static Route)
复制代码
手动配置,固定不变

优点:
  - 管理员完全控制路径
  - 不占用路由器资源
  - 安全性高

缺点:
  - 网络拓扑变化需要手动更新
  - 大型网络配置复杂

适用场景:
  - 小型网络
  - 固定拓扑结构
动态路由(Dynamic Route)
复制代码
通过路由协议自动学习

常见协议:
  - RIP(距离矢量)
  - OSPF(链路状态)
  - BGP(路径矢量)

优点:
  - 自动适应网络变化
  - 适合大型网络

缺点:
  - 占用路由器资源
  - 配置复杂
  - 可能产生路由环路

📖 二、静态路由配置

2.1 静态路由配置语法

华为设备

shell 复制代码
# 基本语法
ip route-static [目标网段] [掩码] [下一跳IP] | [出接口]

# 示例1:指定下一跳IP
ip route-static 192.168.2.0 255.255.255.0 192.168.1.2

# 示例2:指定出接口(点对点链路)
ip route-static 192.168.2.0 255.255.255.0 G0/0/1

# 示例3:配置默认路由
ip route-static 0.0.0.0 0.0.0.0 192.168.1.254

Cisco设备

shell 复制代码
# 基本语法
ip route [目标网段] [掩码] [下一跳IP] | [出接口]

# 示例
ip route 192.168.2.0 255.255.255.0 192.168.1.2
ip route 0.0.0.0 0.0.0.0 192.168.1.254

2.2 静态路由配置示例

场景:两个网段通过路由器互联

网络拓扑

复制代码
      网段A              路由器RTA              网段B
[192.168.1.0/24]  ←→ [G0/0/0] ←→ [G0/0/1] ←→ [192.168.2.0/24]
                      192.168.1.1    192.168.2.1

配置步骤

步骤1:配置路由器接口IP

shell 复制代码
[RTA] system-view
[RTA] interface G0/0/0
[RTA-G0/0/0] ip address 192.168.1.1 24
[RTA-G0/0/0] quit
[RTA] interface G0/0/1
[RTA-G0/0/1] ip address 192.168.2.1 24
[RTA-G0/0/1] quit

步骤2:查看路由表

shell 复制代码
[RTA] display ip routing-table

# 应该看到两条直连路由:
Destination/Mask    Proto   Pre  Cost        Flags NextHop         Interface
      192.168.1.0/24  Direct  0    0             D   0.0.0.0         GigabitEthernet0/0/0
      192.168.2.0/24  Direct  0    0             D   0.0.0.0         GigabitEthernet0/0/1

步骤3:配置PC和服务器

复制代码
PC1(网段A):
  IP地址:192.168.1.10
  子网掩码:255.255.255.0
  默认网关:192.168.1.1

服务器(网段B):
  IP地址:192.168.2.100
  子网掩码:255.255.255.0
  默认网关:192.168.2.1

步骤4:测试连通性

shell 复制代码
# 在PC1上ping服务器
C:\> ping 192.168.2.100

# 应该能ping通!

2.3 默认路由

什么是默认路由?

定义:当路由表中没有匹配的路由条目时,使用的最后一条路由。

类比:默认路由就像"快递公司的总部分拣中心"

复制代码
具体地址路由:
  发往北京 → 北京分拣中心
  发往上海 → 上海分拣中心

默认路由(其他所有地址):
  发往其他地方 → 总部分拣中心(再转发)

配置语法

shell 复制代码
# 华为设备
ip route-static 0.0.0.0 0.0.0.0 [下一跳IP]

# 示例
ip route-static 0.0.0.0 0.0.0.0 192.168.1.254

# 思科设备
ip route 0.0.0.0 0.0.0.0 [下一跳IP]

# 示例
ip route 0.0.0.0 0.0.0.0 192.168.1.254

为什么需要默认路由?

复制代码
场景1:访问互联网

公司网络:192.168.1.0/24
互联网:无数个公网IP

问题:不可能为每个公网网段配置一条路由

解决:配置默认路由指向ISP网关
  ip route-static 0.0.0.0 0.0.0.0 202.100.1.1

效果:
  访问192.168.2.0 → 匹配具体路由
  访问其他所有IP → 使用默认路由

默认路由的特点

复制代码
1. 优先级最低(最后匹配)
2. 目标网段:0.0.0.0/0(匹配所有IP)
3. 通常只有一个默认路由
4. 访问互联网必须配置

💼 三、实际应用场景

场景1:三个网段互联

网络拓扑

复制代码
      [网段A]              [路由器RTA]              [网段B]
  [192.168.1.0/24]  ←→ [G0/0/0] ←→ [G0/0/1] ←→ [192.168.2.0/24]
                        192.168.1.1    192.168.2.1

                           [G0/0/2]
                             ↓
      [网段C]              [路由器RTB]              互联网
  [192.168.3.0/24]  ←→ [G0/0/1] ←→ [G0/0/0] ←→ [ISP]
                        192.168.3.1    202.100.1.1

RTA配置

shell 复制代码
system-view
interface G0/0/0
 ip address 192.168.1.1 24
 quit

interface G0/0/1
 ip address 192.168.2.1 24
 quit

interface G0/0/2
 ip address 192.168.3.2 24
 quit

# 配置到网段C的静态路由
ip route-static 192.168.3.0 255.255.255.0 192.168.3.1

# 配置默认路由指向RTB
ip route-static 0.0.0.0 0.0.0.0 192.168.3.1

# 保存配置
save

RTB配置

shell 复制代码
system-view
interface G0/0/1
 ip address 192.168.3.1 24
 quit

interface G0/0/0
 ip address 202.100.1.2 24
 quit

# 配置到三个网段的静态路由
ip route-static 192.168.1.0 255.255.255.0 192.168.3.2
ip route-static 192.168.2.0 255.255.255.0 192.168.3.2
ip route-static 192.168.3.0 255.255.255.0 192.168.3.2

# 保存配置
save

场景2:浮动静态路由(备用路径)

场景:主链路故障时,自动切换到备用链路

网络拓扑

复制代码
                        [主链路]
  [网段A] ←→ [RTA] ←→ [ISP] ←→ 互联网
            \    /
             \  / [备用链路]
              [RTB]

RTA配置

shell 复制代码
# 主路由(优先级60)
ip route-static 0.0.0.0 0.0.0.0 202.100.1.1 preference 60

# 备用路由(优先级100)
ip route-static 0.0.0.0 0.0.0.0 202.100.2.1 preference 100

工作原理

复制代码
正常情况:
  → 使用主路由(优先级60,数值越小优先级越高)

主链路故障:
  → 主路由失效
  → 自动切换到备用路由(优先级100)

主链路恢复:
  → 切换回主路由

场景3:负载分担

场景:两条链路同时使用,分担流量

网络拓扑

复制代码
        [链路1]
  [网段A] ←→ [RTA] ←→ [ISP1] ←→ 互联网
         \
          \ [链路2]
           → [ISP2] ←→ 互联网

RTA配置

shell 复制代码
# 两条等价路由
ip route-static 0.0.0.0 0.0.0.0 202.100.1.1
ip route-static 0.0.0.0 0.0.0.0 202.100.2.1

工作原理

复制代码
路由器执行负载均衡:
  第1个包 → ISP1
  第2个包 → ISP2
  第3个包 → ISP1
  第4个包 → ISP2
  ...

效果:
  - 带宽翻倍
  - 提高网络可用性
  - 一条链路故障不影响访问

⚙️ 四、配置命令详解

4.1 查看路由表

华为设备

shell 复制代码
# 查看IP路由表
display ip routing-table

# 查看路由表详细信息
display ip routing-table verbose

# 查看特定网段的路由
display ip routing-table 192.168.1.0

# 查看活动路由
display ip routing-table active

输出示例

复制代码
<RTA> display ip routing-table

Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Destination/Mask    Proto   Pre  Cost        Flags NextHop         Interface
      127.0.0.0/8   Direct  0    0             D  127.0.0.1       InLoopBack0
      192.168.1.0/24  Direct  0    0             D  0.0.0.0         GigabitEthernet0/0/0
      192.168.2.0/24  Static  60   0             RD 192.168.1.2     GigabitEthernet0/0/1
      192.168.3.0/24  Static  60   0             RD 192.168.1.2     GigabitEthernet0/0/1
       0.0.0.0/0    Static  60   0             RD 192.168.1.254   GigabitEthernet0/0/0
------------------------------------------------------------------------------

字段说明

  • Destination/Mask:目标网段和掩码
  • Proto:路由类型(Direct直连,Static静态,OSPF动态)
  • Pre:优先级(0-255,数值越小优先级越高)
  • Cost:开销(路由代价)
  • Flags:标志(R=中继,D=下载)
  • NextHop:下一跳IP地址
  • Interface:出接口

4.2 路由表查找过程

场景:PC1(192.168.1.10)访问服务器(192.168.2.100)

路由器RTA的处理过程

复制代码
步骤1:收到数据包
  源IP:192.168.1.10
  目标IP:192.168.2.100

步骤2:查找路由表
  匹配顺序:最长匹配原则

  尝试1:匹配192.168.2.0/24  # 命中!
  (不再继续匹配其他路由)

步骤3:转发数据包
  下一跳:直连(0.0.0.0)
  出接口:G0/0/1
  从G0/0/1接口发送出去

最长匹配原则

复制代码
路由表中有:
  192.168.2.0/24(匹配24位)
  192.168.2.0/26(匹配26位)
  192.168.2.0/32(匹配32位)

目标IP:192.168.2.100

匹配结果:
  192.168.2.0/24:匹配 ✅
  192.168.2.0/26:匹配 ✅(更精确)
  192.168.2.0/32:不匹配

最终选择:192.168.2.0/26(最长匹配)

4.3 路由维护命令

华为设备

shell 复制代码
# 删除静态路由
undo ip route-static 192.168.2.0 255.255.255.0 192.168.1.2

# 修改路由优先级
ip route-static 192.168.2.0 255.255.255.0 192.168.1.2 preference 100

# 刷新路由表
reset ip routing-table

# 清除路由计数
reset ip routing-table statistics protocol all

⚠️ 五、常见误区与易错点

误区1:忘记配置回程路由

错误认识

复制代码
"配置了A到B的路由,就能通信了"

正确理解

复制代码
路由是双向的!必须配置来回两个方向的路由

错误配置:
  RTA:192.168.1.0 → 192.168.2.0 ✅
  RTB:(未配置)
  结果:A能ping通B,但B无法ping通A

正确配置:
  RTA:192.168.1.0 → 192.168.2.0 ✅
  RTB:192.168.2.0 → 192.168.1.0 ✅
  结果:双向都能通信

误区2:下一跳不可达

错误认识

复制代码
"配置了路由就能工作"

正确理解

复制代码
路由生效的前提:下一跳必须可达

错误配置:
  ip route-static 192.168.2.0 255.255.255.0 192.168.1.254

  问题:192.168.1.254不可达
  结果:路由无效,数据包无法转发

正确配置:
  先确保192.168.1.254可达(如直连网段)
  再配置路由

误区3:子网掩码错误

错误认识

复制代码
"子网掩码差不多就行"

正确理解

复制代码
子网掩码必须精确匹配

错误示例:
  网段:192.168.1.0/24
  配置:255.255.0.0(错误!)
  结果:路由不精确,可能路由错误

正确配置:
  网段:192.168.1.0/24
  配置:255.255.255.0(正确)

误区4:重复配置相同路由

错误认识

复制代码
"多配置几次路由,备份一下"

正确理解

复制代码
相同路由重复配置:

第一次:
  ip route-static 0.0.0.0 0.0.0.0 192.168.1.1 preference 60

第二次:
  ip route-static 0.0.0.0 0.0.0.0 192.168.1.2 preference 60

结果:
  第二次会覆盖第一次
  或产生冲突

建议:
  配置前先查看现有路由
  删除旧路由再配置新路由

误区5:忽略默认路由的必要性

错误认识

复制代码
"公司内网互通就够了,不需要默认路由"

正确理解

复制代码
默认路由的作用:

1. 访问互联网:
   内网 → 默认路由 → ISP → 互联网

2. 访问VPN:
   内网 → 默认路由 → 防火墙 → VPN服务器

3. 访问其他分支机构:
   内网 → 默认路由 → 总部路由器 → 分支网络

没有默认路由:
  ✅ 内网互通正常
  ❌ 无法访问外部网络

📌 六、本节重点总结

核心要点

  1. 路由的本质

    • 数据包从源到目的地的转发过程
    • 类比:快递中转站
  2. 路由表的组成

    • 目标网段、子网掩码、下一跳、出接口
    • 直连路由自动生成
  3. 静态路由配置

    • 手动配置,固定不变
    • 适合小型、固定拓扑网络
  4. 默认路由

    • 0.0.0.0/0,匹配所有IP
    • 访问互联网必须配置
    • 优先级最低
  5. 路由是双向的

    • 配置来回两个方向
    • A→B 和 B→A 都需要路由

配置公式速查

复制代码
1. 静态路由配置:
   ip route-static [目标网段] [掩码] [下一跳]

2. 默认路由配置:
   ip route-static 0.0.0.0 0.0.0.0 [网关IP]

3. 查看路由表:
   display ip routing-table(华为)
   show ip route(思科)

4. 删除路由:
   undo ip route-static [目标网段] [掩码] [下一跳]

🎯 思考题与实操任务

思考题1:基础理解(必答)

题目

复制代码
场景:两个网段需要通过路由器互联

网络A:192.168.1.0/24,网关是192.168.1.1
网络B:192.168.2.0/24,网关是192.168.2.1

问题:
1. 路由器上需要配置什么路由才能让A访问B?
2. 路由器上需要配置什么路由才能让B访问A?
3. 如果网络A还需要访问互联网(网关202.100.1.1),需要配置什么?

思考题2:路由表分析(进阶)

题目

复制代码
查看路由器路由表:

Destination/Mask    Proto   Pre  Cost  NextHop      Interface
192.168.1.0/24      Direct  0    0     0.0.0.0       G0/0/0
192.168.2.0/24      Direct  0    0     0.0.0.0       G0/0/1
192.168.3.0/24      Static  60   0     192.168.2.2   G0/0/1
0.0.0.0/0           Static  60   0     192.168.2.254 G0/0/1

问题:
1. 路由器有几个接口?IP地址分别是多少?
    路由器有2个接口    IP地址分别是:192.168.1.1和192.168.1.2
2. 数据包要发往192.168.3.100,从哪个接口出去?
    从 G0/0/1出去的
3. 数据包要发往8.8.8.8,从哪个接口出去?
    从 G0/0/1出去的
4. 如果192.168.2.2宕机,会影响哪些网段的通信?
    去往 192.168.3.0/24 的流量中断,192.168.1.0网段访问192.168.3.0网段会访问不到
bash 复制代码
# 解析

# 1. 路由器有几个接口?IP地址分别是多少?

- 接口数量:从路由表看,有 2 个直连(Direct)网段 → 对应 2 个活跃接口(G0/0/0 和 G0/0/1)。
- IP 地址:
    - 接口 G0/0/0 的 IP 属于 192.168.1.0/24 网段(通常是 .1,如 192.168.1.1)
    - 接口 G0/0/1 的 IP 属于 192.168.2.0/24 网段(通常是 .1,如 192.168.2.1)

> - 2 个接口
> - IP 分别在 192.168.1.0/24 和 192.168.2.0/24 网段中(具体如 192.168.1.1 / 192.168.2.1)


# 2. 数据包要发往 192.168.3.100,从哪个接口出去?

- 查路由表:匹配 192.168.3.0/24 → 下一跳 192.168.2.2,出接口 G0/0/1
- 所以数据包从 G0/0/1 发出,送往下一跳 192.168.2.2

> 从 G0/0/1 接口出去


# 3. 数据包要发往 8.8.8.8,从哪个接口出去?

- 匹配默认路由 0.0.0.0/0** → 下一跳 192.168.2.254,出接口 G0/0/1
- 所以从 G0/0/1 发出

从 G0/0/1 接口出去


# 4. 如果 192.168.2.2 宕机,会影响哪些网段的通信?

- 192.168.3.0/24 的静态路由依赖下一跳 192.168.2.2
- 所以 去往 192.168.3.0/24 的流量中断
- 192.168.1.0/24 是直连网段,不受影响
- 但注意:192.168.1.0 网段访问 192.168.3.0 会失败,而本地通信正常

192.168.3.0/24 网段的通信会中断(其他网段访问它,或它访问外网若回程依赖此路径)


# 解题思路总结

1. 直连路由(Direct) → 表示本路由器接口所在的网段,接口数 = Direct 条目数。
2. 接口 IP 不是网络地址(如 .0),而是该网段中的某个主机地址(通常 .1)。
3. 数据包出口 = 路由表中匹配条目的 Interface 列,不是 NextHop。
4. NextHop 是下一跳设备的 IP,用于非直连网络。
5. 故障影响:只影响依赖该下一跳的路由条目,直连网段不受影响。
相关推荐
勉灬之2 小时前
基于 Node.js + mysql2 的实用同步助手,适合开发/测试环境下快速对齐表数据
服务器·网络·node.js
一路向北he2 小时前
ac791 wifi连接成功流程
网络·智能路由器
Mr Aokey2 小时前
RabbitMQ进阶实战:三种典型消息路由模式详解(订阅/路由/主题)
java·网络·rabbitmq
程序媛Dev2 小时前
我们是怎么用Sealos把新项目上线周期从3周压到3天的
智能路由器
huohaiyu2 小时前
UDP协议
网络·网络协议·udp
一轮弯弯的明月2 小时前
TCP连接管理(三次握手与四次挥手)
网络·经验分享·笔记·网络协议·tcp/ip·学习心得
init_23612 小时前
【HCIE-08】NAT64
linux·服务器·网络
深信达沙箱2 小时前
如何选择源代码加密软件?应关注哪些核心技术要素
linux·服务器·网络·加密·软件·源代码·沙盒
forestsea2 小时前
GitHub HTTPS 提交代码与个人访问令牌配置指南
网络协议·https·github