华为实验之OSPF协议

时间:2024-04-12 22:27:35

华为实验之OSPF协议

实验目的
掌握单区域 OSPF 的配置方法
掌握 OSPF 区域认证的配置方法
修 改 OSPF 的 Loopback 的 32 位主机路由
掌握对 OSPF 接口代价值进行修改的方法
掌握 OSPF 中 Silent-interface 的配置方法
掌握使用 Display 查看 OSPF 各种状态的方法
掌握使用 Debug 命令查看 OSPF 邻接关系和进行故障排除的方法

华为实验之OSPF协议

单区域的 OSPF

1:首先配置 IP 地址,这里不再演示,请参考上面的实验。
2:配置单区域(area0 )的 OSPF
[R1]ospf 1 router-id 11.1.1.1 //配置 OSPF 的进程号以及 route-ID
[R1-ospf-1]area 0 //进入到区域 0 里面。
[R1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.0 //精确宣告一个 IP 地址。
[R1-ospf-1-area-0.0.0.0]network 11.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher yeslab // 基于区域的
MD5 认证
在 R2 上配置
[R2]ospf 1 router-id 22.1.1.1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 12.1.1.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 23.1.1.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 22.1.1.1 0.0.0.0
[R2-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher yeslab
在 R3 上去配置
[R3]ospf 1 router-id 33.1.1.1
[R3-ospf-1-area-0.0.0.0]network 33.1.1.1 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 23.1.1.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]authentication-mode md5 1 cipher yeslab
配置好以后去查看路由表:
[R1]display ip routing protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
22.1.1.1/32 OSPF 10 1 D 12.1.1.2 Ethernet0/0/0
23.1.1.0/24 OSPF 10 2 D 12.1.1.2 Ethernet0/0/0
33.1.1.1/32 OSPF 10 2 D 12.1.1.2 Ethernet0/0/0
在 R2 上查看:
[R2]display ip routing protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
11.1.1.1/32 OSPF 10 1 D 12.1.1.1 Ethernet0/0/0
33.1.1.1/32 OSPF 10 1 D 23.1.1.3 Ethernet0/0/1
在 R3 上查看:
[R3]display ip routing protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
11.1.1.1/32 OSPF 10 2 D 23.1.1.2 Ethernet0/0/0
12.1.1.0/24 OSPF 10 2 D 23.1.1.2 Ethernet0/0/0
22.1.1.1/32 OSPF 10 1 D 23.1.1.2 Ethernet0/0/0
使用 display ospf brief 命令查看 OSPF 运行的基本信息。
[R1]display ospf brief
————省略一部分显示————
Area: 0.0.0.0 (MPLS TE not enabled)
Authtype: MD5 Area flag: Normal //区域 0 的认证类型
SPF scheduled Count: 8
ExChange/Loading Neighbors: 0
Router ID conflict state: Normal
Interface: 12.1.1.1 (Ethernet0/0/0) //接口的的开销,状态,接口网络类型
Cost: 1 State: DR Type: Broadcast MTU: 1500
Priority: 1
Designated Router: 12.1.1.1
Backup Designated Router: 12.1.1.2
Timers: Hello 10 , Dead 40 , Poll 120 , Retransmit 5 , Transmit Delay 1
Interface: 11.1.1.1 (LoopBack1)
Cost: 0 State: P-2-P Type: P2P MTU: 1500
Timers: Hello 10 , Dead 40 , Poll 120 , Retransmit 5 , Transmit Delay 1
再去查看邻居关系:
[R1]display ospf peer brief
OSPF Process 1 with Router ID 11.1.1.1
Peer Statistic Information

Area Id Interface Neighbor id State
0.0.0.0 Ethernet0/0/0 22.1.1.1 Full
//以上表示 R1 上能看到 R2 这个邻居,有邻居的 route-ID, 状态,本地接口和区域等
去查看 LSDB 表项:
[R1]display ospf lsdb
OSPF Process 1 with Router ID 11.1.1.1
Link State Database
Area: 0.0.0.0
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 33.1.1.1 33.1.1.1 668 48 80000004 0
Router 22.1.1.1 22.1.1.1 668 60 80000009 1
Router 11.1.1.1 11.1.1.1 726 48 80000006 1
Network 23.1.1.2 22.1.1.1 668 32 80000001 0
Network 12.1.1.1 11.1.1.1 726 32 80000001 0

//以上输出表示能看到一类的和 2 类的 LSA,与 CISCO 没有区别。
再去查看一条详细的内容:
[R1]display ospf lsdb router 33.1.1.1
OSPF Process 1 with Router ID 11.1.1.1
Area: 0.0.0.0
Link State Database
Type : Router
Ls id : 33.1.1.1
Adv rtr : 33.1.1.1
Ls age : 694
Len : 48
Options : E
seq# : 80000004
chksum : 0xc9d2
Link count: 2

  • Link ID: 33.1.1.1
    Data : 255.255.255.255
    Link Type: StubNet
    Metric : 0
    Priority : Medium
  • Link ID: 23.1.1.2
    Data : 23.1.1.3
    Link Type: TransNet
    Metric : 1
    //以上输出表示 R3 通告了二项信息,一个是回环回,一个是连接 R2 的接口。具体理解请看 OSPF 的讲解视频。

控制 DR/BDR 的举 ,观察邻居状态变迁

实验步骤
接着上面的实验:
先去查看 R1 与 R2 之间谁是 DR
[R1]display ospf peer
OSPF Process 1 with Router ID 11.1.1.1
Neighbors
Area 0.0.0.0 interface 12.1.1.1(Ethernet0/0/0)'s neighbors
Router ID: 22.1.1.1 Address: 12.1.1.2
State: Full Mode:Nbr is Master Priority: 1
DR: 12.1.1.1 BDR: 12.1.1.2 MTU: 0
Dead timer due in 37 sec
Retrans timer interval: 5
Neighbor is up for 00:28:53
Authentication Sequence: [ 2472]
以上表示 R1 为 DR。但在这里 每个人得到的实验结果会不一样,因为 DR/BDR 的选
举是非抢占的。
接下来修改 R1 的接口优先集。
[R1-Ethernet0/0/0]ospf dr-priority 10
然后 shutdown 二边的接口,打开 debug,观察 OSPF 的邻居建立过程。
debugging ospf 1 event
[R1]info-center enable
Undo shutdown 接口,观察以下信息
May 16 2013 17:43:39-08:00 R1 %%01PHY/1/PHY(l)[0]: Ethernet0/0/0: change status to up
May 16 2013 17:43:39-08:00 R1 %%01IFNET/4/LINK_STATE(l)[1]:The line protocol IP on the interface Ethernet0/0/0 has entered the
UP state.
May 16 2013 17:43:39-08:00 R1 %%01OSPF/4/NBR_CHANGE_E(l)[2]:Neighbor changes event: neighbor status changed. (ProcessId=1,
NeighborAddress=12.1.1.2, NeighborEvent=HelloReceived, NeighborPreviousState=Down, NeighborCurrentState=Init)
May 16 2013 17:43:48-08:00 R1 DS/4/DATASYNC_CFGCHANGE:OID 1.3.6.1.4.1.2011.5.25.191.3.1 configurations have been changed.
The current change number is 23, the change loop count is 0, and the maximum number of records is 4095.
May 16 2013 17:43:58-08:00 R1 %%01OSPF/4/NBR_CHANGE_E(l)[3]:Neighbor changes event: neighbor status changed. (ProcessId=1,
NeighborAddress=12.1.1.2, NeighborEvent=2WayReceived, NeighborPreviousState=Init, NeighborCurrentState=2Way)
May 16 2013 17:44:20-08:00 R1 %%01OSPF/4/NBR_CHANGE_E(l)[4]:Neighbor changes event: neighbor status changed. (ProcessId=1,
NeighborAddress=12.1.1.2, NeighborEvent=AdjOk?, NeighborPreviousState=2Way, NeighborCurrentState=ExStart)
May 16 2013 17:44:25-08:00 R1 %%01OSPF/4/NBR_CHANGE_E(l)[5]:Neighbor changes event: neighbor status changed. (ProcessId=1,
NeighborAddress=12.1.1.2, NeighborEvent=NegotiationDone, NeighborPreviousState=ExStart, NeighborCurrentState=Exchange)
May 16 2013 17:44:25-08:00 R1 %%01OSPF/4/NBR_CHANGE_E(l)[6]:Neighbor changes event: neighbor status changed. (ProcessId=1,
NeighborAddress=12.1.1.2, NeighborEvent=ExchangeDone, NeighborPreviousState=Exchange, NeighborCurrentState=Loading)
May 16 2013 17:44:25-08:00 R1 %%01OSPF/4/NBR_CHANGE_E(l)[7]:Neighbor changes event: neighbor status changed. (ProcessId=1,
NeighborAddress=12.1.1.2, NeighborEvent=LoadingDone, NeighborPreviousState=Loading, NeighborCurrentState=Full)
再去 R2 上查看邻居信息:
[R2]display ospf peer
OSPF Process 1 with Router ID 22.1.1.1
Neighbors
Area 0.0.0.0 interface 12.1.1.2(Ethernet0/0/0)'s neighbors
Router ID: 11.1.1.1 Address: 12.1.1.1
State: Full Mode:Nbr is Slave Priority: 10
DR: 12.1.1.1 BDR: 12.1.1.2 MTU: 0
Dead timer due in 37 sec
Retrans timer interval: 5
Neighbor is up for 00:02:36
Authentication Sequence: [ 8265]
//以上表示 R1 的优先集己经被修改为 10 了。

配置接口的网络类型

实验步骤
先去查看 R1 的路由表,将会发现 R1 上收到的 R2,R3 的环回口路由都是 32 位的主机路由:
[R1]display ip routing protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
22.1.1.1/32 OSPF 10 1 D 12.1.1.2 Ethernet0/0/0
23.1.1.0/24 OSPF 10 2 D 12.1.1.2 Ethernet0/0/0
33.1.1.1/32 OSPF 10 2 D 12.1.1.2 Ethernet0/0/0

再去查看 R2 上环回口的网络类型。
[R2]display ospf interface LoopBack 1
OSPF Process 1 with Router ID 22.1.1.1
Interfaces
Interface: 22.1.1.1 (LoopBack1)
Cost: 0 State: P-2-P Type: P2P MTU: 1500
Timers: Hello 10 , Dead 40 , Poll 120 , Retransmit 5 , Transmit Delay 1
//以上输出表示类型是 P2P,这些与 CISCO 是不一样的。CISCO 的回环口是 loopback,
但是结局都是一样的,都是似送 32 位主机路由。
修改接口的网络类型如下:
[R2]interface LoopBack 1
[R2-LoopBack1]ospf network-type broadcast
修改后再去 R1 查看结果:
[R1]display ip routing protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
22.1.1.0/24 OSPF 10 1 D 12.1.1.2 Ethernet0/0/0
23.1.1.0/24 OSPF 10 2 D 12.1.1.2 Ethernet0/0/0
33.1.1.1/32 OSPF 10 2 D 12.1.1.2 Ethernet0/0/0
//以上表示 R1 收到 R2 的路由是 24 位的了。

修改 OSPF 接口的 COST

实验步骤
通以上面的实验输出可以发现,LOOPBACK 口的 COST 值为 0,接下来把 R2 的环回口
COST 值修改为 99,再去 R1 看结果。
[R2]interface loop 1
[R2-LoopBack1]ospf cost 99
[R1]display ip routing protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
22.1.1.0/24 OSPF 10 100 D 12.1.1.2 Ethernet0/0/0
23.1.1.0/24 OSPF 10 2 D 12.1.1.2 Ethernet0/0/0
33.1.1.1/32 OSPF 10 2 D 12.1.1.2 Ethernet0/0/0

配置 OSPF 的被动接口

实验步骤
OSPF 的被动接口与 RIP 是不一样的,不再是只收不发,而是不收也不发任何 OSPF 的报
文,会导至邻居关系都建立不起来,当然也学不到任何路由:
[R1]ospf 1
[R1-ospf-1]silent-interface Ethernet 0/0/0
[R1]display ospf peer
取消 E0/0/0 口的被动接口,去回环回:
[R1-ospf-1]undo silent-interface Ethernet 0/0/0
[R1-ospf-1]silent-interface LoopBack 1
再去 R2 上去查看结果:
[R2]display ip routing protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
11.1.1.1/32 OSPF 10 1 D 12.1.1.1 Ethernet0/0/0
33.1.1.1/32 OSPF 10 1 D 23.1.1.3 Ethernet0/0/1
//以上表示 R2 正常收到的一个被 silent 掉的回环口的路由,也就是说被动接口只是不建立邻居关系,但是这个接口所在的路由依然会通告出去。

配置多区域 的 的 OSPF

实验目的
掌握多区域 OSPF 的配置方法
 掌握 OSPF 区域之间路由汇总的配置方法
 掌握 OSPF 参考带宽的配置方法
 掌握 OSPF 引入外部路由的配置方法
 掌握 OSPF 引入的外部路由时进行路由汇总的方法
 掌握向 OSPF 导入缺省路由的方法
 掌握对 OSPF 中各类路由的管理距离的修改方法

实验步骤
1:先配 置 IP 地址 。
2:配置多区域的 OSPF
[R1]ospf 1 router-id 11.1.1.1
[R1-ospf-1]area 1
[R1-ospf-1-area-0.0.0.1]network 11.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.1]network 12.1.1.1 0.0.0.0

