HCIA知识整理2

一、路由协议(静态 + 动态 + 实验)

1. 静态路由

核心定义

静态路由是网络管理员手动在路由器上配置的路由条目 ,相当于给路由器 "手动规划地图"------ 明确告诉路由器 "要去某个目标网段,应该走哪条路(下一跳)",适用于小型简单网络。

核心特点
  • 缺点:
    1.配置量大
    2.不能基于拓扑结构的变化而变化,不能实时收敛
  • 优点:
    1.手动配置,无需路由器之间协商,配置简单直接;
    2.路由条目固定,不会随网络拓扑变化自动调整(需管理员手动修改);
    3.不占用网络带宽(无路由更新报文),转发效率高;
    4.适用于小型、拓扑稳定的网络(如家庭网络、小型企业网络)。
基础概念
1.关键术语解释
2. 静态路由配置命令格式
格式 1:指定下一跳
复制代码
[路由器名称]ip route-static 目标网段 子网掩码 下一跳IP
  • 示例:[R1]ip route-static 192.168.3.0 255.255.255.0 192.168.2.2
    解释:R1 要去 192.168.3.0/24 网段,下一跳找 192.168.2.2
格式 2:指定出接口 + 下一跳(适用于点到点链路)
复制代码
[路由器名称]ip route-static 目标网段 子网掩码 出接口 下一跳IP
  • 示例:
    [R1]ip route-static 192.168.3.0 255.255.255.0 GigabitEthernet 0/0/1 192.168.2.2
    解释:R1 从 GE0/0/1 接口发送数据,下一跳是 192.168.2.2
3.基础实验:
静态路由实现跨网段互通(3 路由器 + 2PC)

实验拓扑

设备 接口 IP 地址 / 子网掩码 直连网段 需到达的目标网段
PC1 网卡 192.168.1.10/24 192.168.1.0/24 192.168.3.0/24(PC2 网段)
PC2 网卡 192.168.3.10/24 192.168.3.0/24 192.168.1.0/24(PC1 网段)
路由器 R1 GE0/0/0 192.168.1.254/24 192.168.1.0/24 192.168.2.0/30、192.168.3.0/24
路由器 R1 GE0/0/1 192.168.2.1/30 192.168.2.0/30 -
路由器 R2 GE0/0/0 192.168.2.2/30 192.168.2.0/30 192.168.1.0/24、192.168.4.0/30、192.168.3.0/24
路由器 R2 GE0/0/1 192.168.4.1/30 192.168.4.0/30 -
路由器 R3 GE0/0/0 192.168.4.2/30 192.168.4.0/30 192.168.1.0/24、192.168.2.0/30
路由器 R3 GE0/0/1 192.168.3.254/24 192.168.3.0/24 -

配置步骤

第一步:配置 PC 的 IP 和网关(手动配置)

  • PC1:IP=192.168.1.10,子网掩码 = 255.255.255.0,网关 = 192.168.1.254(R1 的 GE0/0/0 接口 IP)
  • PC2:IP=192.168.3.10,子网掩码 = 255.255.255.0,网关 = 192.168.3.254(R3 的 GE0/0/1 接口 IP)

第二步:配置路由器接口 IP

(1)路由器 R1 配置

复制代码
# 进入系统视图,改设备名
<R1>system-view
[R1]sysname R1

# 配置GE0/0/0接口(连接PC1网段)
[R1]interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.1.254 255.255.255.0
[R1-GigabitEthernet0/0/0]quit  # 退出接口视图

# 配置GE0/0/1接口(连接R2网段)
[R1]interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1]ip address 192.168.2.1 255.255.255.252
[R1-GigabitEthernet0/0/1]quit

(2)路由器 R2 配置

复制代码
<R2>system-view
[R2]sysname R2

# 配置GE0/0/0接口(连接R1网段)
[R2]interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ip address 192.168.2.2 255.255.255.252
[R2-GigabitEthernet0/0/0]quit

# 配置GE0/0/1接口(连接R3网段)
[R2]interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1]ip address 192.168.4.1 255.255.255.252
[R2-GigabitEthernet0/0/1]quit

(3)路由器 R3 配置

复制代码
<R3>system-view
[R3]sysname R3

# 配置GE0/0/0接口(连接R2网段)
[R3]interface GigabitEthernet 0/0/0
[R3-GigabitEthernet0/0/0]ip address 192.168.4.2 255.255.255.252
[R3-GigabitEthernet0/0/0]quit

# 配置GE0/0/1接口(连接PC2网段)
[R3]interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1]ip address 192.168.3.254 255.255.255.0
[R3-GigabitEthernet0/0/1]quit

第三步:配置静态路由(实现互通的核心)

(1)R1 配置:到达 R2-R3 网段、PC2 网段

复制代码
# 1. 到达192.168.4.0/30(R2-R3直连网段),下一跳是192.168.2.2(R2的GE0/0/0接口)
[R1]ip route-static 192.168.4.0 255.255.255.252 192.168.2.2

# 2. 到达192.168.3.0/24(PC2网段),下一跳是192.168.2.2
[R1]ip route-static 192.168.3.0 255.255.255.0 192.168.2.2

(2)R2 配置:到达 PC1 网段、PC2 网段

复制代码
# 1. 到达192.168.1.0/24(PC1网段),下一跳是192.168.2.1(R1的GE0/0/1接口)
[R2]ip route-static 192.168.1.0 255.255.255.0 192.168.2.1

# 2. 到达192.168.3.0/24(PC2网段),下一跳是192.168.4.2(R3的GE0/0/0接口)
[R2]ip route-static 192.168.3.0 255.255.255.0 192.168.4.2

(3)R3 配置:到达 R2-R1 网段、PC1 网段

复制代码
# 1. 到达192.168.2.0/30(R1-R2直连网段),下一跳是192.168.4.1(R2的GE0/0/1接口)
[R3]ip route-static 192.168.2.0 255.255.255.252 192.168.4.1

# 2. 到达192.168.1.0/24(PC1网段),下一跳是192.168.4.1
[R3]ip route-static 192.168.1.0 255.255.255.0 192.168.4.1

第四步:验证配置是否成功

  1. 查看路由表(确认路由条目已添加)

    在 R1 上执行:[R1]display ip routing-table protocol static会显示两条静态路由:192.168.4.0/30 和 192.168.3.0/24,下一跳都是 192.168.2.2。

  2. 测试连通性(PC1 ping PC2)

    在 PC1 的命令行输入:ping 192.168.3.10
    若显示 "Reply from 192.168.3.10",说明互通成功!

静态路由 + 链路优先级 + 防环配置

实验需求与拓扑说明

1. 需求拆解

  1. IP 规划 :除 R5 环回5.5.5.0/24固定外,所有网段基于192.168.1.0/24划分;R1-R4 各有 2 个环回接口模拟 PC 网段。

  2. 路由限制 :R1-R4 不能直接编写到达5.5.5.0/24的静态路由,但需能访问。

  3. 全网可达:尽量减少路由条目,避免环路。

  4. 链路优先级 :R4 与 R5 间,正常走1000M链路,故障时自动切换到100M链路。

2. 网段规划(基于 192.168.1.0/24 ,/27 子网划分)

链路 / 环回 网段 说明
R1-R2 192.168.1.0/27 点到点链路
R2-R4 192.168.1.32/27 点到点链路
R1-R3 192.168.1.64/27 点到点链路
R3-R4 192.168.1.96/27 点到点链路
R4-R5(1000M) 192.168.1.128/27 主链路
R4-R5(100M) 192.168.1.160/27 备份链路
R1 环回 1 192.168.1.192/27 模拟 PC1
R1 环回 2 192.168.1.224/27 模拟 PC2
R2 环回 1 192.168.2.0/27 模拟 PC3
R2 环回 2 192.168.2.32/27 模拟 PC4
R3 环回 1 192.168.2.64/27 模拟 PC5
R3 环回 2 192.168.2.96/27 模拟 PC6
R4 环回 1 192.168.2.128/27 模拟 PC7
R4 环回 2 192.168.2.160/27 模拟 PC8
R5 环回 5.5.5.0/24 固定网段

3. 接口 IP 分配

设备 接口 IP 地址 / 掩码 直连网段
AR1 GE0/0/0 192.168.1.1/27 R1-R2
AR1 GE0/0/1 192.168.1.65/27 R1-R3
AR1 LoopBack0 192.168.1.193/27 环回 1
AR1 LoopBack1 192.168.1.225/27 环回 2
AR2 GE0/0/0 192.168.1.2/27 R1-R2
AR2 GE0/0/1 192.168.1.33/27 R2-R4
AR2 LoopBack0 192.168.2.1/27 环回 1
AR2 LoopBack1 192.168.2.33/27 环回 2
AR3 GE0/0/0 192.168.1.66/27 R1-R3
AR3 GE0/0/1 192.168.1.97/27 R3-R4
AR3 LoopBack0 192.168.2.65/27 环回 1
AR3 LoopBack1 192.168.2.97/27 环回 2
AR4 GE0/0/0 192.168.1.34/27 R2-R4
AR4 GE0/0/1 192.168.1.98/27 R3-R4
AR4 GE0/0/2 192.168.1.129/27 R4-R5(1000M)
AR4 GE4/0/0 192.168.1.161/27 R4-R5(100M)
AR4 LoopBack0 192.168.2.129/27 环回 1
AR4 LoopBack1 192.168.2.161/27 环回 2
AR5 GE0/0/0 192.168.1.130/27 R4-R5(1000M)
AR5 GE0/0/1 192.168.1.162/27 R4-R5(100M)
AR5 LoopBack0 5.5.5.1/24 固定环回

第一步:配置所有路由器接口 IP

1. AR1 配置

复制代码
<AR1>system-view
[AR1]sysname AR1

# R1-R2
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ip address 192.168.1.1 255.255.255.224
[AR1-GigabitEthernet0/0/0]undo shutdown
[AR1-GigabitEthernet0/0/0]quit

# R1-R3
[AR1]interface GigabitEthernet 0/0/1
[AR1-GigabitEthernet0/0/1]ip address 192.168.1.65 255.255.255.224
[AR1-GigabitEthernet0/0/1]undo shutdown
[AR1-GigabitEthernet0/0/1]quit

# 环回
[AR1]interface LoopBack 0
[AR1-LoopBack0]ip address 192.168.1.193 255.255.255.224
[AR1-LoopBack0]quit
[AR1]interface LoopBack 1
[AR1-LoopBack1]ip address 192.168.1.225 255.255.255.224
[AR1-LoopBack1]quit

2. AR2 配置

复制代码
<AR2>system-view
[AR2]sysname AR2

# R1-R2
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]ip address 192.168.1.2 255.255.255.224
[AR2-GigabitEthernet0/0/0]undo shutdown
[AR2-GigabitEthernet0/0/0]quit

# R2-R4
[AR2]interface GigabitEthernet 0/0/1
[AR2-GigabitEthernet0/0/1]ip address 192.168.1.33 255.255.255.224
[AR2-GigabitEthernet0/0/1]undo shutdown
[AR2-GigabitEthernet0/0/1]quit

# 环回
[AR2]interface LoopBack 0
[AR2-LoopBack0]ip address 192.168.2.1 255.255.255.224
[AR2-LoopBack0]quit
[AR2]interface LoopBack 1
[AR2-LoopBack1]ip address 192.168.2.33 255.255.255.224
[AR2-LoopBack1]quit

3. AR3 配置

复制代码
<AR3>system-view
[AR3]sysname AR3

