华为设备OSPF路由的配置


文章来自 辣鸡熊个人博客:https://eeeje.com 欢迎访问,获得更好阅读体验

本文链接: https://eeeje.com/2019/11/03/OSPF/

版权声明: 本博客所有文章除特别声明外,均采用 CC BY 4.0 CN协议 许可协议。转载请注明出处!


title: 华为设备OSPF路由的配置
categories: 学习
date: 2019-11-3 01:44:10
tags: 路由交换
toc: true


实验中有很多个人的理解,因为基础较差,难免会有一些错误的地方,如果您有建议或理解,欢迎在文章下方留言😁

OSPF

Open Shortest Path First翻译过来是开放式最短路径优先

华为设备中OSPF的优先级是 10 仅低于直连路由

OSPF单区域配置

实验设备

HUAWEI AR2220 PC

实验拓扑&规划

我并没有使用实验指导中提供的IP规划

实验目的

通过配置单个OSPF区域的配置,使PC1、PC2、PC2所在网络互通

实验过程

  1. 为各接口以及PC配置IP,并确保每一对接口之间连通。

  2. 为路由器配置OSPF

[R1]ospf 1     //1为进程号

进入骨干区域

[R1-ospf-1]area 0

接下来就可以来指定运行OSPF协议的接口和接口所属的区域

[R1-ospf-1-area-0.0.0.0]network 172.10.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 10.0.0.0 0.0.0.3
[R1-ospf-1-area-0.0.0.0]network 10.0.0.4 0.0.0.3

Q:这里的命令我不太理解
猜测后面的应该为255减去原来的掩码位(数通基础不好)

  1. 检查通告情况,命令:display ospf interface
  OSPF Process 1 with Router ID 172.10.1.254
	    Interfaces 

Area: 0.0.0.0     (MPLS TE not enabled)
IP Address    Type      tate  Cost Pri      DR           BDR 
172.10.1.254  Broadcast  DR    1    1  172.10.1.254    0.0.0.0
10.0.0.2      Broadcast  DR    1    1    10.0.0.2      0.0.0.0
10.0.0.6      Broadcast  DR    1    1    10.0.0.6      0.0.0.0

这里可以看到area域为0.0.0.0,RoutID为172.10.1.254 ,另外可以看待通告出去三个接口的类型为广播,接口状态为DR,即都是所在网络中的指定路由器。
拓展:DR :一个广播性、多接入网络中的指定路由器,个人理解为一个网络中的“管事的”
Q:为什么会选这个ip做为RoutID?

  1. 配置R2 R3

    [R2]ospf 1
    [R2-ospf-1]area 0
    [R2-ospf-1-area-0.0.0.0]network 10.0.0.1 0.0.0.3
    [R2-ospf-1-area-0.0.0.0]network 10.0.0.9 0.0.0.3
    [R2-ospf-1-area-0.0.0.0]network 172.10.2.254 0.0.0.255
    
    [R3]ospf 1
    [R3-ospf-1]area 0
    [R3-ospf-1-area-0.0.0.0]network 10.0.0.5 0.0.0.3
    [R3-ospf-1-area-0.0.0.0]network 10.0.0.10 0.0.0.3
    [R3-ospf-1-area-0.0.0.0]network 172.10.3.1 0.0.0.255
    

这里我配置完以后发现,命令敲错了,network 后面的直接输了接口地址,但是我去查通告情况,看起来是正常的,我觉得,后面的那个字段和掩码有关,掩码是用来定义网络的,所以说我输入的32位的地址被定义为了当前ip所在的网络,暂且不去管他。

  1. 检查OSPF邻居display ospf peer
	 OSPF Process 1 with Router ID 172.10.1.254
		 Neighbors

  Area 0.0.0.0 interface 10.0.0.2(GigabitEthernet0/0/0)'s neighbors
  Router ID: 172.10.2.254     Address: 10.0.0.1        
    State: Full  Mode:Nbr is  Master  Priority: 1
    DR: 10.0.0.2  BDR: 10.0.0.1  MTU: 0    
    Dead timer due in 39  sec 
    Retrans timer interval: 5 
    Neighbor is up for 00:35:24     
    Authentication Sequence: [ 0 ] 

     	 Neighbors 

  Area 0.0.0.0 interface 10.0.0.6(GigabitEthernet0/0/2)'s neighbors
  Router ID: 10.0.0.10        Address: 10.0.0.5        
    State: Full  Mode:Nbr is  Slave  Priority: 1
    DR: 10.0.0.6  BDR: 10.0.0.5  MTU: 0    
    Dead timer due in 29  sec 
    Retrans timer interval: 5 
    Neighbor is up for 00:28:32     
    Authentication Sequence: [ 0 ] 