[R2]ospf 1 router-id 22.1.1.1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 23.1.1.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]quit
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]network 12.1.1.2 0.0.0.0
[R2-ospf-1-area-0.0.0.1]network 22.1.1.1 0.0.0.0

//在不同的区域里宣告相关的网段即可。
[R3]ospf 1 router-id 33.1.1.1
[R3-ospf-1]area 0

[R3-ospf-1-area-0.0.0.0]network 23.1.1.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]quit
[R3-ospf-1]area 2
[R3-ospf-1-area-0.0.0.2]network 34.1.1.3 0.0.0.0
[R3-ospf-1-area-0.0.0.2]network 33.1.1.1 0.0.0.0

[R4]ospf 1 router-id 44.1.1.1
[R4-ospf-1]area 2
[R4-ospf-1-area-0.0.0.2]network 34.1.1.4 0.0.0.0
[R4-ospf-1-area-0.0.0.2]network 44.1.1.1 0.0.0.0

配置好以后去查看 R1 的路由表:
[R1]display ip routing protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
22.1.1.1/32 OSPF 10 1 D 12.1.1.2 Ethernet0/0/0
23.1.1.0/24 OSPF 10 2 D 12.1.1.2 Ethernet0/0/0
33.1.1.1/32 OSPF 10 2 D 12.1.1.2 Ethernet0/0/0
34.1.1.0/24 OSPF 10 3 D 12.1.1.2 Ethernet0/0/0
44.1.1.1/32 OSPF 10 3 D 12.1.1.2 Ethernet0/0/0

//以上表示 R1 学到到了 所有区域的路由,这里与 CISCO 不同的是,区域间的路由与区域内的路的的优先集是一样的。

修改 OSPF 的参考带宽值

