
R1的配置如下:
[R1] interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0] ip address 10.1.123.1 27
[R1] ospf 1 router-id 1.1.1.1
[R1-ospf-1] area 0
[R1-ospf-1-area-0.0.0.0] network 10.1.123.0 0.0.0.31 R2的配置如下:
R3的配置如下:
R4的配置如下:
由于R1、R2、R3三台路由器都连接到了同一个交换机上,而且三台路由器的接口都处于同一 个IP子网:10.1.123.0/27,那么在这个广播多路访问网络中就会进行DR/BDR的选举。DR优 先级最高的路由器接口将成为DR,如果大家的优先级都相等,则拥有最大RouterID的路由器 (的接口)将成为DR。
DR和BDR一旦选举成功,非DR、非BDR路由器(也就是DRother)都只和DR以及BDR建立 全毗邻的OSPF邻居关系,而DRother之间则维持在2way状态,不会建立FULL全毗邻的邻居 关系。因此这个需求实际上是要求实现R1的GE0/0/0口为DR,R2、R3均为DRother,那么实 现这个需求非常简单,就是把R1的GE0/0/0口DR优先级设置为最大,也就是255,而R2、R3 的GE0/0/0口的DR优先级则配置为0,当接口DR优先级被配置为0时,该接口将不会参与DR、 BDR的选举。
R1的配置如下:
[R1] interface GigabitEthernet 0/0/0
[R1-GigabitEthernet0/0/0] ospf dr-priority 255R2的配置如下:
[R2] interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0]ospf dr-priority 0 R23的配置如下:
[R3] interface GigabitEthernet 0/0/0
[R3-GigabitEthernet0/0/0]ospf dr-priority 0 完成配置后,验证一些各设备的OSPF邻居表项:
R1的GE0/0/0口作为DR,与R2、R3都建立了OSPF全毗邻(FULL)的邻居关系。
R2与R3之间的邻居状态停滞在2way。
R1的配置如下:
route-policy directint命令用于创建一个route-policy路由策略,并且抓取GE0/0/1接口的直连路 由。然后在OSPF的import-route direct命令中调用这条route-policy,意思是在R1上部署直连 到OSPF的路由重发布时,只将route-policy directint所匹配的GE0/0/1接口的直连路由注入。
完成配置后,查看一下R2的路由表:
R2已经学习到了1.0.0.0/8这条外部路由,并且在路由表中,该路由的Cost为20。
首先看一下在当前的网络中,R4去往这两个网络的路由:
我们发现R4的路由表中,1.0.0.0/8这条外部路由的下一跳是10.1.34.3,实际上R4要到达 1.0.0.0/8网络可以通过R2及R3这两条路径均可达,而且这两条路径的内部开销是相等的,那 么为什么R4的路由表中1.0.0.0/8的路由没有在R2和R3这两个下一跳上执行等价负载分担呢? RFC2328规定,当两条到达同一个ASBR的路径内部cost相等时,优选areaID大的路由,由于 area2比area1的区域ID要大,因此最终优选R3最为去往1.0.0.0/8这个外部网络的下一跳。而 R4去往10.1.123.0/27网络时收到了R2及R3发来的3类LSA,而且cost相等,因此在这两个下 一跳等价负载分担。
现在我们在R4上修改接口Cost,把GE0/0/1的接口cost改大。
R4的配置修改如下:
[R4]interface GigabitEthernet 0/0/1
[R4-GigabitEthernet0/0/1] ospf cost 100 如何取消上一步所做的配置这里就不在赘述了。现在我假设配置已经取消,我们直接来分析分 析这个需求:不允许修改Cost,又希望R4访问R1的GE0/0/0时流量走R2上行,为了实现这个 需求,我们可以利用路由查寻的“最长匹配原则”,所谓最长匹配原则,指的是当某个目的地 址在路由表中有多条路由能匹配时,选择匹配长度(路由前缀长度)最长的路由进行转发。因 此我们实现需求的思路是,在R3上,将area0内的路由执行路由汇总,将10.1.123.0/27汇总成 10.1.123.0/24再传递到area2。
R3的配置修改如下:
[R3] ospf 1
[R3-ospf-1] area 0
[R3-ospf-1-area-0.0.0.0] abr-summary 10.1.123.0 255.255.255.0 完成配置修改后,查看一下R4的路由表:
如此一来R4的路由表中关于A网络就会出现两条路由:10.1.123.0/24(下一跳为R3)及 10.1.123.0/27(下一跳为R2)。当R4访问10.1.123.1时,经过路由的查找,发现者两条路由 均匹配,但是显然10.1.123.0/27这条路由的掩码长度要更长,因此选择这条路由进行转发,将 数据包送往下一跳路由器R2。
R1的配置如下:
[R1] ospf 1
[R1-ospf-1] area 0
[R1-ospf-1-area-0.0.0.0] authentication-mode md5 1 cipher Huawei123 R2的配置如下:
[R2] ospf 1
[R2-ospf-1] area 0
[R2-ospf-1-area-0.0.0.0] authentication-mode md5 1 cipher Huawei123 R3的配置如下:
[R3] ospf 1
[R3-ospf-1] area 0
[R3-ospf-1-area-0.0.0.0] authentication-mode md5 1 cipher Huawei123 
R2的配置修改如下:
[R2] ospf 1
[R2-ospf-1] area 1
[R2-ospf-1-area-0.0.0.1] undo network 10.1.24.0 0.0.0.255
[R2-ospf-1] area 0
[R2-ospf-1-area-0.0.0.0] network 10.1.24.0 0.0.0.255 R4的配置修改如下:
[R4] ospf 1
[R4-ospf-1] area 1
[R4-ospf-1-area-0.0.0.1] undo network 10.1.24.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0] network 10.1.24.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0] authentication-mode md5 1 cipher Huawei123注意,由于前面的需求中要求area0部署区域认证,因此R4加入到area0后,需一并开启区域 认证。完成上述配置后我们先看看R4的路由表:
我们发现R4的路由表中去往A网络的路由下一跳为R2。即使我们将R4的GE0/0/0接口的ospf cost调成非常大,也于事无补,R4仍然优选R2作为去往A网络的下一跳,而不考虑R3。这是 因为R4的GE0/0/0接口加入到area0后,它就变成了一台ABR,OSPF规定ABR在使用3类LSA
计算路由时,只认可从area0接收的3类LSA,不认可从非area0接收的3类LSA,因此当R3向 area2泛洪3类LSA时,R4并不能够使用这些LSA用于计算路由,再加上此刻R4是通过1、2类 LSA计算得出A网络的路由,要优于3类LSA,因此不管Cost如何,R4将始终优选R2作为去往 A网络的下一跳。
要实现这个需求,我们就必须在R3和R4之间搭建一条跨越area2的虚链路,如此一来R3就能 够通过这条虚链路将1、2类LSA泛洪给R4,从而使需求实现成为可能。
R3的配置修改如下:
[R3] ospf 1
[R3-ospf-1] area 2
[R3-ospf-1-area-0.0.0.2] vlink-peer 4.4.4.4 [R4] ospf 1
[R4-ospf-1] area 2
[R4-ospf-1-area-0.0.0.2] vlink-peer 3.3.3.3 完成配置后,查看一下R4的OSPF虚链路状态:

R3、R4之间的虚链路已经建立起来了。接下去看一下R4的路由表:
此时,R4的路由表中,去往A网络的路由在R2及R3上等价负载均衡。现在我们只需要将R4的 GE0/0/0接口Cost调大即可实现需求:
[R4] interface GigabitEthernet 0/0/0
[R4-GigabitEthernet0/0/0] ospf cost 100 现在,我们再查看一下R4的路由表:
[R2] interface GigabitEthernet 0/0/0
[R2-GigabitEthernet0/0/0] ip address 10.1.123.2 27
[R2] interface GigabitEthernet 0/0/1
[R2-GigabitEthernet0/0/1] ip address 10.1.24.2 24
[R2] ospf 1 router-id 2.2.2.2
[R2-ospf-1] area 0
[R2-ospf-1-area-0.0.0.0] network 10.1.123.0 0.0.0.31
[R2-ospf-1] area 1
[R2-ospf-1-area-0.0.0.1] network 10.1.24.0 0.0.0.255[R3] interface GigabitEthernet 0/0/0
[R3-GigabitEthernet0/0/0] ip address 10.1.123.3 27
[R3] interface GigabitEthernet 0/0/1
[R3-GigabitEthernet0/0/1] ip address 10.1.34.3 24
[R3] ospf 1 router-id 3.3.3.3
[R3-ospf-1] area 0
[R3-ospf-1-area-0.0.0.0] network 10.1.123.0 0.0.0.31
[R3-ospf-1] area 2
[R3-ospf-1-area-0.0.0.2] network 10.1.34.0 0.0.0.255 [R4] interface GigabitEthernet 0/0/0
[R4-GigabitEthernet0/0/0] ip address 10.1.24.4 24
[R4] interface GigabitEthernet 0/0/1
[R4-GigabitEthernet0/0/1] ip address 10.1.34.4 24
[R4] ospf 1 router-id 4.4.4.4
[R4-ospf-1] area 1
[R4-ospf-1-area-0.0.0.1] network 10.1.24.0 0.0.0.255
[R4-ospf-1] area 2
[R4-ospf-1-area-0.0.0.2] network 10.1.34.0 0.0.0.255 [R1] display ospf peer brief
OSPF Process 1 with Router ID 1.1.1.1
Peer Statistic Information
Area Id Interface Neighbor id State
0.0.0.0 GigabitEthernet0/0/0 2.2.2.2 Full
0.0.0.0 GigabitEthernet0/0/0 3.3.3.3 Full [R2] display ospf peer brief
OSPF Process 1 with Router ID 2.2.2.2
Peer Statistic Information
----------------------------------------------------------------------------
Area Id Interface Neighbor id State
0.0.0.0 GigabitEthernet0/0/0 1.1.1.1 Full
0.0.0.0 GigabitEthernet0/0/0 3.3.3.3 2-Way
0.0.0.1 GigabitEthernet0/0/1 4.4.4.4 Full [R1] Interface GigabitEthernet 0/0/1
[R1-GigabitEthernet0/0/1] ip address 1.1.1.254 24
[R1] route-policy directint permit node 10
[R1-route-policy] if-match interface GigabitEthernet 0/0/1
[R1] ospf 1
[R1-ospf-1] import-route direct route-policy directint
[R1-ospf-1] asbr-summary 1.0.0.0 255.0.0.0 cost 20 [R2] display ip routing-table protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.0.0.0/8 O_ASE 150 20 D 10.1.123.1 GigabitEthernet0/0/0
10.1.34.0/24 OSPF 10 2 D 10.1.123.3 GigabitEthernet0/0/0 [R4] display ip routing-table protocol ospf
Destination/Mask
Proto Pre Cost Flags NextHop Interface
1.0.0.0/8 O_ASE 150 20 D 10.1.34.3 GigabitEthernet0/0/1
10.1.123.0/27 OSPF 10 2 D 10.1.24.2 GigabitEthernet0/0/0
OSPF 10 2 D 10.1.34.3 GigabitEthernet0/0/1[R4] display ospf interface GigabitEthernet 0/0/1
OSPF Process 1 with Router ID 4.4.4.4
Interfaces
Interface: 10.1.34.4 (GigabitEthernet0/0/1)
Cost: 100
State: BDR
Type: Broadcast
MTU: 1500
Priority: 1
Designated Router: 10.1.34.3
Backup Designated Router: 10.1.34.4
Timers: Hello 10 , Dead 40 , Poll 120 , Retransmit 5 , Transmit Delay 1 [R4]display ip routing-table protocol ospf
Destination/Mask Proto
Pre Cost Flags NextHop Interface
1.0.0.0/8 O_ASE 150 20 D 10.1.24.2 GigabitEthernet0/0/0
10.1.123.0/27 OSPF 10 2 D 10.1.24.2 GigabitEthernet0/0/0 [R4] display ip routing-table protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
1.0.0.0/8 O_ASE 150 20 D 10.1.34.3 GigabitEthernet0/0/1
10.1.123.0/24 OSPF 10 2 D 10.1.34.3 GigabitEthernet0/0/1
10.1.123.0/27 OSPF 10 2 D 10.1.34.2 GigabitEthernet0/0/0[R4] display ip routing-table protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.1.123.0/27 OSPF 10 2 D 10.1.24.2 GigabitEthernet0/0/0[R4] display ospf vlink
OSPF Process 1 with Router ID 4.4.4.4
Virtual Links
Virtual-link Neighbor-id -> 3.3.3.3, Neighbor-State: Full
Interface: 10.1.34.4 (GigabitEthernet0/0/1)
Cost: 1 State: P-2-P Type: Virtual
Transit Area: 0.0.0.2
Timers: Hello 10 , Dead 40 , Retransmit 5 , Transmit Delay 1
GR State: Normal [R4]display ip routing-table protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.1.123.0/27 OSPF 10 2 D 10.1.24.2 GigabitEthernet0/0/0
OSPF 10 2 D 10.1.34.3 GigabitEthernet0/0/1 [R4]display ip routing-table protocol ospf
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.1.123.0/27 OSPF 10 2 D 10.1.34.3 GigabitEthernet0/0/1