# R1-R3
[AR3]interface GigabitEthernet 0/0/0
[AR3-GigabitEthernet0/0/0]ip address 192.168.1.66 255.255.255.224
[AR3-GigabitEthernet0/0/0]undo shutdown
[AR3-GigabitEthernet0/0/0]quit

# R3-R4
[AR3]interface GigabitEthernet 0/0/1
[AR3-GigabitEthernet0/0/1]ip address 192.168.1.97 255.255.255.224
[AR3-GigabitEthernet0/0/1]undo shutdown
[AR3-GigabitEthernet0/0/1]quit

# 环回
[AR3]interface LoopBack 0
[AR3-LoopBack0]ip address 192.168.2.65 255.255.255.224
[AR3-LoopBack0]quit
[AR3]interface LoopBack 1
[AR3-LoopBack1]ip address 192.168.2.97 255.255.255.224
[AR3-LoopBack1]quit

4. AR4 配置

复制代码
<AR4>system-view
[AR4]sysname AR4

# R2-R4
[AR4]interface GigabitEthernet 0/0/0
[AR4-GigabitEthernet0/0/0]ip address 192.168.1.34 255.255.255.224
[AR4-GigabitEthernet0/0/0]undo shutdown
[AR4-GigabitEthernet0/0/0]quit

# R3-R4
[AR4]interface GigabitEthernet 0/0/1
[AR4-GigabitEthernet0/0/1]ip address 192.168.1.98 255.255.255.224
[AR4-GigabitEthernet0/0/1]undo shutdown
[AR4-GigabitEthernet0/0/1]quit

# R4-R5 主链路
[AR4]interface GigabitEthernet 0/0/2
[AR4-GigabitEthernet0/0/2]ip address 192.168.1.129 255.255.255.224
[AR4-GigabitEthernet0/0/2]undo shutdown
[AR4-GigabitEthernet0/0/2]quit

# R4-R5 备份链路
[AR4]interface GigabitEthernet 0/0/3
[AR4-GigabitEthernet0/0/3]ip address 192.168.1.161 255.255.255.224
[AR4-GigabitEthernet0/0/3]undo shutdown
[AR4-GigabitEthernet0/0/3]quit

# 环回
[AR4]interface LoopBack 0
[AR4-LoopBack0]ip address 192.168.2.129 255.255.255.224
[AR4-LoopBack0]quit
[AR4]interface LoopBack 1
[AR4-LoopBack1]ip address 192.168.2.161 255.255.255.224
[AR4-LoopBack1]quit

5. AR5 配置

复制代码
<AR5>system-view
[AR5]sysname AR5

# R4-R5 主链路
[AR5]interface GigabitEthernet 0/0/0
[AR5-GigabitEthernet0/0/0]ip address 192.168.1.130 255.255.255.224
[AR5-GigabitEthernet0/0/0]undo shutdown
[AR5-GigabitEthernet0/0/0]quit

# R4-R5 备份链路
[AR5]interface GigabitEthernet 0/0/1
[AR5-GigabitEthernet0/0/1]ip address 192.168.1.162 255.255.255.224
[AR5-GigabitEthernet0/0/1]undo shutdown
[AR5-GigabitEthernet0/0/1]quit

# 环回
[AR5]interface LoopBack 0
[AR5-LoopBack0]ip address 5.5.5.1 255.255.255.0
[AR5-LoopBack0]quit

第二步:配置静态路由(汇总 + 防环 + 链路优先级)

1. 核心思路

  • 汇总路由:将 R1-R4 的环回网段汇总,减少路由条目。

  • 默认路由 :R1-R3 通过默认路由指向 R4,R4 通过默认路由指向 R5,避免直接编写5.5.5.0/24静态路由。

  • 浮动静态路由:R4 与 R5 间,主链路(1000M)优先级默认 60,备份链路(100M)优先级设为 61,实现故障自动切换。

  • 空接口路由:在 R4 配置汇总空接口路由,防止环路。

2. AR1 静态路由配置

复制代码
[AR1]ip route-static 0.0.0.0 0.0.0.0 192.168.1.2
[AR1]ip route-static 0.0.0.0 0.0.0.0 192.168.1.66
[AR1]ip route-static 192.168.2.0 255.255.255.0 192.168.1.2
[AR1]ip route-static 192.168.2.0 255.255.255.0 192.168.1.66

3. AR2 静态路由配置

复制代码
[AR2]ip route-static 0.0.0.0 0.0.0.0 192.168.1.34
[AR2]ip route-static 192.168.1.192 255.255.255.224 192.168.1.1

4. AR3 静态路由配置

复制代码
[AR3]ip route-static 0.0.0.0 0.0.0.0 192.168.1.98
[AR3]ip route-static 192.168.1.192 255.255.255.224 192.168.1.65

5. AR4 静态路由配置(难)

复制代码
# 内网路由
[AR4]ip route-static 192.168.1.192 255.255.255.224 192.168.1.33
[AR4]ip route-static 192.168.1.192 255.255.255.224 192.168.1.97

# 默认路由 主+备
[AR4]ip route-static 0.0.0.0 0.0.0.0 192.168.1.130
[AR4]ip route-static 0.0.0.0 0.0.0.0 192.168.1.162 preference 61

6. AR5 静态路由配置

复制代码
[AR5]ip route-static 192.168.0.0 255.255.0.0 192.168.1.129
[AR5]ip route-static 192.168.0.0 255.255.0.0 192.168.1.161 preference 61

第三步:验证配置

1. 查看路由表

在各路由器上执行:

复制代码
display ip routing-table protocol static
  • AR1/AR2/AR3 :应看到默认路由和汇总路由,无5.5.5.0/24条目。

  • AR4 :应看到主默认路由(下一跳 192.168.1.130)和备份默认路由(优先级 61)。

  • AR5 :应看到汇总内网路由。

2. 测试连通性

  • 在 AR1 的环回接口 ping AR5 的环回:

    复制代码
    ping -a 192.168.1.193 5.5.5.1

    显示Reply from 5.5.5.1,说明全网可达。

  • 链路故障测试

    1. 关闭 AR4 的 GE0/0/2 接口:[AR4-GigabitEthernet0/0/2]shutdown

    2. 查看 AR4 路由表:display ip routing-table,默认路由应切换到备份链路(下一跳 192.168.1.162)。

    3. 再次 ping 5.5.5.1,仍能通,说明故障切换成功。

关键说明

  1. 避免直接编写 5.5.5.0/24 路由:R1-R3 通过默认路由指向 R4,R4 通过默认路由指向 R5,间接实现访问。

  2. 减少路由条目:通过汇总路由,将多个环回网段合并为一条路由。

  3. 防环 :R4 配置空接口路由192.168.0.0/16 NULL 0,丢弃不存在的内网流量,避免环路。

  4. 链路优先级:利用静态路由优先级(默认 60,备份 61),实现主链路故障时自动切换到备份链路。

扩展配置:静态路由的高级用法
功能 配置命令 作用说明
防环(空接口路由) [设备] ip route-static 汇总网段 子网掩码 NULL 0 例:ip route-static 192.168.0.0 22 NULL 0 解决路由汇总导致的黑洞问题,丢弃不存在网段的流量
浮动路由 [设备] ip route-static 目标网段 子网掩码 下一跳 IP preference 优先级 例:preference 61 优先级数值越小越优先,用于冗余备份(默认静态路由优先级 60)
手工汇总 将连续子网汇总为一个网段,减少路由条目 例:192.168.0.0/24、192.168.1.0/24 汇总为 192.168.0.0/23
1. 负载均衡(双路径分担流量)

场景:

R1 到 192.168.3.0/24 有两条路径:R1→R2→R3(主路径 )、R1→R4→R3(备份路径),希望两条路径同时分担流量。

配置(R1 上):

复制代码
# 第一条路径:R1→R2→R3(下一跳192.168.2.2)
[R1]ip route-static 192.168.3.0 255.255.255.0 192.168.2.2

# 第二条路径:R1→R4→R3(下一跳192.168.5.2)
[R1]ip route-static 192.168.3.0 255.255.255.0 192.168.5.2

效果:

路由器会自动将流量拆分到两条路径,提升带宽利用率(如 PC1 ping PC2 时,流量交替通过两条路径)。

2. 浮动静态路由(链路备份,自动切换)

场景:

R1 到 192.168.3.0/24 的主路径是 R1→R2→R3(优先级 60),备份路径是 R1→R4→R3(优先级 61),主路径故障时自动切换到备份路径。

配置(R1 上):

复制代码
# 主路由(优先级默认60,数值越小越优先)
[R1]ip route-static 192.168.3.0 255.255.255.0 192.168.2.2

# 浮动路由(备份,优先级61,高于主路由)
[R1]ip route-static 192.168.3.0 255.255.255.0 192.168.5.2 preference 61

验证:

  • 正常情况下,路由表仅显示主路由;

  • 断开主路径(如关闭 R1 的 GE0/0/1 接口[R1-GigabitEthernet0/0/1]shutdown),再次查看路由表,会显示备份路由,PC1 仍能 ping 通 PC2。

3. 手工汇总(减少路由条目,简化配置)

场景:

R1 需要到达多个连续子网:192.168.0.0/24、192.168.1.0/24、192.168.2.0/24、192.168.3.0/24,可汇总为一个网段 192.168.0.0/22(子网掩码 255.255.252.0),减少路由条目。

配置(R1 上):

复制代码
[R1]ip route-static 192.168.0.0 255.255.252.0 192.168.2.2

原理:

汇总后的网段包含所有连续子网,路由器只需一条路由即可到达多个目标,提升转发效率。

4. 防环配置:空接口路由(解决路由黑洞)

场景:

R1 汇总了 192.168.0.0/22 网段,但实际网络中仅存在 192.168.1.0/24 和 192.168.3.0/24,其余网段(192.168.0.0/24、192.168.2.0/24)是 "黑洞"(不存在),若配置缺省路由,黑洞网段的流量会形成环路。

配置(R1 上):

复制代码
# 1. 汇总路由(指向R2)
[R1]ip route-static 192.168.0.0 255.255.252.0 192.168.2.2

# 2. 空接口路由(丢弃黑洞流量,避免环路)
[R1]ip route-static 192.168.0.0 255.255.252.0 NULL 0

原理:

路由表匹配遵循 "最长匹配原则":实际存在的子网(192.168.1.0/24)匹配具体路由,黑洞网段匹配汇总路由,最终被 NULL 0 接口(虚拟接口,接收流量后直接丢弃)丢弃,避免环路。

常见问题排错
1. 能 ping 通直连网段,不能 ping 通非直连网段?
  • 原因 1:未配置静态路由,或路由条目错误(目标网段、下一跳填错);

  • 原因 2:路由单向性(只配置了 A 到 B 的路由,未配置 B 到 A 的路由);

  • 排查

    1. 查看路由表:display ip routing-table,确认目标网段是否存在;

    2. 检查下一跳是否正确(下一跳必须是直连网段的 IP);

    3. 反向检查对方路由器是否配置了返程路由。

2. 路由表中看不到静态路由?
  • 原因 1 :接口未启用(状态为 down),需启用接口:[接口]undo shutdown

  • 原因 2:目标网段与直连网段冲突;

  • 排查display ip interface brief 查看接口状态,确保接口 "up up"。

3. ping 通但丢包严重?
  • 原因:链路故障、接口带宽不足,或路由配置错误导致流量绕行;

  • 排查tracert 目标IP 跟踪路由路径,确认是否走了最优路径。