在实际网络我们可能使用了千兆甚至万兆以太网。但是由于 OSPF 的默认参考带宽值为100Mbps,并且接口代价值仅为整数,所以 OSPF 无法在带宽上区分百兆以太网和千兆及以上的以太网。与 CISCO 一样,有一条命令可以去修改 OSPF 的参考带宽:
[R1-ospf-1]bandwidth-reference 1000
Info: Reference bandwidth is changed. Please ensure that the reference bandwidth that is configured for all
the routers are the same
//同时提醒修改应该是在所有路由器上进行的。
在 R1 上查看路由表,Cost 值己经发生了发化。
[R1-ospf-1]display ip routing protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
22.1.1.1/32 OSPF 10 10 D 12.1.1.2 Ethernet0/0/0
23.1.1.0/24 OSPF 10 11 D 12.1.1.2 Ethernet0/0/0
33.1.1.1/32 OSPF 10 11 D 12.1.1.2 Ethernet0/0/0
34.1.1.0/24 OSPF 10 12 D 12.1.1.2 Ethernet0/0/0
44.1.1.1/32 OSPF 10 12 D 12.1.1.2 Ethernet0/0/0

//以上输出表示路由的 COST 值加大了。不再是用 10 的 8 次方去除以带宽,而是用 10 的
9 次方去除,所以值加大了 10 倍。当要适应更高带宽的网络时,就把参考带宽加大,但是
一定要在所有路由器上都修改。否则会出现次优。
再去查看一下多区域的 OSPF 用的到 LSA。查看 OSPF 的 LSDB 表。
[R1]display ospf lsdb
Area: 0.0.0.1
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 22.1.1.1 22.1.1.1 639 48 80000004 1
Router 11.1.1.1 11.1.1.1 640 48 80000006 1
Network 12.1.1.1 11.1.1.1 640 32 80000002 0
Sum-Net 44.1.1.1 22.1.1.1 548 28 80000001 2
Sum-Net 23.1.1.0 22.1.1.1 651 28 80000001 1
Sum-Net 34.1.1.0 22.1.1.1 599 28 80000001 2
Sum-Net 33.1.1.1 22.1.1.1 586 28 80000001 1
//由于是多区域的 OSPF,我们将看到三类的 LSA,sum-net 的 LSA。用来描述区域间的路由。

引入外部路由(重分布)

实验步骤
在 R4 上引入直连的路由条目
首先在 R4 上创建几条新的直连路由:
[R4]interface LoopBack 0
[R4-LoopBack0]ip address 44.1.0.1 255.255.255.0 sub
[R4-LoopBack0]ip address 44.1.2.1 255.255.255.0 sub
[R4-LoopBack0]ip address 44.1.3.1 255.255.255.0 sub
然后把这些直连的路由重分布进 OSPF:
[R4-ospf-1]import-route direct
同时我们注意到,用此命令可以做与任何协议之间的重分布:
[R4-ospf-1]import-route ?
bgp Border Gateway Protocol (BGP) routes
direct Connected routes
isis Intermediate System to Intermediate System (IS-IS) routes
limit Limit the number of routes imported into OSPF
ospf Open Shortest Path First (OSPF) routes
rip Routing Information Protocol (RIP) routes
static Static routes
unr User Network Routes
再到 R1 上去查看路由条目:
[R1-ospf-1]display ip routing protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
22.1.1.1/32 OSPF 10 10 D 12.1.1.2 Ethernet0/0/0
23.1.1.0/24 OSPF 10 11 D 12.1.1.2 Ethernet0/0/0
33.1.1.1/32 OSPF 10 11 D 12.1.1.2 Ethernet0/0/0
34.1.1.0/24 OSPF 10 12 D 12.1.1.2 Ethernet0/0/0
44.1.0.0/24 O_ASE 150 1 D 12.1.1.2 Ethernet0/0/0
44.1.1.0/24 O_ASE 150 1 D 12.1.1.2 Ethernet0/0/0
44.1.1.1/32 OSPF 10 12 D 12.1.1.2 Ethernet0/0/0
44.1.2.0/24 O_ASE 150 1 D 12.1.1.2 Ethernet0/0/0
44.1.3.0/24 O_ASE 150 1 D 12.1.1.2 Ethernet0/0/0
//上面红色部分路由表示的就是重分布进去的路由,优先集为 150.这些 CISCO 是不一样的。

汇总 OSPF 路由

实验步骤
先做区域间的汇总,所以先在 R3 上多产生几条直连的路由,然后宣告进 OSPF。
[R3]interface LoopBack 0
[R3-LoopBack0]ip address 33.1.2.1 255.255.255.0 sub
[R3-LoopBack0]ip address 33.1.0.1 255.255.255.0 sub
[R3-LoopBack0]ip address 33.1.3.1 255.255.255.0 sub
[R3-LoopBack0]ospf enable 1 area 2 //华为也支持接口下的宣告。
现在去汇总这 4 条路由,由于这四条路由都是被宣告进了 OSPF 的区域 2.所以汇总也要进到 area2 里面进行:
[R3]ospf 1
[R3-ospf-1]area 2
[R3-ospf-1-area-0.0.0.2]abr-summary 33.1.0.0 255.255.252.0
然后到 R1 上去看现象:
[R1]display ip routing protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
22.1.1.1/32 OSPF 10 10 D 12.1.1.2 Ethernet0/0/0
23.1.1.0/24 OSPF 10 11 D 12.1.1.2 Ethernet0/0/0
33.1.0.0/22 OSPF 10 11 D 12.1.1.2 Ethernet0/0/0
34.1.1.0/24 OSPF 10 12 D 12.1.1.2 Ethernet0/0/0
44.1.0.0/24 O_ASE 150 1 D 12.1.1.2 Ethernet0/0/0
44.1.1.0/24 O_ASE 150 1 D 12.1.1.2 Ethernet0/0/0
44.1.1.1/32 OSPF 10 12 D 12.1.1.2 Ethernet0/0/0
44.1.2.0/24 O_ASE 150 1 D 12.1.1.2 Ethernet0/0/0
44.1.3.0/24 O_ASE 150 1 D 12.1.1.2 Ethernet0/0/0
//以上表示成功汇总成了一条 22 位的路由。
再去汇总 R4 引于的几条外部路由,这要在 ASBR 上做:
[R4-ospf-1]asbr-summary 44.1.0.0 255.255.252.0
再到 R1 查看结果:
[R1]display ip routing protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
22.1.1.1/32 OSPF 10 10 D 12.1.1.2 Ethernet0/0/0
23.1.1.0/24 OSPF 10 11 D 12.1.1.2 Ethernet0/0/0
33.1.0.0/22 OSPF 10 11 D 12.1.1.2 Ethernet0/0/0
34.1.1.0/24 OSPF 10 12 D 12.1.1.2 Ethernet0/0/0
44.1.0.0/22 O_ASE 150 2 D 12.1.1.2 Ethernet0/0/0
44.1.1.1/32 OSPF 10 12 D 12.1.1.2 Ethernet0/0/0
//成功汇总了外部的四条路由。

在 在 OSPF 中产生一条默认路由

实验步骤
OSPF 可以很方便的引入一条默认路由:
在 R4 上:
[R4]ospf 1
[R4-ospf-1]default-route-advertise always
然后到 R1 上查看结果:
[R1]display ip routing protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 O_ASE 150 1 D 12.1.1.2 Ethernet0/0/0
22.1.1.1/32 OSPF 10 10 D 12.1.1.2 Ethernet0/0/0
23.1.1.0/24 OSPF 10 11 D 12.1.1.2 Ethernet0/0/0
33.1.0.0/22 OSPF 10 11 D 12.1.1.2 Ethernet0/0/0
34.1.1.0/24 OSPF 10 12 D 12.1.1.2 Ethernet0/0/0
44.1.0.0/22 O_ASE 150 2 D 12.1.1.2 Ethernet0/0/0
44.1.1.1/32 OSPF 10 12 D 12.1.1.2 Ethernet0/0/0
//以上表示收到了一条默认路由,也是由 5 类的 LSA 产生的。