这里看到了两个OSPF邻居RoutID分别为:172.10.1.254,10.0.0.10(这个RoutID用了路由之间的接口ID)

猜测:RoutID的原则是不重复,所以说是不是随便指定一个ip做为RoutID
实验:我新开了一台路由器去尝试,发现 RoutID的选择是根据第一个配置的接口ip进行选择的。我回头去看R3的数据,我第一个配置的接口Ip的确是1.0.0.10/30

  • 现在再去查通告情况,看一下前面看不懂的BR
 OSPF Process 1 with Router ID 172.10.1.254
   	 Interfaces 

Area: 0.0.0.0    (MPLS TE not enabled)
IP Address    Type       State  Cost  Pri    DR            BDR 
172.10.1.254  Broadcast   DR     1     1   172.10.1.254  0.0.0.0
10.0.0.2      Broadcast   DR     1     1   10.0.0.2      10.0.0.1
10.0.0.6      Broadcast   DR     1     1   10.0.0.6      10.0.0.5

DR是指定路由器,BDR是备份指定路由器,既然前面说到了DR是管事的那BDR就是副管事的,当管事的不在或者做错的时候,副管事的就出来接手,这两个管事的又是由大家选出来的,这里就涉及到OSPF的选举机制了,由于理论部分还没有学到这里,暂时放一下。

现在从表中看出,172.1.1.254是自己所在网络的DR,他的BDR是一个缺省状态,另外两个网络的BDR都是自己网络中存在于OSPF域中的地址

  1. 再看看OSPF的路由表
Public routing table : OSPF
     Destinations : 3        Routes : 4        

OSPF routing table status : <Active>
     Destinations : 3        Routes : 4

Destination/Mask Proto Pre Cost Flags NextHop    Interface

   10.0.0.8/30   OSPF  10   2     D   10.0.0.1 GigabitEthernet 0/0/0
                 OSPF  10   2     D   10.0.0.5 GigabitEthernet 0/0/2
 172.10.2.0/24   OSPF  10   2     D   10.0.0.1 GigabitEthernet 0/0/0
 172.10.3.0/24   OSPF  10   2     D   10.0.0.5 GigabitEthernet 0/0/2

OSPF routing table status : <Inactive>
     Destinations : 0        Routes : 0

实验验证

  • PC1 ping PC2
PC>ping 172.10.2.1

Ping 172.10.2.1: 32 data bytes, Press Ctrl_C to break
Request timeout!
From 172.10.2.1: bytes=32 seq=2 ttl=126 time=16 ms
From 172.10.2.1: bytes=32 seq=3 ttl=126 time=15 ms
From 172.10.2.1: bytes=32 seq=4 ttl=126 time=16 ms
From 172.10.2.1: bytes=32 seq=5 ttl=126 time=16 ms

--- 172.10.2.1 ping statistics ---
  5 packet(s) transmitted
  4 packet(s) received
  20.00% packet loss
  round-trip min/avg/max = 0/15/16 ms

单区域的实验结束

OSPF多区域配置

在网络规模很大的时候,就要分为多个自治域去管理,否则每个路由上的链路状态数据库将会非常的巨大,这就考虑到了路由器的硬件因素,打个简单的比方,大家都知道π=3.141592653...但是这个值不需要我们每次使用的时候都拿去算,因为已经有人算好了,拿来用就好了,多区域就是不同as域的计算、选举,都是独立的,由边界路由提供区域间的联系。

关于链路数据库大小的概念,这里拿一台来自俄勒冈大学全球BGP路由表浏览项目的路由器打个比方(好像关系不大🤔)
这是一台思科的设备,使用的BGP路由