核心命令速查
功能 命令
配置静态路由(下一跳) ip route-static 目标网段 子网掩码 下一跳IP
配置浮动路由 ip route-static 目标网段 子网掩码 下一跳IP preference 优先级
配置空接口路由 ip route-static 汇总网段 子网掩码 NULL 0
查看静态路由表 display ip routing-table protocol static
查看接口状态 display ip interface brief
测试连通性 ping 目标IP
跟踪路由路径 tracert 目标IP

2. 动态路由协议(RIP+OSPF)

分类基础
自治系统(AS)维度分类
  • AS(自治系统) :独立管理的网络区域,编号范围 0-65535

    • 公有编号:1-64511(用于互联网)

    • 私有编号:64512-65535(用于内部网络)

  • IGP(内部网关协议) :运行在 AS 内部,实现 AS 内子网互通

    • 代表协议:RIP、OSPF、EIGRP、ISIS
  • EGP(外部网关协议) :运行在 AS 之间,实现 AS 间路由交互

    • 代表协议:BGP
IGP 协议的细分分类
1. 按更新时是否携带子网掩码
  • 有类别路由协议 :更新时不携带子网掩码,仅识别主类网段(A/B/C 类)

  • 无类别路由协议 :更新时携带子网掩码,支持子网划分与路由汇总

2. 按工作特点分类
类型 代表协议 核心工作方式 度量值 算法
DV(距离矢量) RIP、EIGRP 邻居间共享完整路由表,仅知晓 "方向 + 距离" 跳数(RIP)/ 复合度量(EIGRP) 贝尔曼 - 福特算法
LS(链路状态) OSPF、ISIS 邻居间共享链路状态 / 拓扑信息,构建全网拓扑 Cost(OSPF,基于带宽) SPF(最短路径优先)算法,将图形拓扑转为树形结构计算最短路径

动态路由协议 先按 AS 内外 分为 IGP/EGP,IGP 再按 是否带掩码工作模式 进一步细分:

  • IGP 内部用:RIP/OSPF/EIGRP/ISIS
  • EGP 跨 AS 用:BGP
  • IGP 里,DV 协议靠 "传路由表" 工作,LS 协议靠 "传拓扑信息" 工
RIP(路由信息协议)

RIP(Routing Information Protocol,路由信息协议)是距离矢量型 IGP 内部网关协议 ,基于 UDP 520 端口 工作,主要用于小型自治系统(AS)内部的路由自动收敛,同时支持 IPv4(v1/v2)与 IPv6(NG 版本)。

核心基础特性
  • 协议类型:距离矢量 IGP 协议

  • 传输依赖:基于 UDP 520 端口工作,无连接特性导致路由更新无天然确认机制,需依赖自身破环机制保障可靠性

  • 度量值:以 "跳数" 为唯一路由开销,1 跳表示直连网段,最大跳数为 15 跳(16 跳视为 "不可达",用于限制路由环路)

  • 更新机制:支持两种更新方式,确保路由信息及时同步:

    1.周期更新:默认每 30 秒发送一次完整路由表(RIP v1 为广播,RIP v2 为组播),意义包括邻居保活(共发送 6 次,未收到回应则标记路由失效)和路由信息同步。
    2.触发更新:网络拓扑变化时(如链路断开、新增网段),立即发送更新报文,无需等待周期,加快收敛。

  • 更新特性:RIP 更新为异步更新,邻居间不要求同时发送更新,各自按 30 秒周期独立发送,降低网络同步压力。

RIP v1 与 RIP v2 核心差异表
特性 RIP v1 RIP v2
子网掩码 不携带,属于有类别路由协议,仅识别主类网段(A/B/C 类) 携带,属于无类别路由协议,支持任意子网掩码
更新方式 广播发送(目标 IP:255.255.255.255),所有网段设备均会接收 组播发送(目标 IP:224.0.0.9),仅运行 RIP v2 的设备接收,减少带宽占用
认证功能 不支持,路由更新无加密,存在安全风险 支持 MD5 手工认证,路由信息加密传输,提升安全性
子网划分 / 汇总 不支持,仅能按主类网段宣告,无法适配复杂子网规划 支持子网划分,支持手工汇总(减少路由条目)和自动汇总(可关闭)
路由条目携带信息 仅包含目标主类网段 + 跳数 包含目标网段 + 子网掩码 + 跳数 + 下一跳 + 认证信息
适用场景 小型简单网络(无子网划分需求) 中小型网络(需子网划分、路由加密、汇总)
RIP 破环机制(防止路由环路)

距离矢量协议天然存在路由环路风险,RIP 通过 4 种核心机制协同破环:

机制名称 核心规则 作用
水平分割 从此口入,不从此口出(从某接口收到的路由,绝不通过该接口再次转发) 避免直线型拓扑中的双向环路,同时减少大量重复更新,降低带宽占用
最大跳数限制 最大跳数限制为 15 跳,16 跳视为不可达(死亡路由) 终止路由无限循环,即使水平分割失效,环路也会因跳数超限自动终止
触发更新 + 毒性逆转 拓扑变化后,失效路由标记为 "毒性路由"(跳数 = 16),触发更新并暂时关闭水平分割 加快全网对故障的感知速度,避免邻居继续使用失效路由,防止路由黑洞
抑制计时器 收到毒性路由后,180 秒内不接收该路由的正常更新(华为模拟器中暂不可修改) 防止路由在 "有效 - 失效" 之间频繁切换(路由震荡),保障网络稳定性
RIP 协议:水平分割与毒性逆转机制

RIP 作为距离矢量协议 ,天然存在路由环路风险(比如路由器 A 从 B 学到路由,B 又从 A 学到同一条路由,形成循环)。水平分割毒性逆转是 RIP 最核心的防环 / 加速收敛机制

水平分割(Split Horizon)

1. 核心定义

从此口入,不从此口出

路由器从某个接口学习到的路由条目,不会再从同一个接口向外发送

2. 原理与场景

假设拓扑:R1 ↔ R2 ↔ R3

  • R3 把 192.168.3.0/24 发给 R2

  • R2 学到后,不会再把这条路由发回给 R3(因为是从连接 R3 的接口学来的)

  • 这样就避免了 R3 从 R2 收到自己的路由,形成 R3→R2→R3 的环路

3. 作用

  1. 防环:从根源上避免直线型拓扑中的双向环路

  2. 减少冗余更新:避免重复发送已经从该接口学到的路由,节省带宽

  3. 简化路由表:减少无效路由条目,提升转发效率

4. 注意

  • 水平分割默认开启,一般不需要手动配置

  • 帧中继 / ATM 等非广播多路访问(NBMA)网络中,水平分割可能需要手动关闭(否则某些拓扑下无法学习路由),但在以太网环境中保持开启即可

毒性逆转(Poison Reverse)

1. 核心定义

当一条路由失效时,路由器会将其标记为毒性路由(跳数 = 16,不可达) ,并暂时关闭水平分割 ,将这条毒性路由立即发送给所有邻居(包括从它学来的邻居)。

2. 原理与场景

还是拓扑:R1 ↔ R2 ↔ R3

  1. 故障发生 :R3 与 192.168.3.0/24 的链路断开

  2. 标记毒性 :R3 立即将 192.168.3.0/24 标记为跳数 = 16(死亡路由)

  3. 触发更新:R3 向 R2 发送触发更新,告知这条路由不可达

  4. 毒性逆转传递

    • R2 收到后,将 192.168.3.0/24 标记为毒性路由

    • 暂时关闭水平分割,把这条毒性路由发回给 R3(同时也发给 R1)

    • R3 收到后确认故障已被感知,R1 也立即删除这条路由

  5. 全网收敛:所有路由器在数秒内都知道该路由失效,避免继续使用它

3. 作用

  1. 加速故障感知:比等待 30 秒周期更新快得多,拓扑变化后立即通告

  2. 防止 "坏消息走得慢":避免邻居在周期更新前继续使用失效路由,导致路由黑洞

  3. 强化防环:通过毒性路由明确告知 "该路由已死",比单纯不发送更可靠

4. 与水平分割的关系

  • 平时:水平分割开启,防止环路

  • 故障时:暂时关闭水平分割,发送毒性路由,让坏消息快速传遍全网

  • 二者是互补关系:水平分割防常态环路,毒性逆转加速故障收敛

二者对比
特性 水平分割 毒性逆转
触发时机 常态(一直生效) 故障时(拓扑变化 / 路由失效时)
核心规则 从此口入,不从此口出 失效路由标记为跳数 = 16,暂时关闭水平分割,发回给邻居
主要目的 防止常态环路 加速故障感知,防止路由黑洞,强化防环
带宽占用 低(减少冗余更新) 临时升高(故障时发送触发更新)
默认状态 默认开启 默认配合触发更新生效
总结
  • 水平分割:平时 "管住嘴",不从同一个接口把学来的路由发回去,防常态环路。

  • 毒性逆转:出事时 "大声喊",把失效路由标记成 16 跳,立刻告诉所有邻居,加速收敛、防黑洞。

  • 二者配合,让 RIP 在小型网络中既稳定又能快速应对拓扑变化。

基础配置命令
1. RIP v1 基础配置
复制代码
# 1. 启动 RIP 进程(进程号仅本地有效,默认值为 1,不同进程相互独立)
[R1]rip 1

# 2. 选择 RIP v1 版本
[R1-rip-1]version 1

# 3. 主类网段宣告(核心步骤:仅能宣告主类网段)
#    激活接口:使接口收发 RIP 相关信息
#    共享路由:将该接口的路由信息共享给邻居
[R1-rip-1]network 1.0.0.0
[R1-rip-1]network 12.0.0.0

# 4. 验证配置:查看由 RIP 协议学习到的路由条目
[R1]display ip routing-table protocol rip
2. RIP v2 基础配置
复制代码
# 1. 启动 RIP 进程
[R1]rip 1

# 2. 选择 RIP v2 版本
[R1-rip-1]version 2

# 3. 关闭自动汇总
#    若不关闭,RIP v2 会按主类长度掩码发送路由;关闭后将携带接口精确子网掩码
[R1-rip-1]undo summary

# 4. 主类网段宣告(仅能宣告主类网段)
[R1-rip-1]network 1.0.0.0
[R1-rip-1]network 12.0.0.0

# 5. 验证配置:查看 RIP 路由表
[R1]display ip routing-table protocol rip
RIP v2扩展配置

1. 手工汇总(减少路由条目)

  • 作用:在路由更新的源头设备上,将多个连续子网汇总为一个网段,减少路由条目数量,提升转发效率

  • 配置位置 :必须在路由更新出发的接口上配置(从哪儿出发,从哪儿汇总)

  • 命令示例

    复制代码
    # 进入路由更新出口接口
    [R1-GigabitEthernet0/0/0]rip summary-address 192.168.0.0 255.255.252.0
    # 说明:将 192.168.0.0/24 ~ 192.168.3.0/24 汇总为 192.168.0.0/22,掩码需完整展开

2. 手工认证(提升安全性)

  • 作用:在邻居直连接口上配置预共享密钥,验证邻居身份,同时加密传输的路由信息,防止非法路由更新注入

  • 配置位置 :必须在两台邻居路由器的直连接口上配置,且认证模式、密钥必须一致

  • 命令示例

    复制代码
    # 进入与邻居相连的接口
    [R2-GigabitEthernet0/0/1]rip authentication-mode md5 usual cipher 123456
    # 说明:md5 为认证算法,usual 为普通模式,cipher 123456 为加密存储的密钥

