【干货】IP路由技术——配置OSPF

配置 OSPF

对OSPF进行基础配置并不像配置RIP、IGRP及EIGRP那样简单,一旦旦将OSPF中的许多选项考虑进来,它实际上可能非常复杂。但是还好,你只需掌握基本的单区域中的OSPF配置即可。下面的小节中将介绍如何配置单个区域的OSPF。

以下两个要素是OSPF配置中的基本要素:

启用OSPF;

配置OSPF区域。

启用 OSPF

配置OSPF最简单也是最基本的方式就是使用单一区域。完成这个工作需要执行至少两个命令。

用于激活OSPF路由选择进程的命令如下:

Router(config)#router ospf ?

<1-65535>

可见,OSPF 使用取值介于1~ 65 535范围内的数值来识别OSPF进程ID。在这台路由器上它是一个取值唯一的数字, 路由器在一个指定运行的进程下将一系列的OSPF配置命令进行了分组。不同的OSPF路由器不需要使用相同的进程ID来完成通信。这个ID是一个纯粹的只具有本地意义的值,没什么实际意义,注意它不能从0开始,起始最小值只能为1。

如果需要,可以在同一个路由器上同时运行多个OSPF进程,但这与运行多区域OSPF的概念不同。第二个进程将维持- -个拓扑表的完整独立的副本,管理它与第一个进程无关的通信。由于CCNA的考试目标只涉及单区域的OSPF,并且每个路由器都只运行单- -的OSPF进程,因此,

注意:OSPF进程ID用于OSPF数据库中不同实例的识别,它只局部有效。

配置 OSPF区域

配置 OSPF区域

在标识了OSPF的进程后,接下来需要标识想要进行OSPF通信的接口,及路由器所在的区域。

这也就配置了需要向其他路由器进行通告的网络。OSPF在配置中使用了通配符掩码,该掩码也被应

用在访问控制表的配置中( 将在第13章进行讨论)。

下面是一个对OSPF进行基本配置的实例:

Router#config t

Router(config)#router ospf 1

Router(config-router)#network 10.0.0.0 0.255.255.255

area ?

<0- 4294967295> 0SPF area ID as a decimal value

A.B.C.D   0SPF area ID in IP address format

Router(config- router)#network 10.0.0.0 0.255.255.255

area 0

注意:这个区城可以是从0到42亿中的任何一个数值。不要将这些数值与进程ID相混淆,进程ID的取值范围是从1到65 535。

记住,OSPF 进程ID的数值是彼此互不相关的。在网络中每个路由器上的进程ID都可以是相同的,当然也可以是不同的一这都没有关系。这个取值只具有本地意义,其作用只是使OSPF能在路由器上进行路由选择。

命令network的参数是网络号( 10.0.0.0)和通配符掩码( 0.255.255.255 )。这两个数字的组合用于标识OSPF操作的接口,并且它也将包含在其OSPF的LSA通告中。根据上面示例中的配置,OSPF将使用这个命令来找出在10.0.0.0 网络中被配置的路由器上的任何接口,它会将找到的接口都放置到区域0中。注意,在这里可以创建42亿个区域一个路由器实际上不会创建那么多的区域,但是从多达42亿个的数字中选出某些来对区域进行命名显然是可以的)。注意,也可以使用IP地址的格式来标记区城。

简短地解释一下通配符:在通配符掩码中,一个0的八位位组表示网络地址中相应的八位位组必须严格地匹配。而另一方面,255 则表示不必关心网络地址中相应的八位位组的匹配情况。网络和通配符掩码1.1.1.1 0.0.0.0 的组合将只指定使用1.1.1.1 精确配置的接口,而不包含其他的地址。如果想在指定接口上简单明确地激活OSPF,这种方式确实很有用。如果你坚持要匹配网络中的某个范围,如网络和通配符掩码1.1.0.0 0.0.255.255的组合将指定一个范围1.1.0.0~ 1.1.255.255。由此可知,使用通配符掩码0.0.0.0将分别标识出每个OSPF的接口,它的确是一个比较简单且安全的方式,但一旦进行了这样的配置,它们的功能也就相当单一了,只有一条路有时并不是件好事。