他的路由表是一个很庞大的数量

使用的内存也达到了8.5G左右

而我们实验中用到的AR2220的内存仅有1G

好像ospf多域解决的是计算等问题,而且ospf和bgp的机制也有很大不同😓,上面这部分就当个拓展,另外在百度的时候发现了一段有意思的话:

OSPF:“身如路由器,心似转发表,报文何其多,日夜勤查找。”
BGP:“路由本非器,转发何需表?报文虽然多,自有他人找。”

先收藏起来

言归正传

实验拓扑&规划

基于上一部分是实验进行改动

其中R1 R2 R3 R4 在区域 0 中,R1 R2 R5在区域 1 中,R3 R4 R6 在区域 2 中

实验目的

R1 R2 R3 R4 为核心区域,在同一个as域中,其中R1 R2 与 R5 同在区域 1 中,R3 R4 与 R5 同在区域 2 中
从本质上来讲,可以理解为“分布式计算”,区域1计算出a=1,区域2计算出b=2,区域3计算出c=3,甲在区域1和2中,乙在区域2和3中,甲和乙互相沟通后,大家都知道a,b,c的值了。

实验过程

  1. 配置各接口IP

  2. 配置骨干区域,将R1 R2 R3 R4 配入area 0 中,并互相通告

  1. 配置区域A 即R1 R2 R5 配入 area 1 中,其中R1 R2只通告与R5相连的接口

  1. 配置区域B 即R3 R4 R6 配入 area 2 中,其中R3 R4只通告与R6相连的接口

邻区没有问题

  • 查一下OSPF链路状态数据库
[Huawei]display ospf lsdb

OSPF Process 1 with Router ID 10.0.0.18
  Link State Database 
	        Area: 0.0.0.2
 Type   LinkState ID  AdvRouter      Age  Len Sequence Metric
Router  10.0.0.14     10.0.0.14      411  36  80000005   1
Router  172.10.3.254  172.10.3.254   421  36  80000005   1
Router  10.0.0.18     10.0.0.18      409  60  80000008   1
Network 10.0.0.17     10.0.0.14      411  32  80000002   0
Network 10.0.0.22     172.10.3.254   421  32  80000002   0
Sum-Net 172.10.3.0    172.10.3.254   615  28  80000001   1
Sum-Net 172.10.3.0    10.0.0.14      560  28  80000001   2
Sum-Net 172.10.2.0    172.10.3.254   615  28  80000001   2
Sum-Net 172.10.2.0    10.0.0.14      560  28  80000001   3
Sum-Net 172.10.1.0    172.10.3.254   615  28  80000001   3
Sum-Net 172.10.1.0    10.0.0.14      560  28  80000001   3
Sum-Net 10.0.0.12     172.10.3.254   615  28  80000001   2
Sum-Net 10.0.0.12     10.0.0.14      560  28  80000001   1
Sum-Net 10.0.0.8      172.10.3.254   615  28  80000001   1
Sum-Net 10.0.0.8      10.0.0.14      560  28  80000001   2
Sum-Net 10.0.0.4      172.10.3.254   615  28  80000001   1
Sum-Net 10.0.0.4      10.0.0.14      560  28  80000001   1
Sum-Net 10.0.0.0      172.10.3.254   615  28  80000001   2
Sum-Net 10.0.0.0      10.0.0.14      560  28  80000001   2
Sum-Net 10.0.0.28     172.10.3.254   615  28  80000001   2
Sum-Net 10.0.0.28     10.0.0.14      560  28  80000001   3
Sum-Net 10.0.0.24     172.10.3.254   615  28  80000001   3
Sum-Net 10.0.0.24     10.0.0.14      560  28  80000001   2

除了我们通告的路由之外,其他的路由都是Sum-Net类型的
我去搜Sum-Net是什么,并没有搜到,但是发现启示录中有一条Sum-Net LSA会引起路由计算,引发OSPF路由震荡

实验验证

PC1 ping PC4

PC>ping 172.10.4.1

Ping 172.10.4.1: 32 data bytes, Press Ctrl_C to break
From 172.10.1.1: Destination host unreachable