3. 被动接口(沉默接口)

  • 作用:仅接收 RIP 更新,不发送 RIP 更新报文,避免向 PC 端或无关设备发送路由信息

  • 使用限制 :仅可用于连接 PC 的接口,不可用于路由器之间的互联接口(否则会导致邻居关系断开,路由无法同步)

  • 命令示例

    复制代码
    [R3-rip-1]silent-interface GigabitEthernet 0/0/1
    # 或简写为:[R3-rip-1]silent-interface g 0/0/1

4. 加快收敛(修改计时器)

  • ****默认计时器:30s 更新 / 180s 失效 / 180s 抑制 / 300s 刷新(华为模拟器中抑制计时器暂不可修改)

  • 配置原则

    1. 计时器数值不宜过小,避免频繁更新占用带宽或导致路由震荡

    2. 尽量维持原有倍数关系(更新:失效:刷新 ≈ 1:6:10)

    3. 全网所有设备的计时器必须修改一致,否则会导致邻居关系不稳定

  • 命令示例

    复制代码
    [R1-rip-1]timers rip 30 180 300
    # 格式:timers rip 更新时间 失效时间 刷新时间

5. 缺省路由(边界路由器配置)

  • 作用:边界路由器(连接 ISP 的路由器)向内部 RIP 设备发送缺省路由(0.0.0.0/0),使内部设备自动生成指向边界路由器的缺省路由,简化外网访问配置

  • 前提 :边界路由器需手工配置指向 ISP 的静态缺省路由

  • 命令示例

    复制代码
    # 在边界路由器上配置,向内部 RIP 网络下发缺省路由
    [边界路由器-rip-1]default-route originate
RIP 核心验证命令
功能描述 命令
查看 RIP 协议学习到的路由条目 display ip routing-table protocol rip
查看 RIP 进程配置细节 display rip 1 configuration
查看 RIP 邻居关系 display rip 1 peer
查看 RIP 路由数据库 display rip 1 database
查看激活 RIP 的接口状态 display rip 1 interface
RIP 协议总结
  1. 本质:邻居间共享完整路由表,以跳数度量路径优劣,是 "听邻居说路" 的距离矢量协议

  2. 版本差异:v1 是有类别广播协议,v2 是无类别组播协议且支持认证与汇总,v2 更适合现代网络

  3. 破环核心:水平分割 + 最大跳数 + 触发更新 + 抑制计时器,四者协同保障无环路运行

  4. 配置关键:v2 必须关闭自动汇总,扩展配置需注意接口位置与全网一致性

  5. 适用场景:小型、拓扑稳定的网络,配置简单、资源占用低,但最大 15 跳限制使其无法用于大型网络

RIP V2 实验配置
地址规划(基于 192.168.1.0/24 子网划分)
设备 接口 IP 地址 说明
AR1 GE0/0/0 192.168.1.1/24 连接 AR2
AR1 LoopBack0 1.1.1.1/24 环回 1
AR1 LoopBack1 1.1.2.1/24 环回 2
AR2 GE0/0/0 192.168.1.2/24 连接 AR1
AR2 GE0/0/1 192.168.2.1/24 连接 AR3
AR2 LoopBack0 2.2.1.1/24 环回 1
AR2 LoopBack1 2.2.2.1/24 环回 2
AR3 GE0/0/0 192.168.2.2/24 连接 AR2
AR3 LoopBack0 3.3.3.3/24 题目要求的环回
需求拆解
  1. 全网运行 RIP V2,关闭自动汇总,携带精确掩码

  2. 不直接宣告 3.3.3.0/24 → 通过 引入静态路由 + 汇总 实现

  3. 全网可达,保障更新安全(配置 MD5 认证)

  4. 尽量减少路由条目(配置手工汇总)

逐设备配置

1. AR1 配置

复制代码
sysname AR1
# 接口 IP 配置
interface GigabitEthernet 0/0/0
 ip address 192.168.1.1 255.255.255.0
 undo shutdown
interface LoopBack 0
 ip address 1.1.1.1 255.255.255.0
interface LoopBack 1
 ip address 1.1.2.1 255.255.255.0

# RIP V2 基础配置
rip 1
 version 2
 undo summary
 network 192.168.1.0
 network 1.0.0.0

# 接口认证(与 AR2 直连)
interface GigabitEthernet 0/0/0
 rip authentication-mode md5 usual cipher 123456

# 汇总环回路由
interface GigabitEthernet 0/0/0
 rip summary-address 1.1.0.0 255.255.0.0

2. AR2 配置

复制代码
sysname AR2
# 接口 IP 配置(GE0/0/1 改用新子网 192.168.2.0/24)
interface GigabitEthernet 0/0/0
 ip address 192.168.1.2 255.255.255.0
 undo shutdown
interface GigabitEthernet 0/0/1
 ip address 192.168.2.1 255.255.255.0
 undo shutdown
interface LoopBack 0
 ip address 2.2.1.1 255.255.255.0
interface LoopBack 1
 ip address 2.2.2.1 255.255.255.0

# RIP V2 基础配置
rip 1
 version 2
 undo summary
 network 192.168.1.0
 network 192.168.2.0
 network 2.0.0.0

# 接口认证(两端接口都要配)
interface GigabitEthernet 0/0/0
 rip authentication-mode md5 usual cipher 123456
interface GigabitEthernet 0/0/1
 rip authentication-mode md5 usual cipher 123456

# 汇总环回路由
interface GigabitEthernet 0/0/0
 rip summary-address 2.2.0.0 255.255.0.0
interface GigabitEthernet 0/0/1
 rip summary-address 2.2.0.0 255.255.0.0

3. AR3 配置(关键:不直接宣告 3.3.3.0/24)

复制代码
sysname AR3
# 接口 IP 配置(GE0/0/0 与 AR2 GE0/0/1 同子网)
interface GigabitEthernet 0/0/0
 ip address 192.168.2.2 255.255.255.0
 undo shutdown
interface LoopBack 0
 ip address 3.3.3.3 255.255.255.0

# 静态路由(为引入 RIP 做准备)
ip route-static 3.3.3.0 255.255.255.0 NULL0

# RIP V2 基础配置
rip 1
 version 2
 undo summary
 network 192.168.2.0
 import-route static

# 接口认证(与 AR2 直连)
interface GigabitEthernet 0/0/0
 rip authentication-mode md5 usual cipher 123456

# 汇总 3.3.3.0/24
interface GigabitEthernet 0/0/0
 rip summary-address 3.3.0.0 255.255.0.0
验证步骤
  1. 检查接口 IP 无冲突

    复制代码
    display ip interface brief

    确认:

    • AR1 GE0/0/0:192.168.1.1/24

    • AR2 GE0/0/0:192.168.1.2/24,GE0/0/1:192.168.2.1/24

    • AR3 GE0/0/0:192.168.2.2/24

  2. 测试链路连通

    复制代码
    # AR2 ping AR1
    ping 192.168.1.1
    # AR2 ping AR3
    ping 192.168.2.2

    能通说明链路正常。

  3. 查看 RIP 路由表

    复制代码
    display ip routing-table protocol rip

    预期:

    • AR1 看到 2.2.0.0/163.3.0.0/16192.168.2.0/24

    • AR2 看到 1.1.0.0/163.3.0.0/16

    • AR3 看到 1.1.0.0/162.2.0.0/16192.168.1.0/24

  4. 全网可达测试

    复制代码
    # AR1 ping AR3 环回
    ping -a 1.1.1.1 3.3.3.3

    能通 即满足题目所有要求

关键配置
  1. 不直接宣告 3.3.3.0/24 :通过 import-route static 将静态路由引入 RIP,避免直接 network 3.0.0.0

  2. 安全保障:所有直连接口配置 MD5 认证,防止非法路由更新注入

  3. 减少路由条目 :在出口接口配置 rip summary-address,将多个环回汇总为一个大网段

  4. RIP V2 特性version 2 + undo summary 确保携带精确子网掩码,支持无类别路由

  5. 核心解决冲突 :将 AR2-AR3 链路独立为 192.168.2.0/24彻底避免 与 AR1-AR2 链路共享 192.168.1.0/24 导致的 IP 冲突。

结果
  • 无 IP 地址冲突报错
  • 全网 ping 互通
  • 3.3.3.0/24 未被直接宣告,通过静态路由引入 RIP
  • 路由条目已汇总,数量最少
  • 所有直连接口均配置 MD5 认证,保障更新安全

OSPF(开放式最短路径优先协议)

OSPF(Open Shortest Path First,开放式最短路径优先)是无类别链路状态 IGP 动态路由协议,核心设计围绕「拓扑信息共享 + SPF 算法计算最短路径」展开,适用于中大型结构化网络。

核心基础特性
  • 协议类型:链路状态 IGP 协议,与距离矢量协议(如 RIP)形成鲜明对比
  • 负载均衡 :支持等开销负载均衡,多条 Cost 相同的路径可同时生效
  • 更新机制
    • 组播更新:使用 224.0.0.5(所有 OSPF 路由器)、224.0.0.6(DR/BDR 专用)
    • 触发更新:拓扑变化时立即发送更新,无需等待周期
    • 周期更新:每 30 分钟进行一次 DBD 比对,确保 LSDB 一致性
  • 部署要求:需结构化部署(区域划分 + 地址规划)
  • 度量值 :以 Cost 值 为路由开销
    • 计算公式:Cost = 参考带宽 / 接口带宽
    • 默认参考带宽:100 Mbps
    • 若接口带宽 > 参考带宽,Cost 默认为 1,可能导致选路不佳,需手动修改参考带宽(全网必须一致)

距离矢量 vs 链路状态协议对比

维度 距离矢量协议(如 RIP) 链路状态协议(OSPF)
共享内容 完整路由表(目标 + 下一跳 + 跳数) 链路状态通告(LSA),描述拓扑信息
拓扑认知 仅知晓「方向 + 距离」,不清楚全网拓扑 掌握全网拓扑(通过 LSDB 数据库)
算法 贝尔曼 - 福特算法 SPF(最短路径优先)算法
环路风险 存在,需依赖破环机制 无环路(基于全网拓扑计算)
收敛速度 慢(依赖周期更新) 快(触发更新 + 增量同步)
核心概念
1. 自治系统(AS)与区域划分
  • AS:独立管理的网络区域,OSPF 仅在 AS 内部运行

  • 区域划分规则

  1. 星型结构:骨干区域为 Area 0,所有非骨干区域(Area ID > 0)必须直接连接骨干区域

  2. ABR(区域边界路由器):同时工作在两个及以上区域,负责区域间路由传递与汇总

  • Router-ID(路由器标识符)

    • 作用:在 OSPF 域中唯一标识一台路由器

    • 配置方式:

      • 手工配置(推荐):ospf 1 router-id x.x.x.x,建议使用环回接口 IP

      • 自动配置:优先选择环回接口最大 IP ,无环回则选择物理接口最大 IP

    • 要求:全网必须唯一

2. OSPF 数据包类型(5 种)
数据包类型 中文名称 核心作用
Hello 包 Hello 报文 邻居发现、建立邻居关系、周期保活
DBD 包 数据库描述包 携带本地 LSDB 目录(LSA 摘要信息)
LSR 包 链路状态请求包 查看对端 DBD 后,请求本地缺失的 LSA 完整信息
LSU 包 链路状态更新包 携带各类 LSA 信息,响应 LSR 或通告拓扑变化
LSACK 包 链路状态确认包 确认收到 LSU 包,保障传输可靠性
3. OSPF 状态机(7 种,分两个阶段)
邻居关系建立阶段
  • Down:初始状态,未发送 / 接收 Hello 包
  • Init:初始化状态,收到邻居 Hello 包,但包中未包含自身 Router-ID
  • 2-Way:双向通信建立,邻居关系形成(收到的 Hello 包包含自身 Router-ID)
