![OSPF 路由 (quagga) FreeBSD。路由表没有改变。请帮忙](https://linux22.com/image/584913/OSPF%20%E8%B7%AF%E7%94%B1%20(quagga)%20FreeBSD%E3%80%82%E8%B7%AF%E7%94%B1%E8%A1%A8%E6%B2%A1%E6%9C%89%E6%94%B9%E5%8F%98%E3%80%82%E8%AF%B7%E5%B8%AE%E5%BF%99.png)
我的实验室工作遇到了一个问题。我需要使用 ospf 提供网络路由。我的网络布局如下:
所以...当我启动具有所有工作接口的 3 个虚拟机时,一切正常 - 路由表正确,所有连接正常。
但是当我在 R3 机器上放下 IF1 时,120 秒后 R1 和 R2 上的路由表发生了变化。但即使 1 小时后 R2 上的路由表也没有变化,而且我在路由到 172.16.3.0 网络时遇到了问题。我知道在 OSPF 中存在类似“泛洪”路由的东西 - 第一波变化在 120 秒后发生,下一步 - 大约 8-9 分钟后......
请帮助使 ospf 正常工作!
这是 R2 机器的 conf 文件zebra.conf
(ospf.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”。