失败

  • 排障

    先用PC1与PC4 ping各自的网关 --成功
    查看R5 R6路由表 --有对应条目
    检查电脑配置 --未配置网关

PC>ping 172.10.4.1

Ping 172.10.4.1: 32 data bytes, Press Ctrl_C to break
Request timeout!
From 172.10.4.1: bytes=32 seq=2 ttl=124 time=31 ms
From 172.10.4.1: bytes=32 seq=3 ttl=124 time=31 ms
From 172.10.4.1: bytes=32 seq=4 ttl=124 time=31 ms
From 172.10.4.1: bytes=32 seq=5 ttl=124 time=32 ms

--- 172.10.4.1 ping statistics ---
  5 packet(s) transmitted
  4 packet(s) received
  20.00% packet loss
  round-trip min/avg/max = 0/31/32 ms

实验完成

OSPF的认证

“对暗号” 我理解为防止非法路由加入网络中

实验拓扑/规划

R1的loopback的地址是1.1.1.1 ,R2的是2.2.2.2,以此类推

实验目的

在区域0和1配上区域认证,0开启密文认证,1开启明文认证

实验过程

OSPF区域认证

  1. 配置各接口IP,并配置loopback地址

  2. 将R2 R3 R5 R6 配入area 0 中,并通告网络,将R1 R2 R4 配入area 1 中,同样通告网络

    需要注意的是,每台设备都需要把loopback地址通告出去

  3. 配置区域

    可以看到R2有了正确的邻居关系

  4. 给区域1配置区域认证

    R1

    [Huawei]ospf 1
    [Huawei-ospf-1]ar	
    [Huawei-ospf-1]area 1
    [Huawei-ospf-1-area-0.0.0.1]au	
    [Huawei-ospf-1-area-0.0.0.1]authentication-mode s	
    [Huawei-ospf-1-area-0.0.0.1]authentication-mode simple p	
    [Huawei-ospf-1-area-0.0.0.1]authentication-mode simple plain huawei1
    [Huawei-ospf-1-area-0.0.0.1]disp	
    [Huawei-ospf-1-area-0.0.0.1]display th
    [V200R003C00]
    #
     area 0.0.0.1 
      authentication-mode simple plain huawei1 
      network 1.1.1.1 0.0.0.0 
      network 10.0.0.0 0.0.0.3 
    #
    return
    

    这时候可以看到口令为huawei1

重新配置一遍

发现个有趣的东西,按上键的时候,原来输入的口令会变成******

现在口令变为了密文显示

[Huawei-ospf-1-area-0.0.0.1]authentication-mode simple huawei1
[Huawei-ospf-1-area-0.0.0.1]display th
[V200R003C00]
#
 area 0.0.0.1 
  authentication-mode simple cipher %$%$6iLJ4J=YgV@LW7RZhQgXRp_4%$%$ 
  network 1.1.1.1 0.0.0.0 
  network 10.0.0.0 0.0.0.3 
#
return

R2也没有了R1的邻居关系

<R2>display ospf 1 peer brief 
	 OSPF Process 1 with Router ID 10.0.0.2
		  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.0          GigabitEthernet0/0/1             10.0.0.6         Full        
 0.0.0.1          GigabitEthernet0/0/2             4.4.4.4          Full        
 ----------------------------------------------------------------------------
  1. 接下来配R2 R4的认证
[R2]ospf 1
[R2-ospf-1]area 1	
[R2-ospf-1-area-0.0.0.1]au	
[R2-ospf-1-area-0.0.0.1]authentication-mode s	
[R2-ospf-1-area-0.0.0.1]authentication-mode simple p	
[R2-ospf-1-area-0.0.0.1]authentication-mode simple plain huawei1
[R2-ospf-1-area-0.0.0.1]authentication-mode simple huawei1
[R2-ospf-1-area-0.0.0.1]display ospf 1 peer brief 

	 OSPF Process 1 with Router ID 10.0.0.2

		  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.0          GigabitEthernet0/0/1             10.0.0.6         Full        
 0.0.0.1          GigabitEthernet0/0/0             10.0.0.1         Full        
 ----------------------------------------------------------------------------