邻接关系建立阶段

  • Exstart(预启动) :使用空 DBD 包进行主从选举,Router-ID 大者为主,主导后续 LSDB 同步
  • Exchange(准交换):携带具体 LSDB 目录的 DBD 包交换,需 ACK 确认
  • Loading(加载):通过 LSR/LSU/LSACK 同步本地缺失的 LSA 信息
  • Full(转发):邻接关系建立标志,LSDB 完全同步,可计算路由
OSPF 工作过程
1. 初始化与邻居建立
  • 启动 OSPF 配置后,本地向组播地址 224.0.0.5 发送 Hello 包,携带本地 Router-ID 及已知邻居 Router-ID

  • 若收到的 Hello 包中包含自身 Router-ID,视为双向通信建立,生成邻居表,状态为 2-Way

2. 邻接关系建立
  • 邻居关系建立后进行条件匹配

    • 点到点网络:所有邻居直接建立邻接关系

    • MA 网络:需选举 DR/BDR,非 DR/BDR 设备维持 2-Way 邻居关系

  • 匹配成功后进入 Exstart 阶段,通过空 DBD 包选举主从设备(Router-ID 大者为主)

  • Exchange 阶段交换 DBD 包,同步 LSDB 目录

  • Loading 阶段通过 LSR/LSU/LSACK 同步缺失的 LSA,生成统一 LSDB

3. 路由计算与收敛
  • 基于 LSDB 运行 SPF 算法,生成全网有向图 → 最短路径树 → 最优路由条目,加载到本地路由表

  • 收敛完成后:

    • Hello 包周期保活(默认 Hello 时间 10s,Dead 时间 40s)

    • 每 30 分钟邻接设备间比对 DBD,不一致则重新收敛

4. 拓扑突变处理
  1. 新增 / 断开网段:直连设备立即发送 LSU 包告知邻接设备,需 LSACK 确认

  2. 无法沟通:Dead 时间(40s)内未收到 Hello 包,删除对应邻居信息

OSPF 基础配置命令
1. 核心配置
复制代码
# 1. 启动 OSPF 进程并配置 Router-ID
[R1]ospf 1 router-id 1.1.1.1

# 2. 进入区域(必须先创建 Area 0 骨干区域)
[R1-ospf-1]area 0

# 3. 宣告网段(反掩码格式:network 网段 反掩码)
# 反掩码 = 255.255.255.255 - 子网掩码
[R1-ospf-1-area-0.0.0.0]network 1.1.1.1 0.0.0.0   # 宣告环回接口
[R1-ospf-1-area-0.0.0.0]network 12.1.1.0 0.0.0.255 # 宣告物理接口网段

宣告作用

  1. 激活接口,收发 OSPF 信息

  2. 传递接口路由 / 拓扑信息给邻居

  3. 划分接口所属区域

2. 验证命令
复制代码
# 查看详细邻居关系
[R1]display ospf peer

# 查看 LSDB 目录
[R1]display ospf lsdb

# 查看指定 Router-ID 的 LSA 详细信息
[R1]display ospf lsdb router 2.2.2.2

# 查看 OSPF 生成的路由表
[R2]display ip routing-table protocol ospf
3. 修改参考带宽(适配高速接口)
复制代码
# 修改参考带宽为 1000 Mbps(千兆),全网设备必须一致
[R2-ospf-1]bandwidth-reference 1000
OSPF 扩展配置
1. DR/BDR 选举(MA 网络专属)
  • 选举目的:减少 MA 网络邻接关系数量,避免大量重复更新

  • 选举规则

    1. 先比较参选接口优先级(默认 1,范围 0-255,数值越大越优先;0 表示放弃参选)

    2. 优先级相同则比较设备 Router-ID,数值大者优先

  • 选举特性:非抢占性,需重启网段内所有参选设备 OSPF 进程才能重新选举

  • 配置命令

    修改接口优先级为 3

    [R1-GigabitEthernet0/0/0]ospf dr-priority 3

    重启 OSPF 进程(使选举生效)

    <R1>reset ospf process

2. 手工认证(保障路由安全)
  • 作用:邻居直连接口间通过密钥验证身份,防止非法路由注入

  • 配置命令(MD5 模式)

    进入邻居直连接口

    [R1-GigabitEthernet0/0/0]ospf authentication-mode md5 1 cipher 123456

    说明:1 为密钥 ID,cipher 123456 为加密存储的密钥(邻居两端必须完全一致)

3. 区域汇总(减少路由条目)
  • 作用:在 ABR 上将某区域的多条路由汇总为一条大网段,简化路由表

  • 配置命令

    在 ABR 的目标区域视图下配置

    [R2-ospf-1-area-0.0.0.0]abr-summary 1.0.0.0 255.0.0.0

4. 被动接口(沉默接口)
  • 作用:仅接收不发送 OSPF 信息,适用于连接 PC 的接口,避免不必要的协议交互

  • 配置命令

    [R1-ospf-1]silent-interface GigabitEthernet 0/0/1

    或简写:[R1-ospf-1]silent-interface g 0/0/1

5. 加快收敛(修改计时器)
  • 默认计时器:Hello 时间 10s,Dead 时间 40s(Dead 时间 = 4 × Hello 时间)

  • 注意:邻居间直连接口计时器必须一致,否则无法建立邻居关系;不建议修改过小

  • 配置命令

    修改 Hello 时间为 10s

    [R1-GigabitEthernet0/0/0]ospf timer hello 10

    修改 Dead 时间为 40s

    [R1-GigabitEthernet0/0/0]ospf timer dead 40

6. 缺省路由(边界路由器配置)
  • 作用:边界路由器向内网发送缺省路由,使内部 OSPF 设备自动生成指向边界路由器的缺省路由

  • 前提:边界路由器需手工配置指向 ISP 的静态缺省路由

  • 配置命令

    强制向 OSPF 域内下发缺省路由

    [R3-ospf-1]default-route-advertise always

OSPF 邻接关系建立流程
阶段 1:邻居关系建立(Down → Init → 2-Way)
  • Down → Init:发送 Hello 包,发现邻居

  • Init → 2-Way:收到包含自身 RID 的 Hello 包,双向通信建立,邻居关系形成

阶段 2:邻接关系建立(Exstart → Exchange → Loading → Full)
  • Exstart:空 DBD 包选举主从设备(RID 大者为主)

  • Exchange:交换 DBD 包,同步 LSDB 目录

  • Loading:同步缺失 LSA,生成统一 LSDB

  • Full:邻接关系建立,路由收敛完成

OSPF 协议总结

OSPF 协议的核心逻辑可概括为:

  1. 先建邻居:通过 Hello 包发现邻居,建立双向通信
  2. 再同步拓扑:通过 DBD/LSR/LSU/LSACK 同步全网拓扑信息,生成 LSDB
  3. 后算路由:基于 SPF 算法计算最短路径,生成路由表
  4. 稳定保活:周期 Hello 保活 + 30 分钟 DBD 比对,保障网络稳定

其本质是「自己看地图找路 」,相比距离矢量协议,收敛更快、无环路、扩展性更强,是中大型网络的首选 IGP 协议

OSPF 多区域实验配置
地址规划(基于 192.168.1.0/24 子网划分)
设备 接口 IP 地址 区域 说明
R1 GE0/0/0 192.168.1.1/24 Area 0 连接交换机
R1 LoopBack0 1.1.1.1/24 Area 0 环回
R2 GE0/0/0 192.168.1.2/24 Area 0 连接交换机
R2 LoopBack0 2.2.2.2/24 Area 0 环回
R3 GE0/0/0 192.168.1.3/24 Area 0 连接交换机
R3 GE0/0/1 192.168.1.4/24 Area 1 连接 R4
R3 LoopBack0 3.3.3.3/24 Area 0 环回
R4 GE0/0/0 192.168.1.5/24 Area 1 连接 R3
R4 LoopBack0 4.4.4.4/24 - 不直接宣告
核心需求
  1. 区域划分:R1-R2-R3 为 Area 0(骨干区域),R3-R4 为 Area 1;R3 环回属于 Area 0

  2. DR 选举:R1-R3 网段中 R3 为 DR,无 BDR(通过优先级控制)

  3. 路由控制:R4 环回 4.4.4.0/24 不直接宣告,通过引入静态路由实现

  4. 安全与优化:配置 MD5 认证保障更新安全,配置区域汇总减少路由条目,避免环路

逐设备配置

1. R1 配置

复制代码
sysname R1
interface GigabitEthernet 0/0/0
 ip address 192.168.1.1 255.255.255.0
 undo shutdown
interface LoopBack 0
 ip address 1.1.1.1 255.255.255.0

ospf 1 router-id 1.1.1.1
 area 0
  network 192.168.1.1 0.0.0.0
  network 1.1.1.1 0.0.0.0

interface GigabitEthernet 0/0/0
 ospf authentication-mode md5 1 cipher 123456
 ospf dr-priority 0

2. R2 配置

复制代码
sysname R2
interface GigabitEthernet 0/0/0
 ip address 192.168.1.2 255.255.255.0
 undo shutdown
interface LoopBack 0
 ip address 2.2.2.2 255.255.255.0

ospf 1 router-id 2.2.2.2
 area 0
  network 192.168.1.2 0.0.0.0
  network 2.2.2.2 0.0.0.0

interface GigabitEthernet 0/0/0
 ospf authentication-mode md5 1 cipher 123456
 ospf dr-priority 0

3. R3 配置(ABR 区域边界路由器,核心设备)

复制代码
sysname R3
interface GigabitEthernet 0/0/0
 ip address 192.168.1.3 255.255.255.0
 undo shutdown
interface GigabitEthernet 0/0/1
 ip address 192.168.1.4 255.255.255.0
 undo shutdown
interface LoopBack 0
 ip address 3.3.3.3 255.255.255.0

ospf 1 router-id 3.3.3.3
 area 0
  network 192.168.1.3 0.0.0.0
  network 3.3.3.3 0.0.0.0
 area 1
  network 192.168.1.4 0.0.0.0

interface GigabitEthernet 0/0/0
 ospf authentication-mode md5 1 cipher 123456
 ospf dr-priority 255
interface GigabitEthernet 0/0/1
 ospf authentication-mode md5 1 cipher 123456
 ospf dr-priority 255

ospf 1
 area 0
  abr-summary 1.1.0.0 255.255.0.0
  abr-summary 2.2.0.0 255.255.0.0
  abr-summary 3.3.0.0 255.255.0.0
 area 1
  abr-summary 4.4.0.0 255.255.0.0

4. R4 配置(关键:不直接宣告 4.4.4.0/24)

复制代码
sysname R4
interface GigabitEthernet 0/0/0
 ip address 192.168.1.5 255.255.255.0
 undo shutdown
interface LoopBack 0
 ip address 4.4.4.4 255.255.255.0

ip route-static 4.4.4.0 255.255.255.0 NULL0

ospf 1 router-id 4.4.4.4
 area 1
  network 192.168.1.5 0.0.0.0
 import-route static

interface GigabitEthernet 0/0/0
 ospf authentication-mode md5 1 cipher 123456
验证步骤
复制代码
# 查看邻居
display ospf peer brief

# 查看数据库
display ospf lsdb

# 查看路由
display ip routing-table protocol ospf

# 查看DR
display ospf interface GigabitEthernet 0/0/0