最后的参数是区域号码,它指示网络中标识接口以及限定通配符掩码所在的区域。记住,只有当OSPF路由器的接口共享了具有相同区域号的网络时,这些路由器才可以成为邻居。区域号的格式可以是从1到4 294 967 295范围内的十进制值,也可以是标准的十进制点分法表示的数值。例如,区域0.0.0.0就是一个合法的区域,它也同样表示区域0。

通配符示例

在开始对我们的示例网络进行配置之前,来快速地看一看下稍有难度的OSPF网络配置,并了解一下在使用子网和通配符时OSPF对网络会有什么要求。

下面的路由器使用了4个不同的接口与4个子网相连接:

  • 192. 168.10.64/28;

  • 192.168.10.80/28;

  • 192.168.10.96/28;

  • 192. 168.10.8/30。

Test#config t

Test(config)#router ospf 1

Test(config-router)#network 192.168.10.0 0.0.0.255 area 0

上面的示例相当简单,但简单并不总是最好的,虽然这是配置OSPF的一种简单的方式,但需要了解这样配置的好处何在?更为糟糕的是,这样简易的配置方式并没有包含在CCNA的目标中!既然这样,我们需要通过使用子网号和通配符,为每个接口创建一个单独的网络声明。具体操作如下所示:

Test#config t

Test( config)#router ospf 1

Test(config-router)#network 192.168.10.64 0.0.0.15 area 0

Test( config-router )#network 192 .168.10.800.0.0.15 area 0

Test( config- router)#network 192.168.10.96 0.0.0.15 area 0

Test(config-router)#network 192.168.10.8 0.0.0.3 area 0

现在这里的配置看上去的确有些不同了!但事实上OSPF仍会以与前面所介绍的简单配置中相同的方式进行工作,但是与前面介绍的简单配置不同,这种配置方式包含在CCNA的考试目标中!虽然这个配置看上去很复杂,但请相信,其实并不是这样。所有需要做的就是对块尺寸的理解!

因此一定要记住在配置通配符时,它们永远都要比块尺寸小1。一个/28的块大小为16, 因此使用子网号添加网络声明,并在一个需配置的八位位组中添加值为15的通配符。对于/30,它的块大小为4,则所使用的通配符为3。在进行几次练习之后,这个推演就变得相当简单了,在学习控制列表时我们会再次用到它们。

为了能牢固地掌握这个内容,下面以图9-5为示例,用OSPF的通配符来配置这个网络。图9-5中给出了一个配有3台路由器的网络,图中还给出了路由器的每个接口所使用的IP地址。

方式来完成对OSPF的配置。因此,除非你能顺利地完这样的操作,否则就不要去参加考试。

使用 OSPF来配置网络

好,现在来做一些有趣的事!让我们用OSPF来配置一下前面示例中的网络,注意这里只使用区域0。在开始之前,需要将配置的EIGRP删除,这是因为OSPF的管理距离为110。(而EIGPR的是90,这些你都懂的,不是吗? ) 在进行这一操作时,我们将RIP也一同删除,之所以这样做,是因为我不希望你由此养成总让RIP运行在网络上的习惯。

正如前面提到过的,配置OSPF可以有许多种不同的方式,但最简单和最容易的做法就是使用通配符掩码0.0.0.0。但是在这里,我想说明我们可以使用不同的OSPF配置方式来配置每个路由器,并且所得到的结果仍将是完全相同的。这也是OSPF为什么要比其他的路由选择协议更加有趣的原因之一,它给我们更多的方式来完成工作,同时也为排除故障提供了更多机会!下面将使用图9-3中给出的网络进行配置。

1. Corp

下面就是在Corp路由器上的配置:

Corp#config t

Corp( config)#no router eigrp 10

Corp(config)#no router rip

Corp( config)#router ospf 132

Corp(config- router)#network 10.1.1.1 0.0.0.0 area 0

Corp(config-router)#network 10.1.2.1 0.0.0.0 area 0

Corp( config- router)#network 10.1.3.1 0.0.0.0 area 0

Corp( config-router)#network 10.1.4.1 0.0.0.0 area 0

Corp(config-router)#network 10.1.5.1 0.0.0.0 area 0

这里似乎有一些问题需要讨论一下。首先,我删除了elGRP和RIP,然后,添加了OSPF.但是,为什么在这里使用的是OSPF 132?实,这的确不重要,这个数值完全是无所谓的。我想也许使用感觉比较好!

这个network命令的使用也相当直接。我直接将每个接口的IP 地址输人了进去,然后使用通配符掩码0.0.0.0,这表明这个IP地址的每个八位位组都必须是完全匹配的。但是如果认为简单的才是最好的,那就这样做吧:

Corp(config)#router ospf 132

Corp(config-router)#network 10.1.0.0 0.0.255.255 area 0

上面用一行代替了五行!我真希望你能理解,不管使用哪种方式给出网络声明, OSPF 在这里都会同样地工作。现在,我们来看一下R1。为为让配置简单化,我们将采用相同的配置方式。

2. R1

路由器R1有4个直接连接的网络。在这里的示例中使用一个网络命令来代替在每个接口上进行的输人,这样它同样能正确地工作:

R1#config t

R1(config)#no router eigrp 10

R1(config)#no router rip

R1(config)#router ospf 1

R1(config- router )#network 10.1.0.0 0.0.255.255 area0

% Invalid input detected at 'AI marker .

R1(config- router)#network 10.1.0.0 0.0.255.255 area 0.

R1(config-router)#

14:12:39: %0SPF-5-ADJCHG: Process 1, Nbr 10.1.5.1 on Seria10/0/0

from LOADING to FULL, Loading Done

R1(config-router)#

14:12:43: %0SPF-5-ADJCHG: Process 1, Nbir 10.1.5.1 on Seria10/0/1

from L0ADING to FULL, Loading Done

R1(config- router )#network 192.168.0.0 0.0.255.255 area 0

好,除了忘记在区域命令和区域号之间插人一个空格这个小小的输人错误之外,这确实是一个紧凑而有效的配置。这里首先禁用EIGRP, 随后启用OSPF路由选择进程1,并添加带有通配符掩码0.0.255.255 的network命令10.1.0.0。这一命令基本上表示:“找出任一起始于10.1 的接口,并将它们加人到区域0中。”最后,又将用一个配置行将192.168.10.0 和192.168.20.0 添加到配置中。一切快速、简单而且顺畅!

3. R2

路由器R2直接连接到3个网络,我们同样看一下它的配置:

R2#config t

R2(config)#no router eigrp 10

R2(config)#no router rip

R2(config)#router ospf 45678

R2(confi g- router )#network 10.0.0.0 0.0.0.255.255.255 area 0

R2(confi g- router )#network 192.168.30.1 0.0.0.0 area 0

R2(config- router)#network 192.168.40.1 0.0.0.0 area

我可以使用任一个想用的进程ID,只要它的值在1到65 535之间。并且注意,我所使用的10.0.0.0其通配符为0.255.255.255,并且随后使用0.0.0.0通配符对192.168.30.0 和40.0网络进行了配置。这样配置也能工作的不错!

4. R3

最后,这是最后一个路由器!对于R3路由器,我们需要关闭RIP和EIGRP,然后配置OSPF。

R3(config)#no router eigrp 10

R3(config)#no router rip

R3( config)#router ospf 1

R3(config-router)#network 10.1.5.1 0.0.0.0 area 0

R3(config- router)#network 172.16.10.0 0.0.0.255 area 0

酷!至此我们已经完成了对所有路由器的OSPF配置,接下来需要做些什么呢?消磨时间?不,还没有真正地结束,还有- -些验证方面的工作。我们需要确认OSPF真正在工作,这是我们

(0)

相关推荐