修改 OSPF 路由的优先集

在华为设备上,默认的内部的 OSPF 路由优先集为 10,外部的为 150,这个值是可以修改
的:
[R1]ospf 1
[R1-ospf-1]preference 20 //修改内部的为 20
[R1-ospf-1]preference ase 50 //修改外部的为 50
修改后再去查看路由表:
[R1]display ip routing-table protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 O_ASE 50 1 D 12.1.1.2 Ethernet0/0/0
22.1.1.1/32 OSPF 20 10 D 12.1.1.2 Ethernet0/0/0
23.1.1.0/24 OSPF 20 11 D 12.1.1.2 Ethernet0/0/0
33.1.0.0/22 OSPF 20 11 D 12.1.1.2 Ethernet0/0/0
34.1.1.0/24 OSPF 20 12 D 12.1.1.2 Ethernet0/0/0
44.1.0.0/22 O_ASE 50 2 D 12.1.1.2 Ethernet0/0/0
44.1.1.1/32 OSPF 20 12 D 12.1.1.2 Ethernet0/0/0

配置 OSPF 的 的 stub 区域

实验步骤
在 R1 与 R2 上配置之间的 area1 配置 stup 区域。以减少外部路由的接收,
[R1]ospf 1
[R1-ospf-1]area 1
[R1-ospf-1-area-0.0.0.1]stub
[R2]ospf 1
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]stub
配置完成后去 R1 上查看结果:
[R1]display ip routing protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 OSPF 20 11 D 12.1.1.2 Ethernet0/0/0
22.1.1.1/32 OSPF 20 10 D 12.1.1.2 Ethernet0/0/0
23.1.1.0/24 OSPF 20 11 D 12.1.1.2 Ethernet0/0/0
33.1.0.0/22 OSPF 20 11 D 12.1.1.2 Ethernet0/0/0
34.1.1.0/24 OSPF 20 12 D 12.1.1.2 Ethernet0/0/0
44.1.1.1/32 OSPF 20 12 D 12.1.1.2 Ethernet0/0/0
//如上所示,再也没有了外部的路由条目。但依然有很多区域间的路由。并且默认路由也
由 R2 产生了一条区域内的默认。
在 ABR 上配置完全末节区域。以最大限度的减少 R1 的路由表:
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]stub no-summary
再到 R1 上查看路由表:
[R1]display ip routing protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 OSPF 20 11 D 12.1.1.2 Ethernet0/0/0
22.1.1.1/32 OSPF 20 10 D 12.1.1.2 Ethernet0/0/0

配置 AREA2 为 为 NSSA 区域

实验步骤
Nssa 区域保留了 STUP 区域的特点,不接收外部的路由,但是在本区域却可以引入外部
的路由,用 7 类的 LSA 来表示:
在 R3 上配置
[R3]ospf 1
[R3-ospf-1]area 2
[R3-ospf-1-area-0.0.0.2]nssa
[R4]ospf 1
[R4-ospf-1]area 2
[R4-ospf-1-area-0.0.0.2]nssa
配置完成后到 R4 上查看路由表,此时的 R4 上将看不到任何区域外的路由,
[R4]display ip routing-table protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 O_NSSA 150 1 D 34.1.1.3 Ethernet0/0/0
11.1.1.1/32 OSPF 10 3 D 34.1.1.3 Ethernet0/0/0
12.1.1.0/24 OSPF 10 3 D 34.1.1.3 Ethernet0/0/0
22.1.1.1/32 OSPF 10 2 D 34.1.1.3 Ethernet0/0/0
23.1.1.0/24 OSPF 10 2 D 34.1.1.3 Ethernet0/0/0
33.1.0.1/32 OSPF 10 1 D 34.1.1.3 Ethernet0/0/0
33.1.1.1/32 OSPF 10 1 D 34.1.1.3 Ethernet0/0/0
33.1.2.1/32 OSPF 10 1 D 34.1.1.3 Ethernet0/0/0
33.1.3.1/32 OSPF 10 1 D 34.1.1.3 Ethernet0/0/0
//但是依然有很多区域间路由。
在 ABR 上配置完全次末节区域:
[R3-ospf-1-area-0.0.0.2]nssa no-summary
然后再到 R4 看结果,发现没有区域间的路由了,只有区域内的路由了。
[R4]display ip routing-table protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
0.0.0.0/0 OSPF 10 2 D 34.1.1.3 Ethernet0/0/0
33.1.0.1/32 OSPF 10 1 D 34.1.1.3 Ethernet0/0/0
33.1.1.1/32 OSPF 10 1 D 34.1.1.3 Ethernet0/0/0
33.1.2.1/32 OSPF 10 1 D 34.1.1.3 Ethernet0/0/0
33.1.3.1/32 OSPF 10 1 D 34.1.1.3 Ethernet0/0/0

配置区域间的路由过滤

实验步骤
在 R2 上过滤掉 R1 的环回口路由,让 R3 不能再学到。
先写 ACL 去拒绝掉不想要的路由,放过其它的所有。
[R2]acl number 2000 //配置基本标准的 ACL
[R2-acl-basic-2000]rule deny source 11.1.1.0 0.0.0.255 //拒绝掉不想要的路由
[R2-acl-basic-2000]rule permit
[R2]ospf 1
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]filter 2000 export
//应用到 area 1 的 out 方向。
再去查看 R3 的路由表:
[R3]display ip routing-table protocol ospf
12.1.1.0/24 OSPF 10 2 D 23.1.1.2 Ethernet0/0/0
22.1.1.1/32 OSPF 10 1 D 23.1.1.2 Ethernet0/0/0
44.1.0.0/22 O_NSSA 150 2 D 34.1.1.4 Ethernet0/0/1
44.1.1.1/32 OSPF 10 1 D 34.1.1.4 Ethernet0/0/1
//以上表示 R3 再也没有收到 11.1.1.0/24 那条路由了。
在 R1 上产生另一条路由,看是否会被拒绝:
[R1]interface LoopBack 1
[R1-LoopBack1]ip address 11.1.2.1 255.255.255.0
[R1-LoopBack1]ospf enable 1 area 1
[R3]display ip routing-table protocol ospf
11.1.2.1/32 OSPF 10 2 D 23.1.1.2 Ethernet0/0/0
12.1.1.0/24 OSPF 10 2 D 23.1.1.2 Ethernet0/0/0
22.1.1.1/32 OSPF 10 1 D 23.1.1.2 Ethernet0/0/0
44.1.0.0/22 O_NSSA 150 2 D 34.1.1.4 Ethernet0/0/1
44.1.1.1/32 OSPF 10 1 D 34.1.1.4 Ethernet0/0/1
//以上表示能够正常学到,刚做的过滤只过滤掉了指定的路由。

OSPF 故障排除

实验目的
 掌握 OSPF 中区域号码不匹配故障的排除方法
 掌握 OSPF 中掩码不匹配故障的排除方法
 掌握 OSPF 中 Hello 时间不匹配的故障排除方法
 掌握 OSPF 中 Router-id 冲突故障的排除方法
 掌握 OSPF 认证相关故障的排除方法