# 全网测试
ping -a 1.1.1.1 4.4.4.4
关键配置
  1. DR 选举控制:R1/R2 接口优先级设为 0,R3 设为 255,确保 R3 成为 DR,无 BDR

  2. 不直接宣告 4.4.4.0/24 :通过 import-route static 将静态路由引入 OSPF,避免直接宣告

  3. 安全保障:所有直连接口配置 MD5 认证,防止非法路由更新注入

  4. 减少路由条目 :在 ABR 上配置 abr-summary 进行区域汇总,在 R4 上配置 ospf summary-address 汇总环回路由

  5. 避免环路:OSPF 链路状态协议天然无环路,配合区域划分与汇总进一步优化

结果
  • R3 能看到 R1、R2、R4 邻居
  • R4 能看到 R3 邻居
  • R1 能看到 4.4.4.4 路由
  • ping -a 1.1.1.1 4.4.4.4 出现 !!!!!

二、局域网技术(VLAN+Trunk+VLAN 间路由)

1. 核心概念与作用

  • 本质 :交换机与路由器协同工作后,将单个物理广播域 在逻辑层面切分为多个虚拟广播域

  • 核心价值

    • 隔离广播风暴,避免单一广播域过大导致网络拥塞

    • 提升网络安全性(不同 VLAN 间默认二层隔离)

    • 灵活组网,提高带宽利用率

2. 基础属性

  • VID(VLAN ID):用于唯一标识和区分不同 VLAN 的编号

    • 12 位二进制 构成,理论范围:0 ~ 4095

    • 可用范围:1 ~ 409404095 为协议保留值,不可配置)

  • 帧类型

    • Untagged 帧:不带 VLAN 标签的标准以太网帧,用于接入终端(PC)

    • Tagged 帧:携带 802.1Q VLAN 标签的以太网帧,用于交换机之间的 Trunk 链路

  • 链路类型

    • Access 链路 :交换机 ↔ PC,仅允许 一个 VLAN 的 Untagged 帧通过

    • Trunk 链路(干道):交换机 ↔ 交换机,允许多个 VLAN 的 Tagged 帧通过

3. IEEE 802.1Q 帧格式

在传统以太网帧基础上,插入 4 字节的 802.1Q Tag 字段:

字段 长度 含义
TPID 2 字节 Tag Protocol Identifier,固定值 0x8100,标识这是 802.1Q 帧
PRI 3 位 Priority,帧优先级(0~7),用于 QoS 服务质量
CFI 1 位 Canonical Format Indicator,标识 MAC 地址格式,以太网中恒为 0
VID 12 位 VLAN ID,标识该帧所属的 VLAN(1~4094)

4. 核心配置命令

步骤 1:创建 VLAN
复制代码
// 单个创建 VLAN
[SW1]vlan 2                // 创建 VLAN 2
// 批量创建 VLAN(高效)
[SW1]vlan batch 4 to 100  // 批量创建 VLAN 4 到 VLAN 100
步骤 2:配置 Access 接口(连接 PC)
复制代码
[SW1]interface GigabitEthernet 0/0/1
[SW1-GigabitEthernet0/0/1]port link-type access    // 将链路类型设为 Access
[SW1-GigabitEthernet0/0/1]port default vlan 2      // 将接口划入 VLAN 2
步骤 3:配置 Trunk 接口(连接交换机)
复制代码
[SW1]interface GigabitEthernet 0/0/5
[SW1-GigabitEthernet0/0/5]port link-type trunk               // 将链路类型设为 Trunk
[SW1-GigabitEthernet0/0/5]port trunk allow-pass vlan 2 to 3 // 允许 VLAN 2~3 通过
[SW1-GigabitEthernet0/0/5]port trunk allow-pass vlan all    // 允许所有 VLAN 通过(常用)
步骤 4:查看与验证
复制代码
[SW1]display vlan              // 查看 VLAN 列表及接口归属
[SW1]display mac-address        // 查看包含 VID 信息的 MAC 地址表
[SW1]display interface GigabitEthernet 0/0/5  // 查看 Trunk 接口详细信息

5. 交换机 VLAN 转发原理

  1. 学习阶段 :数据帧从接口进入交换机时,交换机记录 源 MAC 地址 + 接口 + 对应 VID 的映射关系,存入 MAC 地址表。

  2. 转发阶段

    • 若目标 MAC 地址在表中存在,且目标 MAC 对应的 VID 与源 MAC 对应的 VID 相同,则执行单播转发。

    • 若目标 MAC 地址不存在,则在相同 VID 的广播域内泛洪(不同 VLAN 间不会泛洪,实现隔离)。

6.VLAN 划分方式(3 种核心类型)

划分方式 原理 层级 特点
基于端口的 VLAN 将 VID 直接映射到交换机物理接口 一层(物理层) 配置简单、稳定,最常用;终端移动后需重新配置
基于 MAC 地址的 VLAN 将 VID 与终端 MAC 地址绑定 二层(数据链路层) 终端移动后仍属于原 VLAN,灵活;需提前配置 MAC-VLAN 映射表
基于协议的 VLAN 根据数据帧「类型 / 协议」字段(如 IPv4/IPv6/IPX)映射 VID 三层(网络层) 按上层协议划分 VLAN,适用于特定协议隔离场景

7.VLAN 间路由(三层互通)

核心需求

VLAN 本质是二层隔离技术,不同 VLAN 之间无法直接通信 ,需要通过三层路由实现跨 VLAN 互通。

三种实现方式对比
实现方式 配置要点 优势 劣势 适用场景
路由器物理接口 每个 VLAN 对应一个路由器物理接口,配置该 VLAN 的网关 IP 配置简单、直观 接口利用率极低,VLAN 数量受限于物理接口数 小型网络(VLAN 数量 ≤ 物理接口数)
单臂路由(子接口) 路由器一个物理接口逻辑划分为多个子接口,每个子接口绑定一个 VLAN,配置网关 IP 并开启 ARP 广播 节省物理接口,成本低 所有 VLAN 共享一个物理接口带宽,存在瓶颈 中小型网络
三层交换机 VLANIF 三层交换机创建 VLANIF 逻辑接口,为每个 VLAN 配置网关 IP,硬件转发 转发效率高(硬件线速)、无带宽瓶颈 需三层交换机设备,成本略高 中大型网络(首选方案)
核心配置命令
单臂路由(路由器子接口)
复制代码
[R1]interface GigabitEthernet 0/0/0.1  // 创建子接口 0/0/0.1(逻辑虚拟接口)
[R1-GigabitEthernet0/0/0.1]dot1q termination vid 2  // 绑定 VLAN 2,终结 802.1Q 标签
[R1-GigabitEthernet0/0/0.1]ip address 192.168.1.254 255.255.255.0  // 配置 VLAN 2 网关 IP
[R1-GigabitEthernet0/0/0.1]arp broadcast enable  // 开启 ARP 广播(关键,否则无法跨 VLAN 通信)
三层交换机 VLANIF
复制代码
[L3-SW]vlan 2                        // 先创建对应 VLAN
[L3-SW]interface Vlanif 2             // 创建 VLANIF 2 三层逻辑接口
[L3-SW-Vlanif2]ip address 192.168.1.254 255.255.255.0  // 配置 VLAN 2 网关 IP

8.VLAN 技术

  1. 创建 VLAN:在交换机上定义 VLAN ID(1~4094)

  2. 接口划分

    • PC 连接的接口设为 Access 类型,划入对应 VLAN

    • 交换机之间的接口设为 Trunk 类型,允许多个 VLAN 通过

  3. VLAN 隔离:交换机根据 VID 隔离广播域,不同 VLAN 间二层无法通信

  4. 跨 VLAN 路由:通过路由器子接口或三层交换机 VLANIF 实现三层互通


9.关键点

  • Trunk 链路默认:华为交换机 Trunk 接口默认允许 VLAN 1 通过,其他 VLAN 需手动配置

  • 802.1Q 标签:仅在 Trunk 链路中传递,Access 链路会剥离标签后转发给终端

  • 网关配置:跨 VLAN 通信时,终端网关必须指向对应 VLAN 的路由接口(子接口 / VLANIF)

  • VLAN 范围:不可配置 VID 0 或 4095,否则会导致配置失效

三、访问控制与地址转换(ACL+实验+NAT)

ACL(访问控制列表)

1. 核心作用
  1. 访问控制:在路由器接口的入 / 出方向上,匹配流量并执行「允许 / 拒绝」动作,实现网络访问权限管控。

  2. 定义感兴趣流量:为 NAT、策略路由、VPN 等其他网络策略抓取需要处理的流量。

2. 匹配规则
  • 顺序匹配:自上而下逐条匹配,一旦命中某条规则,立即执行对应动作,不再匹配后续规则。

  • 默认规则差异

    • 华为体系:末尾隐含允许所有流量(未匹配到任何规则时放行)。

    • 思科体系:末尾隐含拒绝所有流量(未匹配到任何规则时拦截)。

  • 通配符规则 :与 OSPF 反掩码逻辑一致,0 表示必须精确匹配1 表示任意匹配,且支持 0/1 穿插(反掩码要求 0/1 连续,通配符无此限制)。

3. 两类 ACL 核心对比
ACL 类型 编号范围 匹配字段 调用建议 适用场景
标准 ACL 2000-2999 仅匹配源 IP 地址 尽量靠近目标设备,避免误拦截其他流量 简单的源 IP 过滤(如禁止某主机访问某网段)
扩展 ACL 3000-3999 匹配源 / 目标 IP、协议号、目标端口号 尽量靠近源设备,精确匹配避免误杀 复杂流量精细化控制(如禁止 Telnet、Ping 等特定服务)
4. 掩码 / 反掩码 / 通配符对比
名称 规则 作用 举例 备注
掩码 连续的 1 和 0 划分 IP 地址的网络位 / 主机位 255.255.255.0 1 对应网络位,0 对应主机位
反掩码 连续的 0 和 1 OSPF 路由协议中匹配网段 0.0.0.255 0 必须匹配,1 无须匹配
通配符 任意的 0 和 1 ACL 中匹配 IP 地址 / 网段 0.0.255.0 0 必须匹配,1 无须匹配,支持 0/1 穿插
5. 核心配置命令
(1)标准 ACL 配置
复制代码
[R2]acl 2000                          // 创建标准 ACL 2000
[R2-acl-basic-2000]rule deny source 192.168.1.2 0.0.0.0  // 精确拒绝源 IP 192.168.1.2
[R2-acl-basic-2000]rule permit source 192.168.1.0 0.0.0.255  // 允许 192.168.1.0/24 网段
[R2-acl-basic-2000]rule permit source any               // 允许所有其他源 IP

// 接口调用(出方向,靠近目标)
[R2-GigabitEthernet0/0/1]traffic-filter outbound acl 2000

// 高级操作
[R2]acl name classroom-A 2000         // 为 ACL 命名,便于管理
[R2]display acl 2000                  // 查看 ACL 配置及规则序列号
[R2-acl-basic-2000]rule 7 deny source 192.168.1.1 0.0.0.0  // 自定义规则序列号(步长默认 5)
(2)扩展 ACL 配置
复制代码
[R1]acl 3000                          // 创建扩展 ACL 3000
// 拒绝指定源 IP 对目标 IP 的 Ping(ICMP 协议)
[R1-acl-adv-3000]rule deny icmp source 192.168.1.10 0.0.0.0 destination 192.168.2.2 0.0.0.0
// 拒绝指定源 IP Telnet 目标设备(TCP 23 端口)
[R1-acl-adv-3000]rule deny tcp source 192.168.1.10 0.0.0.0 destination 192.168.1.1 0.0.0.0 destination-port eq 23
// 允许所有其他 IP 流量
[R1-acl-adv-3000]rule permit ip source any destination any