可以看到现在R2与R1的邻居关系恢复了,没有了R4的邻居,接着去配R4

[R4-ospf-1-area-0.0.0.1]display th
[V200R003C00]
#
 area 0.0.0.1 
  authentication-mode simple cipher %$%$tuiTSpt'-/`8ey(B}PlFR&~y%$%$ 
  network 4.4.4.4 0.0.0.0 
  network 10.0.0.16 0.0.0.3 
#
return

R2的邻居关系也正常了

<R2>display ospf 1 peer brief 

	 OSPF Process 1 with Router ID 10.0.0.2
		  Peer Statistic Information
 ----------------------------------------------------------------------------
 Area Id          Interface                        Neighbor id      State    
 0.0.0.0          GigabitEthernet0/0/1             10.0.0.6         Full        
 0.0.0.1          GigabitEthernet0/0/2             4.4.4.4          Full        
 0.0.0.1          GigabitEthernet0/0/0             10.0.0.1         Full        
 ----------------------------------------------------------------------------

OSPF链路验证

  1. 在R2与R4之间部署MD5的链路认证

    [R2-GigabitEthernet0/0/2]ospf authentication-mode md5 1 huawei5
    

    去看邻居信息

    <R2>display ospf 1 peer brief 
    
    	 OSPF Process 1 with Router ID 10.0.0.2
    		  Peer Statistic Information
    ----------------------------------------------------------------------------
     Area Id          Interface                        Neighbor id      State    
     0.0.0.0          GigabitEthernet0/0/1             10.0.0.6         Full        
     0.0.0.1          GigabitEthernet0/0/0             10.0.0.1         Full        
     ----------------------------------------------------------------------------
    

    现在与R4的邻居没有了,因为R2与R4连接的接口被配上了链路认证

  2. 给R4也配上链路认证

    	 OSPF Process 1 with Router ID 10.0.0.2
    		  Peer Statistic Information
    ----------------------------------------------------------------------------
     Area Id          Interface                        Neighbor id      State    
     0.0.0.0          GigabitEthernet0/0/1             10.0.0.6         Full        
     0.0.0.1          GigabitEthernet0/0/2             4.4.4.4          Full        
     0.0.0.1          GigabitEthernet0/0/0             10.0.0.1         Full        
     ----------------------------------------------------------------------------
    

    R2的与R4的邻居重新建立

OSPF被动接口配置

让一个接口从“参与者”变为“使用者”

拓扑&规划

实验过程
  1. 配置接口ip,并且都放入area 0 中

  2. 对PC上的接口进行抓包,可以看到有很多OSPF的hello packet报文,报文中包含了本area中的信息

    所以需要配置被动接口,禁止连接终端的接口接收发送OSPF报文

  3. 将与终端相连的接口配置为被动接口

    [R4]ospf 1
    [R4-ospf-1]sil	
    [R4-ospf-1]silent-interface g 0/0/2	
    [R4-ospf-1]display th
    [V200R003C00]
    #
    ospf 1 
     silent-interface GigabitEthernet0/0/2
     area 0.0.0.0 
      network 10.0.0.16 0.0.0.7 
      network 10.1.1.0 0.0.0.255 
    #
    return
    
  4. 重新去抓包,就不会再发现有来自OSPF的报文了

实验结论

既然被动接口会使当前接口不再发送和接收OSPF的报文,所以不可以配置在路由之间的接口上,否则会使当前接口退出OSPF

OSPF的Router-ID

其实关于Router-ID,我之前就做了简单的验证,当时得出的结论是:

猜测:RoutID的原则是不重复,所以说是不是随便指定一个ip做为RoutID
实验:我新开了一台路由器去尝试,发现 RoutID的选择是根据第一个配置的接口ip进行选择的。我回头去看R3的数据,我第一个配置的接口Ip的确是1.0.0.10/30

完善下Router ID的选举规则

在没有手动配置Router-ID的情况下,第一个配置的接口IP,会被指定为Router-ID,如果这个IP被删除,如果当前有loopback地址,则Router-ID会被指定为loopback地址,如果没有,则会被指定为第二个配置的Router-ID,以此类推。