错误 1 :route-ID 一致的错误 。
在 R1 与 R2 之间模拟一些故障,以观察排除过程
在 R2 上修改 route-ID,和 R1 的一致:
[R2]ospf 1 router-id 11.1.1.1
Info: The configuration succeeded. You need to restart the OSPF process to validate the new router ID.
必须要重启 OSPF 的进程新的 route-ID 才能生效:
reset ospf process
Warning: The OSPF process will be reset. Continue? [Y/N]:y
到 R1 上查看邻居:
[R1]display ospf peer brief
//将看不到任何邻居,因为 route-ID 是一致的,
查看错误信息:
reset ospf counters //此命令是清楚以前显示的次数
display ospf error //此命令以查看 OSPF 的错误信息
General packet errors:
0 : IP: received my own packet 0 : Bad packet
0 : Bad version 0 : Bad checksum
0 : Bad area id 0 : Drop on unnumbered interface
0 : Bad virtual link 0 : Bad authentication type
0 : Bad authentication key 0 : Packet too small
0 : Packet size > ip length 0 : Transmit error
0 : Interface down 0 : Unknown neighbor
0 : Bad net segment 0 : Extern option mismatch
1 : Router id confusion
//以上红色部分指定的出错的原因是 router-ID 配置错误。错误的数字还会不停的涨大。
还可以使用 debug 命令来排除这个错误
[R1]info-center enable
terminal debugging
debugging ospf event
May 17 2013 19:17:03-08:00
R1 %%01OSPF/4/CONFLICT_ROUTERID_INTF(l)[0]:OSPF Router id conflict is detected on interface.
(ProcessId=1, RouterId=11.1.1.1, AreaId=0.0.0.1, InterfaceName=Ethernet0/0/0, IpAddr=12.1.1.1,
PacketSrcIp=12.1.1.2)
//以上信息的红色部分可以很清楚的表明出错的接口与邻居的 IP 地址。这样就能很快的排
除这个错误。
去 R2 修正这个错误:
[R2]ospf 1 router-id 22.1.1.1
reset ospf process
Warning: The OSPF process will be reset. Continue? [Y/N]:y
再到 R1 上查看邻居,发现邻居己经成功建立
[R1]display ospf peer brief
OSPF Process 1 with Router ID 11.1.1.1
Peer Statistic Information

Area Id Interface Neighbor id State
0.0.0.1 Ethernet0/0/0 22.1.1.1 Full

误 错误 2 :域 区域 ID 配置错误
在 R2 上去制造这个错误:
[R2]ospf 1
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]undo network 12.1.1.2 0.0.0.0
//先去掉 R2 正确的宣告。
然后再把连接 R1 的接口宣告到一个错误的区域 0 里面
[R2-ospf-1-area-0.0.0.1]quit
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 12.1.1.2 0.0.0.0
然后到 R1 查看邻居关系:
[R1]display ospf peer brief
//将看不到任何的邻居关系。
再去查看错误的信息:
[R1]display ospf error

General packet errors:
0 : IP: received my own packet 0 : Bad packet
0 : Bad version 0 : Bad checksum
9 : Bad area id 0 : Drop on unnumbered interface
0 : Bad virtual link 0 : Bad authentication type
0 : Bad authentication key 0 : Packet too small
0 : Packet size > ip length 0 : Transmit error
0 : Interface down 0 : Unknown neighbor
0 : Bad net segment 0 : Extern option mismatch
0 : Router id confusion
// 如红色部分所示,指出了错误为区域 ID。
去 R2 上恢复配置
[R2-ospf-1-area-0.0.0.0]undo network 12.1.1.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]quit
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]network 12.1.1.2 0.0.0.0
[R2-ospf-1-area-0.0.0.1]
误 错误 3 : 掩码配置错误。
依然是去 R2 上模拟这个错误,配置一个错误的掩码
[R2]interface Eth0/0/0
[R2-Ethernet0/0/0]ip address 12.1.1.2 255.255.255.128
到 R1 上去发现这个错误提醒信息
[R1]display ospf peer brief
[R1]display ospf error
General packet errors:
0 : IP: received my own packet 16 : Bad packet
0 : Bad version 0 : Bad checksum
0 : Bad area id 0 : Drop on unnumbered interface
0 : Bad virtual link 0 : Bad authentication type
0 : Bad authentication key 0 : Packet too small
0 : Packet size > ip length 0 : Transmit error

0 : Interface down 0 : Unknown neighbor
0 : Bad net segment 0 : Extern option mismatch
0 : Router id confusion
HELLO packet errors:
16 : Netmask mismatch 0 : Hello timer mismatch
0 : Dead timer mismatch 0 : Virtual neighbor unknown
0 : NBMA neighbor unknown 0 : Invalid Source Address
//红色部分指明了出错的位置,
通过 debug 信息可以看到更详细的信息:
[R1]info-center enable
debugging ospf packet hello
May 17 2013 19:39:20.750.2-08:00 R1 RM/6/RMDEBUG: Source Address: 12.1.1.2
May 17 2013 19:39:20.750.3-08:00 R1 RM/6/RMDEBUG: Destination Address: 224.0.0.5
May 17 2013 19:39:20.750.4-08:00 R1 RM/6/RMDEBUG: Ver# 2, Type: 1 (Hello)
May 17 2013 19:39:20.750.5-08:00 R1 RM/6/RMDEBUG: Length: 44, Router: 22.1.1.1
May 17 2013 19:39:20.750.6-08:00 R1 RM/6/RMDEBUG: Area: 0.0.0.1, Chksum: da18
May 17 2013 19:39:20.750.7-08:00 R1 RM/6/RMDEBUG: AuType: 00
May 17 2013 19:39:20.750.8-08:00 R1 RM/6/RMDEBUG: Key(ascii): 0 0 0 0 0 0 0 0
May 17 2013 19:39:20.750.9-08:00 R1 RM/6/RMDEBUG: Net Mask: 255.255.255.128
May 17 2013 19:39:20.750.10-08:00 R1 RM/6/RMDEBUG: Hello Int: 10, Option:
May 17 2013 19:39:20.750.11-08:00 R1 RM/6/RMDEBUG: Rtr Priority: 1, Dead Int: 40
May 17 2013 19:39:20.750.12-08:00 R1 RM/6/RMDEBUG: DR: 12.1.1.2
May 17 2013 19:39:20.750.13-08:00 R1 RM/6/RMDEBUG: BDR: 0.0.0.0
May 17 2013 19:39:20.750.14-08:00 R1 RM/6/RMDEBUG: # Attached Neighbors: 0
May 17 2013 19:39:20.750.15-08:00 R1 RM/6/RMDEBUG:
再去 R2 恢复这个错误。
[R2]interface Ethernet 0/0/0
[R2-Ethernet0/0/0]ip address 12.1.1.2 255.255.255.0
误 错误 4 :Hello 时间不一致
再去 R2 上修改 hello 时间:
[R2]interface Ethernet 0/0/0
[R2-Ethernet0/0/0]ospf
[R2-Ethernet0/0/0]ospf timer hello 5

去 R1 查看错误信息:
display ospf error
General packet errors:
0 : IP: received my own packet 54 : Bad packet
0 : Bad version 0 : Bad checksum
0 : Bad area id 0 : Drop on unnumbered interface
0 : Bad virtual link 0 : Bad authentication type
0 : Bad authentication key 0 : Packet too small
0 : Packet size > ip length 0 : Transmit error
0 : Interface down 0 : Unknown neighbor
0 : Bad net segment 0 : Extern option mismatch
0 : Router id confusion
HELLO packet errors:
49 : Netmask mismatch 5 : Hello timer mismatch
0 : Dead timer mismatch 0 : Virtual neighbor unknown
0 : NBMA neighbor unknown 0 : Invalid Source Address
//以上红色部分指示出错信息是 hello 时间不一致。
去 R2 上恢复正确配置:
[R2-Ethernet0/0/0]undo ospf timer hello
误 错误 5 : 认证错误。
在 R1 与 R2 之间做基于接口的认证,一边使用明文的,一边使用 MD5 的认证方法。
[R1]interface Ethernet 0/0/0
[R1-Ethernet0/0/0]ospf authentication-mode simple plain yeslab
[R2]interface Ethernet 0/0/0
[R2-Ethernet0/0/0]ospf authentication-mode md5 1 plain yeslab
到 R1 上查看错误信息:
[R1]display ospf error
General packet errors:

0 : IP: received my own packet 301 : Bad packet
0 : Bad version 0 : Bad checksum
0 : Bad area id 0 : Drop on unnumbered interface
0 : Bad virtual link 14 : Bad authentication type
0 : Bad authentication key 0 : Packet too small
0 : Packet size > ip length 0 : Transmit error
0 : Interface down 0 : Unknown neighbor
0 : Bad net segment 0 : Extern option mismatch
0 : Router id confusion
//如上红色部分所示,报一个认证类型的错误。
去 R1 上修改正确的认证类型:
[R1-Ethernet0/0/0]ospf authentication-mode md5 1 plain yeslab

OSPF 的虚链 路

实验步骤
如图所示配置好 IP 地址及 OSPF 的区域。
如图所示。Area 2 没有与 area 0 相连接。也就是说 area2 是没有 ABR。R3 虽然连接了AREA1,也连接了 AREA2。但是由于不是 ABR,并不会把区域间学到的路由引入到另一个区域。做实现验证:其中 R2 的环回口在 AREA0,R3 的环回口在 AREA1
[R1]ospf 1 router-id 11.1.1.1

[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 11.1.1.1 0.0.0.0
[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 12.1.1.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 22.1.1.1 0.0.0.0
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]network 23.1.1.2 0.0.0.0
[R3]ospf 1 router-id 33.1.1.1
[R3-ospf-1]area 1
[R3-ospf-1-area-0.0.0.1]network 23.1.1.3 0.0.0.0
[R3-ospf-1-area-0.0.0.1]network 33.1.1.1 0.0.0.0
[R3-ospf-1-area-0.0.0.1]quit
[R3-ospf-1]area 2
[R3-ospf-1-area-0.0.0.2]network 34.1.1.3 0.0.0.0
[R4]ospf 1 router-id 44.1.1.1
[R4-ospf-1]area 2
[R4-ospf-1-area-0.0.0.2]network 34.1.1.4 0.0.0.0
[R4-ospf-1-area-0.0.0.2]network 44.1.1.1 0.0.0.0
所有的接口都宣告到相关的区域后,去查看邻居关系:
[R2]display ospf peer brief
OSPF Process 1 with Router ID 22.1.1.1
Peer Statistic Information

Area Id Interface Neighbor id State
0.0.0.0 Ethernet0/0/0 11.1.1.1 Full
0.0.0.1 Ethernet0/0/1 33.1.1.1 Full

再到 R3 上查看:
[R3]display ospf peer brief
OSPF Process 1 with Router ID 33.1.1.1

Area Id Interface Neighbor id State
0.0.0.1 Ethernet0/0/0 22.1.1.1 Full
0.0.0.2 Ethernet0/0/1 44.1.1.1 Full

//以上输出表示所有的路由器邻居关系都己经正常起来了。
再分别到 R1 与 R4 上查看路由表:
[R1]display ip routing-table protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
22.1.1.1/32 OSPF 10 1 D 12.1.1.2 Ethernet0/0/0
23.1.1.0/24 OSPF 10 2 D 12.1.1.2 Ethernet0/0/0
33.1.1.1/32 OSPF 10 2 D 12.1.1.2 Ethernet0/0/0
//以上输出表示 R1 并没有学到 R4 的路由,
[R4]display ip routing-table protocol ospf
R4 上查看时将会看到 R4 学不到任何路由器的路由。
如上所述,由于 R3 不是 ABR,他不会把从 area2 学到的 R4 的路由告诉给 area1,
也不会把从 area1 学到的路由告诉 area2.
这路需要在 area1 的 R2 与 R3 之间建立一条虚链路。
在 R2 上:
[R2]ospf 1
[R2-ospf-1]area 1
[R2-ospf-1-area-0.0.0.1]vlink-peer 33.1.1.1
//注意,命令后指定的不是一个 IP 地址,而是对方路由器的 route-ID,所以,一个路由器
的 route-ID,不能随意的变动。
再到 R3 上:
[R3]ospf 1
[R3-ospf-1]area 1
[R3-ospf-1-area-0.0.0.1]vlink-peer 22.1.1.1
查看验证这条虚链路是否 UP:
[R2]display ospf vlink
OSPF Process 1 with Router ID 22.1.1.1
Virtual Links
Virtual-link Neighbor-id -> 33.1.1.1, Neighbor-State: Full
Interface: 23.1.1.2 (Ethernet0/0/1)
Cost: 1 State: P-2-P Type: Virtual
Transit Area: 0.0.0.1
Timers: Hello 10 , Dead 40 , Retransmit 5 , Transmit Delay 1
//以上表示这条虚链路己经建立成功了。
再去查看 R1 和 R4 的路由表:
[R1]display ip routing-table protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
22.1.1.1/32 OSPF 10 1 D 12.1.1.2 Ethernet0/0/0
23.1.1.0/24 OSPF 10 2 D 12.1.1.2 Ethernet0/0/0
33.1.1.1/32 OSPF 10 2 D 12.1.1.2 Ethernet0/0/0
34.1.1.0/24 OSPF 10 3 D 12.1.1.2 Ethernet0/0/0
44.1.1.1/32 OSPF 10 3 D 12.1.1.2 Ethernet0/0/0
再到 R4 上:
[R4]display ip routing-table protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
11.1.1.1/32 OSPF 10 3 D 34.1.1.3 Ethernet0/0/0
12.1.1.0/24 OSPF 10 3 D 34.1.1.3 Ethernet0/0/0
22.1.1.1/32 OSPF 10 2 D 34.1.1.3 Ethernet0/0/0
23.1.1.0/24 OSPF 10 2 D 34.1.1.3 Ethernet0/0/0
33.1.1.1/32 OSPF 10 1 D 34.1.1.3 Ethernet0/0/0
再到 R4 查看 LSDB:
[R4]display ospf lsdb
Type LinkState ID AdvRouter Age Len Sequence Metric
Router 44.1.1.1 44.1.1.1 1642 48 80000005 1
Router 33.1.1.1 33.1.1.1 118 36 80000006 1
Network 34.1.1.4 44.1.1.1 1642 32 80000003 0
Sum-Net 12.1.1.0 33.1.1.1 118 28 80000001 2
Sum-Net 23.1.1.0 33.1.1.1 118 28 80000001 1
Sum-Net 11.1.1.1 33.1.1.1 118 28 80000001 2
Sum-Net 22.1.1.1 33.1.1.1 118 28 80000001 1
Sum-Net 33.1.1.1 33.1.1.1 118 28 80000001 0
//以上表示 R3 做为区域 2 的 ABR,把所有区域间的路由通告给了 R4.
在不连续的区域 0 的时候,也会出现同样的问题,同样需要虚链路来解决,这里就不再演
示了,同学们自己去设计验证。
虚链路 的排障
还需要注意的一点是,虚链路也是属于区域 0 的,如果做了区域 0 的认证,需要在起虚链
路的路由器上也基于区域 0 做认证。
在 R1 与 R2 上做基于区域 0 的认证:
[R1]ospf 1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]authentication-mode md5 1 plain yeslab
[R2]ospf 1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]authentication-mode md5 1 plain yeslab
做完后,在 R3 上不做区域 0 的认证,在 R3 上查看这条虚链路:
[R3]display ospf vlink
OSPF Process 1 with Router ID 33.1.1.1
Virtual Links
Virtual-link Neighbor-id -> 22.1.1.1, Neighbor-State: Down
Interface: 23.1.1.3 (Ethernet0/0/0)
Cost: 1 State: P-2-P Type: Virtual
Transit Area: 0.0.0.1
Timers: Hello 10 , Dead 40 , Retransmit 5 , Transmit Delay 1
//以上显示这条虚链路是 down 掉的。
用上面学过的命令去查看错误点:
[R3]display ospf error