// 接口调用(入方向,靠近源)
[R1-GigabitEthernet0/0/0]traffic-filter inbound acl 3000

// Telnet 前置配置(AAA 服务)
[R1]aaa                                  // 开启 AAA 服务
[R1-aaa]local-user MXY privilege level 15 password cipher 123456  // 创建管理员账号
[R1-aaa]local-user MXY service-type telnet  // 限定账号用于 Telnet 登录
[R1]user-interface vty 0 4               // 开放 5 个虚拟终端
[R1-ui-vty0-4]authentication-mode aaa    // 启用 AAA 认证
(3)标准ACL和扩展ACL的区别是什么?
核心维度对比
对比项 标准 ACL 扩展 ACL
编号范围 2000 - 2999 3000 - 3999
核心匹配字段 仅匹配源 IP 地址(唯一维度) 多维度匹配:源 IP、目标 IP、协议号(TCP/UDP/ICMP)、端口号等
规则精细度 粗糙,仅能按源 IP 过滤 精准,可实现 "源 IP + 目标 IP + 特定服务" 的精准过滤
调用位置建议 尽量靠近目标设备 尽量靠近源设备
误拦风险 高(过滤源 IP 时易误拦该 IP 对其他目标的合法访问) 低(多维度匹配,仅过滤指定流量,不影响其他合法访问)
核心配置关键字 仅需指定source(源 IP) 需指定source+destination+ 协议 / 端口(如tcp/icmp/destination-port
适用场景 简单的源 IP 级过滤(如禁止某台主机访问所有外网、禁止某个网段接入网络) 复杂的精细化流量控制(如禁止某主机 Ping 特定设备、禁止 Telnet 远程登录、限制某 IP 访问某服务器的 80 端口)
关键差异

1.匹配维度:单维度 /多维度(最核心区别)

  • 标准 ACL :只关注数据包的源 IP 地址 ,无法区分目标 IP 和网络服务,比如配置 "拒绝 192.168.1.10",则该 IP 对所有目标所有访问都会被拒绝。

  • 扩展 ACL:可同时匹配源 IP、目标 IP、上层协议和端口,比如配置 "拒绝 192.168.1.10 Ping 10.0.0.1",仅拦截该 IP 对 10.0.0.1 的 Ping 请求,不影响该 IP 访问 10.0.0.1 的其他服务(如 Telnet),也不影响该 IP 访问其他设备。

  1. 调用位置:靠近目标 / 靠近源(由匹配维度决定)
  • 标准 ACL :因仅过滤源 IP,若靠近源设备调用,会直接拦截该源 IP 的所有外出流量,造成误拦,因此必须靠近目标(只在目标设备的出接口拦截,仅限制该源 IP 对目标的访问)。

  • 扩展 ACL :因匹配精准,靠近源设备调用可在流量发出时就完成过滤,避免无用流量占用网络带宽,是更优的网络资源利用方式。

3.配置复杂度:简单 / 稍复杂

  • 标准 ACL:配置仅需指定源 IP 和动作(允许 / 拒绝),命令简洁:

    复制代码
    [R1-acl-basic-2000]rule deny source 192.168.1.10 0.0.0.0
  • 扩展 ACL:需根据需求指定多维度条件,命令稍复杂,但灵活性高:

    复制代码
    # 拒绝192.168.1.10 Telnet 10.0.0.1(TCP 23端口)
    [R1-acl-adv-3000]rule deny tcp source 192.168.1.10 0.0.0.0 destination 10.0.0.1 0.0.0.0 destination-port eq 23
核心区别

标准 ACL 是 "按人拦" ,只看流量来自哪个 IP(源),不管去哪、做什么
扩展 ACL 是 "按事拦",既看流量来自哪个 IP(源),也看去哪(目标)、做什么(协议 / 端口),是更精准的访问控制方式

使用选型建议
  1. 若仅需简单限制某个 / 某段 IP 的所有访问 ,用标准 ACL(配置快、易维护);
  2. 若需限制特定 IP 对特定目标 / 特定服务的访问 ,必须用扩展 ACL(精准、无多余误拦);
  3. 企业网络中,扩展 ACL 的使用场景远多于标准 ACL,是实现精细化网络管控的核心手段。
6. 重要注意事项
  • 路由器单个接口的单个方向 ,仅能调用一张 ACL 表

  • 扩展 ACL 配置 Telnet 过滤前,必须先完成设备 Telnet 登录的 AAA 配置。

  • 规则序列号默认步长为 5,可自定义序列号插入中间规则,无需删除原有配置。

7.精细化 ACL 访问控制实验配置
实验需求
  • PC1(192.168.2.10/24)

    1. 可以 Telnet 登录 AR1(192.168.2.1)

    2. 禁止 Ping AR1

    3. 可以 Ping AR2(192.168.1.2)

    4. 禁止 Telnet 登录 AR2

PC2(192.168.2.20/24)

  • 与 PC1 完全相反:
    1. 禁止 Ping AR2,可以 Telnet 登录 AR2
    2. 禁止 Telnet 登录 AR1,可以 Ping AR1
基础 IP 规划
设备 接口 IP 地址 备注
AR1 GE0/0/0 192.168.1.1/24 连接 AR2
AR1 GE0/0/1 192.168.2.1/24 连接交换机
AR2 GE0/0/0 192.168.1.2/24 连接 AR1
PC1 GE0/0/0 192.168.2.10/24 网关:192.168.2.1
PC2 GE0/0/0 192.168.2.20/24 网关:192.168.2.1
基础配置(先保证全网可达)
1. AR1 基础配置
复制代码
sysname AR1
interface GigabitEthernet 0/0/0
 ip address 192.168.1.1 255.255.255.0
 undo shutdown
interface GigabitEthernet 0/0/1
 ip address 192.168.2.1 255.255.255.0
 undo shutdown
2. AR2 基础配置
复制代码
sysname AR2
interface GigabitEthernet 0/0/0
 ip address 192.168.1.2 255.255.255.0
 undo shutdown
ip route-static 192.168.2.0 255.255.255.0 192.168.1.1  // 回指路由到 PC 网段
3. PC1/PC2 配置
  • PC1:IP 192.168.2.10/24,网关 192.168.2.1

  • PC2:IP 192.168.2.20/24,网关 192.168.2.1

    sysname LSW1
    interface Ethernet 0/0/1
    undo port hybrid vlan 1
    port hybrid tagged vlan 1
    interface Ethernet 0/0/2
    undo port hybrid vlan 1
    port hybrid tagged vlan 1
    interface Ethernet 0/0/3
    undo port hybrid vlan 1
    port hybrid tagged vlan 1

Telnet 登录前置配置(AR1/AR2)
复制代码
# AR1 配置 Telnet
sysname AR1
aaa
 local-user admin privilege level 15 password cipher Admin@123
 local-user admin service-type telnet
user-interface vty 0 4
 authentication-mode aaa

# AR2 配置 Telnet
sysname AR2
aaa
 local-user admin privilege level 15 password cipher Admin@123
 local-user admin service-type telnet
user-interface vty 0 4
 authentication-mode aaa
核心 ACL 配置(精细化控制)
1. 在 AR1 上配置 ACL(控制 PC1/PC2 对 AR1 的访问)
复制代码
sysname AR1
# 扩展 ACL 3001:控制 PC1 对 AR1 的访问
acl 3001
 rule deny icmp source 192.168.2.10 0.0.0.0 destination 192.168.2.1 0.0.0.0  // 禁止 PC1 Ping AR1
 rule permit tcp source 192.168.2.10 0.0.0.0 destination 192.168.2.1 0.0.0.0 destination-port eq 23  // 允许 PC1 Telnet AR1
 rule permit ip source any destination any  // 允许其他流量

# 扩展 ACL 3002:控制 PC2 对 AR1 的访问
acl 3002
 rule deny tcp source 192.168.2.20 0.0.0.0 destination 192.168.2.1 0.0.0.0 destination-port eq 23  // 禁止 PC2 Telnet AR1
 rule permit icmp source 192.168.2.20 0.0.0.0 destination 192.168.2.1 0.0.0.0  // 允许 PC2 Ping AR1
 rule permit ip source any destination any  // 允许其他流量

# 在连接 PC 的入接口 GE0/0/1 调用 ACL
interface GigabitEthernet 0/0/1
 traffic-filter inbound acl 3001
 traffic-filter inbound acl 3002
2. 在 AR2 上配置 ACL(控制 PC1/PC2 对 AR2 的访问)
复制代码
sysname AR2
# 扩展 ACL 3003:控制 PC1 对 AR2 的访问
acl 3003
 rule deny tcp source 192.168.2.10 0.0.0.0 destination 192.168.1.2 0.0.0.0 destination-port eq 23  // 禁止 PC1 Telnet AR2
 rule permit icmp source 192.168.2.10 0.0.0.0 destination 192.168.1.2 0.0.0.0  // 允许 PC1 Ping AR2
 rule permit ip source any destination any  // 允许其他流量

# 扩展 ACL 3004:控制 PC2 对 AR2 的访问
acl 3004
 rule deny icmp source 192.168.2.20 0.0.0.0 destination 192.168.1.2 0.0.0.0  // 禁止 PC2 Ping AR2
 rule permit tcp source 192.168.2.20 0.0.0.0 destination 192.168.1.2 0.0.0.0 destination-port eq 23  // 允许 PC2 Telnet AR2
 rule permit ip source any destination any  // 允许其他流量

# 在连接 AR1 的入接口 GE0/0/0 调用 ACL
interface GigabitEthernet 0/0/0
 traffic-filter inbound acl 3003
 traffic-filter inbound acl 3004
验证步骤
  1. PC1 验证

    • telnet 192.168.2.1 → 可以登录(输入账号密码)

    • ping 192.168.2.1 → 请求超时(被拒绝)

    • ping 192.168.1.2 → 通

    • telnet 192.168.1.2 → 连接失败(被拒绝)

  2. PC2 验证

    • telnet 192.168.2.1 → 连接失败(被拒绝)

    • ping 192.168.2.1 → 通

    • ping 192.168.1.2 → 请求超时(被拒绝)

    • telnet 192.168.1.2 → 可以登录

NAT(网络地址转换)

1. 核心作用

在网络边界路由器上,实现私有 IP公有 IP 之间的地址转换,解决私有 IP 无法直接接入互联网的问题,同时隐藏内网拓扑。

2. 基础概念
  • 私有 IP:本地唯一,免费使用,无法在互联网中直接通信,有固定网段范围:

    • A 类:10.0.0.0 - 10.255.255.255

    • B 类:172.16.0.0 - 172.31.255.255

    • C 类:192.168.0.0 - 192.168.255.255

  • 公有 IP:全球唯一,付费使用,可在互联网中直接通信。

3. NAT 四大类型及核心配置
NAT 类型 核心特点 适用场景 核心配置命令
静态 NAT 私网 IP 与公有 IP 一对一永久映射,支持外网主动访问内网 内网服务器(Web / 数据库)对外发布 plaintext [R2-GigabitEthernet0/0/1]nat static global 12.1.1.3 inside 192.168.1.2 [R2]display nat static
动态 NAT 私网 IP 与公有 IP 多对多动态映射,同一时间仍为一对一,需配置地址池 内网少量主机访问外网,需固定公网 IP 段 plaintext [R2]nat address-group 1 12.1.1.4 12.1.1.10 [R2]acl 2001 [R2-acl-basic-2001]rule permit source 192.168.0.0 0.0.255.255 [R2-GigabitEthernet0/0/1]nat outbound 2001 address-group 1 no-pat
NAPT(PAT/EASY IP) 私网 IP 与公有 IP 多对一映射 ,通过端口号区分不同主机(华为称 EASY IP) 内网大量主机共享少量 / 单个公网 IP 访问外网(最常用) plaintext [R2]acl 2000 [R2-acl-basic-2000]rule permit source 192.168.0.0 0.0.255.255 [R2-GigabitEthernet0/0/1]nat outbound 2000
端口映射 公有 IP + 端口号 与 私网 IP + 端口号 一对一映射,实现外网访问内网指定端口服务 内网服务器使用同一公网 IP 发布不同端口服务(如 80/8080) plaintext [R2-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 80 inside 192.168.1.10 80 [R2-GigabitEthernet0/0/1]nat server protocol tcp global current-interface 8080 inside 192.168.1.20 80
4. 关键补充
  • 动态 NAT 模式nat outbound 后加 no-pat静态多对多 (多个一对一,不占用端口),不加为动态多对多(多个一对多,基于端口区分)。

  • EASY IP:直接复用路由器公网接口的 IP 地址,无需配置地址池,适合小型网络。

  • 端口映射global current-interface 表示使用路由器接口的公网 IP,也可指定固定公有 IP。

  • 端口范围 :端口号取值 1-65535,单个公网 IP 最多可支持 65535 个并发连接,多个公网 IP 可实现倍数扩展。

5. NAT 工作原理(以静态 NAT 为例)
  1. 内网数据包到达边界路由器,检查目标 IP 是否为公网地址。

  2. 若为公网地址,查询静态 NAT 映射表,找到源私网 IP 对应的公网 IP。

  3. 将数据包源 IP 替换为对应公网 IP,转发至互联网。

  4. 外网响应数据包返回时,反向查询映射表,将目标公网 IP 替换为对应私网 IP,转发至内网。

ACL 与 NAT 联动

  • ACL 用于抓取需要进行 NAT 转换的内网流量,仅匹配到的流量才会执行地址转换。

  • 动态 NAT/NAPT 必须依赖 ACL 定义「感兴趣流量」,再结合地址池或接口 IP 完成转换。

典型应用场景

  1. 企业内网访问互联网:使用 NAPT(EASY IP),让大量内网主机共享单个公网 IP 上网。

  2. 内网服务器对外发布:使用静态 NAT 或端口映射,让外网用户可访问内网 Web / 数据库服务器。

  3. 网络访问管控:使用 ACL 禁止特定主机 / 服务访问,保障内网安全。

总结

  • ACL 是「流量守门员」,负责允许 / 拒绝抓取特定流量。
  • NAT 是「地址翻译官」,负责私有 / 公有 IP 转换,实现内网接入互联网。
  • 两者常配合使用:ACL 抓取需要 NAT 的流量,NAT 对抓取到的流量执行地址转换。

四、综合实验配置

实验需求

  1. ISP 路由器仅配置公网接口 IP,无其他配置
  2. 内网基于 192.168.1.0/24 子网划分
  3. R1-R2 之间启动 OSPF 协议
  4. PC1-PC4 自动获取 IP(DHCP)
  5. PC1 不能 Telnet R1,其他内网 PC 可以 Telnet R1
  6. PC1-PC4 可以访问 PC5,R2 公网接口仅 1 个公网 IP:12.1.1.1
  7. ISP 路由 Telnet 12.1.1.1,最终登录到 R1

IP 与 VLAN 规划

设备 接口 VLAN IP 网段 说明
R1 GE0/0/0 - 192.168.1.0/30 连接 R2(Area 0)
R1 GE0/0/1 - - 连接 SW1(Trunk)
R1 Vlanif2 2 192.168.1.65/27 VLAN2 网关
R1 Vlanif3 3 192.168.1.97/27 VLAN3 网关
R2 GE0/0/0 - 192.168.1.1/30 连接 R1(Area 0)
R2 GE0/0/1 - 12.1.1.1/24 公网接口(连接 ISP)
R2 GE0/0/2 - - 连接 SW2(Trunk)
R2 Vlanif2 2 192.168.1.129/27 VLAN2 网关
R2 Vlanif3 3 192.168.1.161/27 VLAN3 网关
R3 GE0/0/0 - 12.1.1.2/24 连接 ISP
R3 GE0/0/1 - 1.1.1.1/24 连接 PC5
PC1 - 2 DHCP 获取 192.168.1.64/27 网段
PC2 - 3 DHCP 获取 192.168.1.96/27 网段
PC3 - 2 DHCP 获取 192.168.1.128/27 网段
PC4 - 3 DHCP 获取 192.168.1.160/27 网段
PC5 - - 1.1.1.10/24 公网服务器

基础配置

1. 交换机配置(SW1/SW2)
复制代码
# SW1
sysname SW1
vlan batch 2 3
interface GigabitEthernet 0/0/2
 port link-type access
 port default vlan 2
 undo shutdown
interface GigabitEthernet 0/0/3
 port link-type access
 port default vlan 3
 undo shutdown
interface GigabitEthernet 0/0/4
 port link-type access
 port default vlan 3
 undo shutdown
interface GigabitEthernet 0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 3
 undo shutdown

# SW2
sysname SW2
vlan batch 2 3
interface GigabitEthernet 0/0/2
 port link-type access
 port default vlan 2
 undo shutdown
interface GigabitEthernet 0/0/3
 port link-type access
 port default vlan 3
 undo shutdown
interface GigabitEthernet 0/0/1
 port link-type trunk
 port trunk allow-pass vlan 2 3
 undo shutdown
2. 路由器基础配置
复制代码
# R1
sysname R1
interface GigabitEthernet 0/0/0
 ip address 192.168.1.1 255.255.255.252
 undo shutdown
interface GigabitEthernet 0/0/1.1
 ip address 192.168.1.65 255.255.255.224
 dot1q termination vid 2
 arp broadcast enable
 undo shutdown
interface GigabitEthernet 0/0/1.2
 ip address 192.168.1.97 255.255.255.224
 dot1q termination vid 3
 arp broadcast enable
 undo shutdown

# R2
sysname R2
interface GigabitEthernet 0/0/0
 ip address 192.168.1.2 255.255.255.252
 undo shutdown
interface GigabitEthernet 0/0/1
 ip address 12.1.1.1 255.255.255.0
 undo shutdown
interface GigabitEthernet 0/0/2.1
 ip address 192.168.1.129 255.255.255.224
 dot1q termination vid 2
 arp broadcast enable
 undo shutdown
interface GigabitEthernet 0/0/2.2
 ip address 192.168.1.161 255.255.255.224
 dot1q termination vid 3
 arp broadcast enable
 undo shutdown

# ISP (AR3)
sysname ISP
interface GigabitEthernet 0/0/0
 ip address 12.1.1.2 255.255.255.0
 undo shutdown
interface GigabitEthernet 0/0/1
 ip address 1.1.1.1 255.255.255.0
 undo shutdown
3. DHCP 配置(PC1-PC4 自动获取 IP)
复制代码
# R1 DHCP
dhcp enable
ip pool vlan2
 gateway-list 192.168.1.65
 network 192.168.1.64 mask 255.255.255.224
 dns-list 114.114.114.114 8.8.8.8
ip pool vlan3
 gateway-list 192.168.1.97
 network 192.168.1.96 mask 255.255.255.224
 dns-list 114.114.114.114 8.8.8.8
interface GigabitEthernet 0/0/1.1
 dhcp select global
interface GigabitEthernet 0/0/1.2
 dhcp select global

# R2 DHCP
dhcp enable
ip pool vlan2
 gateway-list 192.168.1.129
 network 192.168.1.128 mask 255.255.255.224
 dns-list 114.114.114.114 8.8.8.8
ip pool vlan3
 gateway-list 192.168.1.161
 network 192.168.1.160 mask 255.255.255.224
 dns-list 114.114.114.114 8.8.8.8
interface GigabitEthernet 0/0/2.1
 dhcp select global
interface GigabitEthernet 0/0/2.2
 dhcp select global
4. OSPF 配置(内网互通)
复制代码
# R1 OSPF
ospf 1 router-id 1.1.1.1
 area 0
  network 192.168.1.0 0.0.0.3
 area 1
  network 192.168.1.64 0.0.0.31
  network 192.168.1.96 0.0.0.31

# R2 OSPF
ospf 1 router-id 2.2.2.2
 area 0
  network 192.168.1.0 0.0.0.3
 area 2
  network 192.168.1.128 0.0.0.31
  network 192.168.1.160 0.0.0.31
default-route-advertise always  // 向 OSPF 下发默认路由
ip route-static 0.0.0.0 0.0.0.0 12.1.1.2  // 指向 ISP
5. Telnet 服务配置(R1)
复制代码
sysname R1
aaa
 local-user wangdaye privilege level 15 password cipher wdy12345
 local-user wangdaye service-type telnet
user-interface vty 0 4
 authentication-mode aaa
6. ACL 配置(PC1 不能 Telnet R1)
复制代码
sysname R1
acl 3000
 rule deny tcp source 192.168.1.64 0.0.0.31 destination 192.168.1.65 0.0.0.0 destination-port eq 23
 rule permit ip source any destination any
interface GigabitEthernet 0/0/1.1
 traffic-filter inbound acl 3000
7. NAT 配置(访问 PC5 + ISP Telnet R1)
复制代码
# R2 Easy IP(内网访问 PC5)
sysname R2
acl 2000
 rule permit source 192.168.1.0 0.0.0.255
interface GigabitEthernet 0/0/1
 nat outbound 2000

# R2 NAT Server(ISP Telnet 12.1.1.1 → R1)
interface GigabitEthernet 0/0/1
 nat server protocol tcp global current-interface 23 inside 192.168.1.1 23

验证步骤

  1. PC1-PC4 自动获取 IP

    • PC 上执行 ip address dhcp-alloc,查看是否获取到对应网段 IP。
  2. 内网互通

    • PC2 ping PC4,应能通。
  3. Telnet 权限验证

    • PC1:telnet 192.168.1.65 → 连接失败。

    • PC2/PC3/PC4:telnet 192.168.1.65 → 可登录 R1。

  4. 访问 PC5

    • PC1-PC4 执行 ping 1.1.1.10(PC5 IP),应能通。
  5. ISP Telnet R1

    • ISP 上执行 telnet 12.1.1.1 → 登录到 R1。
相关推荐
承渊政道2 小时前
【优选算法】(实战领略前缀和的真谛)
开发语言·数据结构·c++·笔记·学习·算法
xiaoliuliu123452 小时前
Dev C++ 5.11开发编辑器 安装教程:详细步骤+自定义安装路径(附简体中文设置)
开发语言·c++
闻哥2 小时前
深入理解 InnoDB 的 MVCC:原理、Read View 与可见性判断
java·开发语言·jvm·数据库·b树·mysql·面试
Jelena157795857922 小时前
1688.item_get_app接口:包装尺寸重量信息深度解析
开发语言·前端·python
NGC_66112 小时前
JDK1.7 与 JDK1.8 ConcurrentHashMap:从分段锁到桶级锁的进化
java·开发语言
大黄说说2 小时前
PHP 数组 vs SPL 数据结构:队列与栈场景下的性能对决
开发语言·数据结构·php
rookie软工2 小时前
Qt代理委托实现
开发语言·python·qt
leaves falling2 小时前
C++类和对象(3)(初始化列表,类型转换,static成员,友元)
java·开发语言·c++
一只会跑会跳会发疯的猴子2 小时前
php操作mysql数据库增删改查
数据库·mysql·php