[Huawei]int	
[Huawei]interface g 0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 1.1.1.1 24
[Huawei-GigabitEthernet0/0/0]interface g 0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 2.2.2.2 24
[Huawei-GigabitEthernet0/0/1]disp	
[Huawei-GigabitEthernet0/0/1]display r	
[Huawei-GigabitEthernet0/0/1]display ro	
[Huawei-GigabitEthernet0/0/1]display route id
RouterID:1.1.1.1                               //此时的RouterID为第一个配置的接口IP
[Huawei-GigabitEthernet0/0/1]interface g 0/0/0
[Huawei-GigabitEthernet0/0/0]undo ip add
[Huawei-GigabitEthernet0/0/0]display route id
RouterID:2.2.2.2                               //删除第一个配置的接口IP后,被指定为第二个接口IP
[Huawei-GigabitEthernet0/0/0]ip add 1.1.1.1 24
[Huawei-GigabitEthernet0/0/0]interface l 0
[Huawei-LoopBack0]ip add 6.6.6.6 32
[Huawei-LoopBack0]interface g 0/0/1
[Huawei-GigabitEthernet0/0/1]undo ip ad
[Huawei-GigabitEthernet0/0/1]display route id
RouterID:6.6.6.6                              //这时就会被指定为loopback地址
  • 如果RouterID重复,会发生什么?

    简单拓扑

配置相同的RouterID

修改完RouterID后,会有这样的提醒:路由器ID已修改,请手动重置相关协议更新路由器ID

现在去查看邻居

	 OSPF Process 1 with Router ID 1.1.1.1
		 Neighbors 

 Area 0.0.0.0 interface 1.1.1.1(GigabitEthernet0/0/0)'s neighbors
 Router ID: 1.1.1.2          Address: 1.1.1.2         
   State: Full  Mode:Nbr is  Master  Priority: 1
   DR: 1.1.1.1  BDR: 1.1.1.2  MTU: 0    
   Dead timer due in 40  sec 
   Retrans timer interval: 5 
   Neighbor is up for 00:08:51     
   Authentication Sequence: [ 0 ] 

Router ID还是原来的,结合之前的提醒,需要重置一下协议:reset ospf process(这个命令只可以在用户界面使用)

再去看邻居

<Huawei>display ospf peer  

OSPF Process 1 with Router ID 6.6.6.6

没有邻居了,那么路由自然也不会通告

再看一下不同区域的相同RouterID

两侧的路由拥有相同的RouterID

[Huawei]display ospf lsdb
 OSPF Process 1 with Router ID 6.6.6.6
	 Link State Database 
	         Area: 0.0.0.0
 Type      LinkState ID    AdvRouter          Age  Len   Sequence   Metric
 Router    6.6.6.7         6.6.6.7            425  36    80000004       1
 Router    6.6.6.6         6.6.6.6            592  36    80000007       1
 Router    1.1.1.2         1.1.1.2            788  36    80000008       1
 Router    1.1.1.1         1.1.1.1           1512  36    80000005       1
 Network   1.1.1.1         6.6.6.6            592  32    80000002       0
 Sum-Net   1.1.2.0         6.6.6.7            371  28    80000001       1


[Huawei]ping 1.1.2.2
  PING 1.1.2.2: 56  data bytes, press CTRL_C to break
    Reply from 1.1.2.2: bytes=56 Sequence=1 ttl=254 time=30 ms
    Reply from 1.1.2.2: bytes=56 Sequence=2 ttl=254 time=20 ms
    Reply from 1.1.2.2: bytes=56 Sequence=3 ttl=254 time=30 ms
    Reply from 1.1.2.2: bytes=56 Sequence=4 ttl=254 time=30 ms
    Reply from 1.1.2.2: bytes=56 Sequence=5 ttl=254 time=30 ms

  --- 1.1.2.2 ping statistics ---
    5 packet(s) transmitted
    5 packet(s) received
    0.00% packet loss
    round-trip min/avg/max = 20/28/30 ms

可以看出来,并没有对网络造成影响。

** 所以,RouterID在同区域内重叠是会影响ospf状态的,不同区域则不会**


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM