企业交换机OSPF路由协议配置与防护
上机练习讲义(Cisco设备版)
一、实验目的
- 掌握Cisco交换机、防火墙基础接口与VLAN配置方法
- 熟练配置OSPF协议,实现企业多设备路由互通
- 掌握OSPF MD5加密认证配置,提升路由协议安全性
- 能通过命令验证OSPF邻居关系、路由表及加密配置有效性
二、实验环境
- 设备:Cisco二层/三层交换机2台(SW1、SW2)、Cisco ASA/防火墙1台(FW)
- 拓扑:SW1(总公司)↔ SW2(分公司)↔ FW(出口),所有设备OSPF区域0
- 地址规划表:
| 设备 | 接口/VLAN | IP地址/掩码 | 用途 |
|---|---|---|---|
| SW1 | VLAN40(E1/0/5) | 20.1.0.5/24 | 连接SW2 |
| SW1 | VLAN41(E1/0/6-9) | 20.1.41.1/24 | 总公司销售网段 |
| SW2 | VLAN40(E1/0/5) | 20.1.0.6/24 | 连接SW1 |
| SW2 | VLAN50(E1/0/6-9) | 20.1.50.1/24 | 分公司财务网段 |
| SW2 | VLAN100(E1/0/10) | 20.1.10.1/24 | 连接FW |
| FW | E0/1 | 20.1.10.2/24 | 连接SW2 |
| FW | Loopback1 | 20.1.1.254/32 | OSPF稳定路由ID |
三、实验准备
- 所有设备恢复出厂配置,进入全局配置模式(
configure terminal) - 确认设备间物理连线正常,接口状态为Up
- 统一MD5认证密钥:
Wlaq@123,密钥ID:1
四、实验步骤
步骤1:基础接口与VLAN配置
1.1 SW1配置
bash
# 进入全局配置模式
Switch>enable
Switch#configure terminal
Switch(config)#hostname SW1
# 配置VLAN
SW1(config)#vlan 40 # 创建VLAN40
SW1(config-vlan)#name Link_TO_SW2
SW1(config-vlan)#exit
SW1(config)#vlan 41 # 创建销售网段VLAN41
SW1(config-vlan)#name Sales_VLAN
SW1(config-vlan)#exit
# 接口划入VLAN
SW1(config)#interface range Ethernet1/0/5
SW1(config-if-range)#switchport mode trunk # 或access(按拓扑调整)
SW1(config-if-range)#switchport trunk allowed vlan 40
SW1(config-if-range)#no shutdown
SW1(config-if-range)#exit
SW1(config)#interface range Ethernet1/0/6-9
SW1(config-if-range)#switchport mode access
SW1(config-if-range)#switchport access vlan 41
SW1(config-if-range)#no shutdown
SW1(config-if-range)#exit
# 配置VLAN接口IP
SW1(config)#interface Vlan40
SW1(config-if)#ip address 20.1.0.5 255.255.255.0
SW1(config-if)#no shutdown
SW1(config-if)#exit
SW1(config)#interface Vlan41
SW1(config-if)#ip address 20.1.41.1 255.255.255.0
SW1(config-if)#no shutdown
SW1(config-if)#exit
1.2 SW2配置
bash
# 进入全局配置模式
Switch>enable
Switch#configure terminal
Switch(config)#hostname SW2
# 配置VLAN
SW2(config)#vlan 40 # 创建VLAN40
SW2(config-vlan)#name Link_TO_SW1
SW2(config-vlan)#exit
SW2(config)#vlan 50 # 创建财务网段VLAN50
SW2(config-vlan)#name Finance_VLAN
SW2(config-vlan)#exit
SW2(config)#vlan 100 # 创建连接FW的VLAN100
SW2(config-vlan)#name Link_TO_FW
SW2(config-vlan)#exit
# 接口划入VLAN
SW2(config)#interface Ethernet1/0/5
SW2(config-if)#switchport mode trunk
SW2(config-if)#switchport trunk allowed vlan 40
SW2(config-if)#no shutdown
SW2(config-if)#exit
SW2(config)#interface range Ethernet1/0/6-9
SW2(config-if-range)#switchport mode access
SW2(config-if-range)#switchport access vlan 50
SW2(config-if-range)#no shutdown
SW2(config-if-range)#exit
SW2(config)#interface Ethernet1/0/10
SW2(config-if)#switchport mode trunk
SW2(config-if)#switchport trunk allowed vlan 100
SW2(config-if)#no shutdown
SW2(config-if)#exit
# 配置VLAN接口IP
SW2(config)#interface Vlan40
SW2(config-if)#ip address 20.1.0.6 255.255.255.0
SW2(config-if)#no shutdown
SW2(config-if)#exit
SW2(config)#interface Vlan50
SW2(config-if)#ip address 20.1.50.1 255.255.255.0
SW2(config-if)#no shutdown
SW2(config-if)#exit
SW2(config)#interface Vlan100
SW2(config-if)#ip address 20.1.10.1 255.255.255.0
SW2(config-if)#no shutdown
SW2(config-if)#exit
1.3 FW(Cisco ASA)配置
bash
# 进入全局配置模式
ciscoasa>enable
ciscoasa#configure terminal
ciscoasa(config)#hostname FW
# 配置物理接口E0/1
FW(config)#interface Ethernet0/1
FW(config-if)#nameif inside # 定义接口名称
FW(config-if)#security-level 100 # 安全级别
FW(config-if)#ip address 20.1.10.2 255.255.255.0
FW(config-if)#no shutdown
FW(config-if)#exit
# 配置Loopback回环接口
FW(config)#interface Loopback1
FW(config-if)#ip address 20.1.1.254 255.255.255.255
FW(config-if)#no shutdown
FW(config-if)#exit
步骤2:OSPF协议基础配置(区域0)
2.1 SW1配置
bash
# 启用OSPF进程1,配置Router-ID
SW1(config)#router ospf 1
SW1(config-router)#router-id 20.1.0.5 # 手动指定Router-ID
SW1(config-router)#network 20.1.0.0 0.0.0.255 area 0 # 宣告VLAN40网段
SW1(config-router)#network 20.1.41.0 0.0.0.255 area 0 # 宣告VLAN41网段
SW1(config-router)#no passive-interface Vlan40 # 激活直连OSPF接口
SW1(config-router)#exit
2.2 SW2配置
bash
# 启用OSPF进程1,配置Router-ID
SW2(config)#router ospf 1
SW2(config-router)#router-id 20.1.0.6 # 手动指定Router-ID
SW2(config-router)#network 20.1.0.0 0.0.0.255 area 0 # 宣告VLAN40网段
SW2(config-router)#network 20.1.50.0 0.0.0.255 area 0 # 宣告VLAN50网段
SW2(config-router)#network 20.1.10.0 0.0.0.255 area 0 # 宣告VLAN100网段
SW2(config-router)#no passive-interface Vlan40
SW2(config-router)#no passive-interface Vlan100
SW2(config-router)#exit
2.3 FW配置
bash
# 启用OSPF进程1,配置Router-ID
FW(config)#router ospf 1
FW(config-router)#router-id 20.1.1.254 # 回环口作为Router-ID
FW(config-router)#network 20.1.10.0 0.0.0.255 area 0 # 宣告E0/1网段
FW(config-router)#network 20.1.1.254 0.0.0.0 area 0 # 宣告回环口
FW(config-router)#exit
步骤3:OSPF MD5加密认证配置
核心要求 :所有OSPF互联接口配置MD5认证,密钥统一为Wlaq@123,密钥ID=1
3.1 SW1配置(仅VLAN40接口)
bash
SW1(config)#interface Vlan40
SW1(config-if)#ip ospf authentication message-digest # 启用MD5认证
SW1(config-if)#ip ospf message-digest-key 1 md5 Wlaq@123 # 配置密钥
SW1(config-if)#exit
3.2 SW2配置(VLAN40、VLAN100接口)
bash
# VLAN40接口(连接SW1)
SW2(config)#interface Vlan40
SW2(config-if)#ip ospf authentication message-digest
SW2(config-if)#ip ospf message-digest-key 1 md5 Wlaq@123
SW2(config-if)#exit
# VLAN100接口(连接FW)
SW2(config)#interface Vlan100
SW2(config-if)#ip ospf authentication message-digest
SW2(config-if)#ip ospf message-digest-key 1 md5 Wlaq@123
SW2(config-if)#exit
3.3 FW配置(E0/1接口)
bash
FW(config)#interface Ethernet0/1
FW(config-if)#ip ospf authentication message-digest
FW(config-if)#ip ospf message-digest-key 1 md5 Wlaq@123
FW(config-if)#exit
步骤4:配置验证
4.1 验证OSPF邻居关系
bash
# SW1查看OSPF邻居
SW1#show ip ospf neighbor
# SW2查看OSPF邻居
SW2#show ip ospf neighbor
# FW查看OSPF邻居
FW#show ospf neighbor
预期结果 :三台设备均能看到对方邻居,状态为FULL(完全邻接)
4.2 验证OSPF路由表
bash
# SW1查看OSPF路由
SW1#show ip route ospf
# SW2查看OSPF路由
SW2#show ip route ospf
# FW查看OSPF路由
FW#show route ospf
预期结果:所有设备路由表中,均存在其他设备的网段路由(O标识)
4.3 验证MD5加密配置
bash
# 查看接口OSPF认证配置
SW1#show ip ospf interface Vlan40
SW2#show ip ospf interface Vlan100
FW#show ospf interface Ethernet0/1
预期结果 :接口信息中显示Message digest authentication enabled,密钥ID=1
五、实验总结
- OSPF协议通过Router-ID、网段宣告、区域划分实现路由自动学习,区域0为骨干区域,保障路由可靠传递
- MD5加密认证可有效防止非法设备接入OSPF网络,避免路由劫持,是企业路由协议安全的基础配置
- 验证核心命令:
show ip ospf neighbor、show ip route ospf、show ip ospf interface
六、常见问题排查
- OSPF邻居无法建立:检查接口IP连通性、OSPF网段宣告是否正确、Router-ID是否冲突、MD5密钥是否一致
- 路由表无OSPF条目:确认接口未配置
passive-interface、网段宣告反掩码正确 - MD5认证失败:核对密钥字符串、密钥ID是否完全一致,接口是否启用MD5认证
七 验收场景和标准
全部满足,即判定 配置完全生效、OSPF 正常、MD5 加密有效:
- 直连接口 ping 全通
- 跨网段 ping 全通(OSPF 路由正常)
- MD5 密钥错误 → 不通;密钥正确 → 恢复通
1、验收前提
- 所有设备接口、VLAN、IP 配置完成
- OSPF 已配置并建立 FULL 邻居
- MD5 加密已配置且邻居正常
2、验收场景与检验标准(全用 ping)
场景1:直连接口连通性(VLAN40)
目的:确认二层/VLAN配置正确
-
SW1 执行:
ping 20.1.0.6
-
SW2 执行:
ping 20.1.0.5
检验标准 :!!!!!,丢包率 0%
场景2:SW2 ↔ FW 直连互通(VLAN100/E0/1)
目的:确认 SW2 与 FW 二层/IP 正常
-
SW2:
ping 20.1.10.2
-
FW:
ping 20.1.10.1
检验标准 :!!!!!,丢包率 0%
场景3:跨设备内网互通(OSPF 路由生效)
目的:验证 OSPF 路由已自动学习
-
SW1 → SW2 内网:
ping 20.1.50.1
-
SW2 → SW1 内网:
ping 20.1.41.1
-
SW1 → FW Loopback(骨干路由):
ping 20.1.1.254
-
FW → SW1 内网:
ping 20.1.41.1
检验标准 :所有 ping !!!!!,说明 OSPF 路由完全生效
场景4:MD5 加密有效性(破坏密钥后不通、恢复后通)
目的:证明 OSPF 邻居依赖 MD5,防止非法接入
4.1 正常状态(加密正确)
-
SW1 ping SW2:
ping 20.1.0.6
结果:通(加密正常)
4.2 故意改错 SW2 的 MD5 密钥
interface vlan 40
no ip ospf message-digest-key 1 md5 Wlaq@123
ip ospf message-digest-key 1 md5 wrongpass
-
再在 SW1 ping SW2:
ping 20.1.0.6
检验标准 :不通(. . . . .),OSPF 邻居断开
4.3 恢复正确密钥
interface vlan 40
no ip ospf message-digest-key 1 md5 wrongpass
ip ospf message-digest-key 1 md5 Wlaq@123
-
SW1 ping SW2:
ping 20.1.0.6
检验标准:恢复连通,邻居重新 FULL