OSPF Process 1 with Router ID 33.1.1.1
OSPF error statistics
General packet errors:
0 : IP: received my own packet 15 : Bad packet
0 : Bad version 0 : Bad checksum
0 : Bad area id 0 : Drop on unnumbered interface
0 : Bad virtual link 15 : Bad authentication type
0 : Bad authentication key 0 : Packet too small
0 : Packet size > ip length 0 : Transmit error
0 : Interface down 0 : Unknown neighbor
0 : Bad net segment 0 : Extern option mismatch
//以上输出表示认证类型出错.
到 R3 上去做基于区域的认证:
[R3]ospf 1
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]authentication-mode md5 1 plain yeslab
再去查看虚链路是否起来:
[R3]display ospf v
[R3]display ospf vlink
OSPF Process 1 with Router ID 33.1.1.1
Virtual Links
Virtual-link Neighbor-id -> 22.1.1.1, Neighbor-State: Full
Interface: 23.1.1.3 (Ethernet0/0/0)
Cost: 1 State: P-2-P Type: Virtual
Transit Area: 0.0.0.1
Timers: Hello 10 , Dead 40 , Retransmit 5 , Transmit Delay 1
//认证通过后,虚链路再次起来了。

在 在 FR 环境中配置 OSPF

掌握在 NBMA 网络中手工配置 OSPF 邻居的方法
 掌握在 NBMA 网络中配置 OSPF 的特点
 掌握在 FR 中设置 P2MP 型网络类型
 掌握在 FR 中建立子接口设置 P2P 型网络类型

华为实验之OSPF协议
实验步骤
用模拟器里的帧中继交换机配置如图所示的 DLCI 号对应关系。
在 DTE 端,也就是 R1,R2,R3 上做如下配置:
[R1]interface Serial 0/0/0
[R1-Serial0/0/0]link-protocol fr ietf //在接口封装帧中继
Warning: The encapsulation protocol of the link will be changed.
Continue? [Y/N]:y
[R1-Serial0/0/0]undo fr inarp //关闭反向的 ARP
[R1-Serial0/0/0]ip add 123.1.1.1 255.255.255.0
[R1-Serial0/0/0]fr map ip 123.1.1.2 102 broadcast //手动配置映射
[R1-Serial0/0/0]fr map ip 123.1.1.3 103 broadcast
[R1-Serial0/0/0]undo shutdown
[R2]interface Serial 0/0/0
[R2-Serial0/0/0]link-protocol fr ietf
[R2-Serial0/0/0]undo fr inarp
[R2-Serial0/0/0]ip add 123.1.1.2 255.255.255.0
[R2-Serial0/0/0]fr map ip 123.1.1.1 201 broadcast
[R3]interface Serial 0/0/0
[R3-Serial0/0/0]link-protocol fr ietf
[R3-Serial0/0/0]undo fr inarp
[R3-Serial0/0/0]ip add 123.1.1.3 255.255.255.0
[R3-Serial0/0/0]fr map ip 123.1.1.1 301 broadcast
配置后验证直连是否正常通信:
[R1-Serial0/0/0]ping 123.1.1.3
PING 123.1.1.3: 56 data bytes, press CTRL_C to break
Reply from 123.1.1.3: bytes=56 Sequence=1 ttl=255 time=20 ms
Reply from 123.1.1.3: bytes=56 Sequence=2 ttl=255 time=10 ms
Reply from 123.1.1.3: bytes=56 Sequence=3 ttl=255 time=50 ms
Reply from 123.1.1.3: bytes=56 Sequence=4 ttl=255 time=20 ms
Reply from 123.1.1.3: bytes=56 Sequence=5 ttl=255 time=30 ms
[R1-Serial0/0/0]ping 123.1.1.2
PING 123.1.1.2: 56 data bytes, press CTRL_C to break
Reply from 123.1.1.2: bytes=56 Sequence=1 ttl=255 time=60 ms
Reply from 123.1.1.2: bytes=56 Sequence=2 ttl=255 time=30 ms
Reply from 123.1.1.2: bytes=56 Sequence=3 ttl=255 time=60 ms
Reply from 123.1.1.2: bytes=56 Sequence=4 ttl=255 time=20 ms
Reply from 123.1.1.2: bytes=56 Sequence=5 ttl=255 time=40 ms
分别查看帧中继映射表项:
[R1]display fr map-info
Map Statistics for interface Serial0/0/0 (DTE)
DLCI = 102, IP 123.1.1.2, Serial0/0/0
create time = 2013/05/20 19:52:16, status = ACTIVE
encapsulation = ietf, vlink = 1, broadcast

DLCI = 103, IP 123.1.1.3, Serial0/0/0
create time = 2013/05/20 19:52:21, status = ACTIVE
encapsulation = ietf, vlink = 2, broadcast
[R2]display fr map-info
Map Statistics for interface Serial0/0/0 (DTE)
DLCI = 201, IP 123.1.1.1, Serial0/0/0
create time = 2013/05/20 19:53:24, status = ACTIVE
encapsulation = ietf, vlink = 1, broadcast
[R3]display fr map-info
Map Statistics for interface Serial0/0/0 (DTE)
DLCI = 301, IP 123.1.1.1, Serial0/0/0
create time = 2013/05/20 19:54:07, status = ACTIVE
encapsulation = ietf, vlink = 1, broadcast
接着配置 OSPF:
[R1]ospf 1 router-id 11.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 11.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 123.1.1.1 0.0.0.0
[R2]ospf 1 router-id 22.1.1.1
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 22.1.1.1 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 123.1.1.2 0.0.0.0
[R3]ospf 1 router-id 33.1.1.1
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 33.1.1.1 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 123.1.1.3 0.0.0.0
去查看接口的 OSPF 网络类型:
[R2]display ospf interface Serial 0/0/0
OSPF Process 1 with Router ID 22.1.1.1
Interfaces
Interface: 123.1.1.2 (Serial0/0/0)
Cost: 1562 State: DROther Type: NBMA MTU: 1500
Priority: 0
Designated Router: 123.1.1.1

Backup Designated Router: 0.0.0.0
Timers: Hello 30 , Dead 120 , Poll 120 , Retransmit 5 , Transmit Delay 1
由于默认的网络类型是 NBMA,所以需要手动指邻居,并且必须二边都指才可以:
[R1]ospf 1
[R1-ospf-1]peer 123.1.1.2
[R1-ospf-1]peer 123.1.1.3
[R2-ospf-1]peer 123.1.1.1
[R3-ospf-1]peer 123.1.1.1
查看邻居表的时候将看到 NBMA 所特有的一种状态:
[R1]display ospf peer brief

Area Id Interface Neighbor id State
0.0.0.0 Serial0/0/0 0.0.0.0 Attempt
0.0.0.0 Serial0/0/0 0.0.0.0 Attempt
在 CISCO 的实验手册及课程中都着重讲过,在 NBMA 的网络中,必须控制 DR 在 hub 点
上,所以我们修改 R2,R3 的优先集为 0
[R2]interface Serial 0/0/0
[R2-Serial0/0/0]ospf dr-priority 0
[R3]interface Serial 0/0/0
[R3-Serial0/0/0]ospf dr-priority 0
再去查看 R1 的邻居表:
[R1]display ospf peer brief
OSPF Process 1 with Router ID 11.1.1.1
Peer Statistic Information

