OSPF 路由 (quagga) FreeBSD。路由表没有改变。请帮忙

OSPF 路由 (quagga) FreeBSD。路由表没有改变。请帮忙

我的实验室工作遇到了一个问题。我需要使用 ospf 提供网络路由。我的网络布局如下:

网络拓扑结构

所以...当我启动具有所有工作接口的 3 个虚拟机时,一切正常 - 路由表正确,所有连接正常。

但是当我在 R3 机器上放下 IF1 时,120 秒后 R1 和 R2 上的路由表发生了变化。但即使 1 小时后 R2 上的路由表也没有变化,而且我在路由到 172.16.3.0 网络时遇到了问题。我知道在 OSPF 中存在类似“泛洪”路由的东西 - 第一波变化在 120 秒后发生,下一步 - 大约 8-9 分钟后......

请帮助使 ospf 正常工作!

这是 R2 机器的 conf 文件zebra.confospf.conf对于其他机器,所有配置都相同,除了 IP 地址、网络、主机名和路由器 ID)。

斑马.conf:

hostname Router
password zebra
enable password zebra

interface lo
 description loopback

interface em0
 ip address 192.168.9.3/24
interface em1
 ip address 172.16.2.1/24
interface em2
 ip address 172.16.1.2/24

ospf.conf:

hostname R2
password zebra
enable password zebra

interface em0
 no ip ospf authentication-key
interface em1
 no ip ospf authentication-key
interface em2
 no ip ospf authentication-key

router ospf
 ospf router-id 0.0.0.2
 network 192.168.9.0/24 area 0
 network 172.16.2.0/24 area 0
 network 172.16.1.0/24 area 0
 redistribute connected

注意:对于所有机器 - em0=IF3,em1=IF2,em2=IF3

更新:谢谢...问题解决了。我只需正确添加链接检测即可...抱歉,我暂时无法投票支持答案...

答案1

路由表为什么会发生变化?R2 已经通过其与 R1 和 R3 的链路拥有通往所有设备的路由。即使 R1 丢失了通往 172.16.3.0/24 的路由,R3 仍会将其通告回 R2(就像在链路断开之前一样)。

您应该会看到 OSPF 数据库本身发生了一些变化,但主机的路由应该不需要更改。尝试比较关闭链接之前和之后每个路由器上的“show ip ospf database”。

值得注意的是 - 如果在 ospf 配置中未启用多路径,则只有一条通往 172.16.3.0/24 的路径会注入到您的路由表中。如果它看到来自两个路由器的路由,那么它将根据决胜局 - 路由器 ID 选择其中一条路径。如果 R2 已经选择了链路未中断的路径,则不会发生任何变化...

有几点:

1.) 为什么使用“重新分配已连接” - 特别是在无限制的基础上。 “network xyzq”命令已经处理了链接本身。 重新分配已连接最多只能产生显示为外部的本地路由。 删除此语句并为 192.168.x 接口添加另一个网络语句(如果这些接口应该用于终端主机连接,则将它们标记为被动)。 如果您必须重新分配已连接路由,则应用过滤来限制实际重新分配的路由。 无限制的重新分配只会带来麻烦。

2.) 我已经有一段时间没玩过 Quagga 了,但我认为您还需要在 ospf 接口定义上使用“link-detect”。

相关内容