Area Id Interface Neighbor id State
0.0.0.0 Serial0/0/0 22.1.1.1 Full
0.0.0.0 Serial0/0/0 33.1.1.1 Full
//以上表示邻居都正常起来了
再分别去查看路由表:
[R1]display ip routing-table protocol ospf

Destination/Mask Proto Pre Cost Flags NextHop Interface
22.1.1.1/32 OSPF 10 1562 D 123.1.1.2 Serial0/0/0
33.1.1.1/32 OSPF 10 1562 D 123.1.1.3 Serial0/0/0
[R2]display ip routing protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
11.1.1.1/32 OSPF 10 1562 D 123.1.1.1 Serial0/0/0
33.1.1.1/32 OSPF 10 1562 D 123.1.1.3 Serial0/0/0
[R3]display ip routing protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
11.1.1.1/32 OSPF 10 1562 D 123.1.1.1 Serial0/0/0
22.1.1.1/32 OSPF 10 1562 D 123.1.1.2 Serial0/0/0
路由都正常学到了。再去 R2 上去 pingR3:
[R2]ping -a 22.1.1.1 33.1.1.1
PING 33.1.1.1: 56 data bytes, press CTRL_C to break
Request time out
Request time out
Request time out
Request time out
Request time out
//结果是有路由,但是不通,原因很简单,没有二层的映射关系,分别到 R2 与 R3 上去
做二层的映射关系:
[R2-Serial0/0/0]fr map ip 123.1.1.3 201 broadcast
[R3-Serial0/0/0]fr map ip 123.1.1.2 301 broadcast
再测试:
[R2]ping -a 22.1.1.1 33.1.1.1
PING 33.1.1.1: 56 data bytes, press CTRL_C to break
Reply from 33.1.1.1: bytes=56 Sequence=1 ttl=254 time=100 ms

OSPF 的网络类型为点到多点:

分别到 R1,R2,R3 上修改接口的 OSPF 网络类型:
[R1]interface Serial 0/0/0
[R1-Serial0/0/0]ospf network-type p2mp
[R2]interface Serial 0/0/0
[R2-Serial0/0/0]ospf network-type p2mp
[R3]interface Serial 0/0/0
[R3-Serial0/0/0]ospf network-type p2mp
再去查看邻居表:
[R1]display ospf peer
OSPF Process 1 with Router ID 11.1.1.1
Neighbors
Area 0.0.0.0 interface 123.1.1.1(Serial0/0/0)'s neighbors
Router ID: 22.1.1.1 Address: 123.1.1.2
State: Full Mode:Nbr is Master Priority: 0
DR: None BDR: None MTU: 0
Dead timer due in 112 sec
Retrans timer interval: 5
Neighbor is up for 00:00:19
Authentication Sequence: [ 0 ]
//以上表示没有了 DR/BDR 的选举
再去查看接口的 OSPF 网络类型:
[R2]display ospf interface s
[R2]display ospf interface Serial 0/0/0
OSPF Process 1 with Router ID 22.1.1.1
Interfaces
Interface: 123.1.1.2 (Serial0/0/0)
Cost: 1562 State: P-2-P Type: P2MP MTU: 1500
Timers: Hello 30 , Dead 120 , Poll 120 , Retransmit 5 , Transmit Delay 1
//以上表示网络类型变成了点到多点。
用以上的命令可以修改 OSPF 的各种网络类型,这里不再一一演示。明白网络类型的意义,自己多修改 OSPF 的网络类型。

点到点的子接口运行 OSPF

先在 R1 上配置点到点的子接口及 IP 地址。
[R1]interface LoopBack 0
[R2-LoopBack0]ip add 11.1.1.1 255.255.255.0
[R1]interface Serial 0/0/0
[R1-Serial0/0/0]link-protocol fr //首先在主接口封装帧中继
[R1-Serial0/0/0]undo shutdown
[R1]interface Serial 0/0/0.12 p2p // 起一个点到点的子接口。
[R1-Serial0/0/0.12]ip address 12.1.1.1 255.255.255.0

[R1-Serial0/0/0.12]undo shutdown
[R1-Serial0/0/0.12]fr dlci 102 // 给这个接口一个 DLCI 号
[R1]interface Serial 0/0/0.13 p2p
[R1-Serial0/0/0.13]ip address 13.1.1.1 255.255.255.0
[R1-Serial0/0/0.13]undo shutdown
[R1-Serial0/0/0.13]fr dlci 103
在 R2 上:
[R2]interface Serial 0/0/0
[R2-Serial0/0/0]link-protocol fr
[R2]interface Serial 0/0/0.12 p2p
[R2-Serial0/0/0.12]ip address 12.1.1.2 255.255.255.0
[R2-Serial0/0/0.12]undo shutdown
[R2-Serial0/0/0.12]fr dlci 201
[R2]interface LoopBack 0
[R2-LoopBack0]ip add 22.1.1.1 255.255.255.0
在 R3 上:
[R3]interface Serial 0/0/0
[R3-Serial0/0/0]link-protocol fr
[R3]interface Serial 0/0/0.13 p2p
[R3-Serial0/0/0.13]ip address 13.1.1.3 255.255.255.0
[R3-Serial0/0/0.13]undo shutdown
[R3-Serial0/0/0.13]fr dlci 301
[R3]interface LoopBack 0
[R3-LoopBack0]ip address 33.1.1.1 255.255.255.0
帧中继的配置 OK 后,先测试一下直连是否能通,直连通了以后,再配置以下的 OSPF:
[R1]ospf 1 router-id 11.1.1.1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 11.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.0
[R1-ospf-1-area-0.0.0.0]network 13.1.1.1 0.0.0.0
[R2]ospf 1 router-id 22.1.1.1
[R2-ospf-1]area 0

[R2-ospf-1-area-0.0.0.0]network 12.1.1.2 0.0.0.0
[R2-ospf-1-area-0.0.0.0]network 22.1.1.1 0.0.0.0
[R3]ospf 1 router-id 33.1.1.1
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 13.1.1.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 33.1.1.1 0.0.0.0
配置好以后去查看 OSPF 的邻居关系,发现并没有起邻居。查看接口的网络类型发现,依
然是 NBMA,所以需要修改 OSPF 的网络类型为点到点。
[R1]display ospf interface Serial 0/0/0.12
OSPF Process 1 with Router ID 11.1.1.1
Interfaces
Interface: 12.1.1.1 (Serial0/0/0.12)
Cost: 1562 State: Waiting Type: NBMA MTU: 1500
Priority: 1
Designated Router: 0.0.0.0
Backup Designated Router: 0.0.0.0
Timers: Hello 30 , Dead 120 , Poll 120 , Retransmit 5 , Transmit Delay 1
分别去 R1,R2,R3 上修改 OSPF 的网络类型:
[R1]interface Serial 0/0/0.12
[R1-Serial0/0/0.12]ospf network-type p2p
[R1]interface Serial 0/0/0.13
[R1-Serial0/0/0.13]ospf network-type p2p
[R2]interface Serial 0/0/0.12
[R2-Serial0/0/0.12]ospf network-type p2p
[R3]interface Serial 0/0/0.13
[R3-Serial0/0/0.13]ospf network-type p2p
修改好后再去 R1 上查看邻居和路由表,发现一切都 OK 了。
[R1]display ip routing-table protocol ospf
Route Flags: R - relay, D - download to fib
Destination/Mask Proto Pre Cost Flags NextHop Interface

22.1.1.1/32 OSPF 10 1562 D 12.1.1.2 Serial0/0/0.12
33.1.1.1/32 OSPF 10 1562 D 13.1.1.3 Serial0/0/0.13