我正在尝试在 Juniper MX80 和 Quagga 路由器之间设置一个 OSPF 区域。Quagga 路由器配置了 OSPF,并在 hello 数据包中通告了网络 199.192.100.0/28。但 Juniper MX80 拒绝它并出现以下错误:
1 月 22 日 04:14:38.371296 OSPF 数据包被忽略:intf ae0.0 区域 0.0.0.0 上来自 199.192.100.2 的子网不匹配 Jan 22 04:14:38.371515 OSPF rcvd Hello 199.192.100.2 -> 224.0.0.5 (ae0.0 IFL 336 area 0.0.0.0) Jan 22 04:14:38.371538 版本 2,长度 44,ID 10.10.90.4,区域 0.0.0.0 1 月 22 日 04:14:38.371559 校验和 0x0,authtype 0 Jan 22 04:14:38.371581 mask 255.255.255.240, hello_ivl 10, opts 0x2, prio 1 1 月 22 日 04:14:38.371602 dead_ivl 40,DR 199.192.100.2,BDR 0.0.0.0
配置的相关部分是:
瞻博网络 MX80:
ashinn@mx2# 显示接口 ae0 聚合以太选项{ 拉普{ 积极的; } } 单元 0 { 家庭互联网{ 地址 199.192.100.253/30; } } ashinn@mx2# 显示协议 ospf 导出重新分配连接; 面积 0.0.0.0 { 区域范围 199.192.100.0/28; 接口 xe-0/0/1.0; 界面 ae0.0 { 接口型p2p; } }
Interface ae0.0是面向Quagga路由器bond0接口的接口:
! 接口绑定0 ip ospf 成本 50 ipv6 nd 抑制-ra ! 路由器 ospf 日志邻接更改 重新分配内核 重新分配连接 网络 199.192.100.0/28 区域 0.0.0.0 邻居 199.192.100.253 !
以及 bond0 的 Quagga 接口:
[ashinn@lb2 ~]$ ip addr show dev bond0 8: bond0: mtu 1500 qdisc noqueue 状态 UP 链接/以太 00:25:90:27:8a:be brd ff:ff:ff:ff:ff:ff inet 199.192.100.254/30 brd 199.192.100.255 范围 global bond0 inet 199.192.100.2/28 范围 global bond0 inet6 fe80::225:90ff:fe27:8abe/64 作用域链接 valid_lft 永远 preferred_lft 永远
我试过在没有neighbor statement
Quagga 的情况下也试过ip ospf network point-to-point
在 Quagga 中设置。两者似乎都没有任何区别。
我发现这篇文章http://kb.juniper.net/InfoCenter/index?page=content&id=KB23533&cat=T1600_1&actp=LIST&showDraft=false似乎解释了同样的问题。但它只建议纠正子网掩码不匹配。这种不匹配可能在哪里?如果它与 /30 点对点接口子网冲突,那么为什么?
问题是您在 Quagga 的 OSPF 中配置了错误的子网。您需要 /30 as network 语句:
network 199.192.100.252/30 area 0.0.0.0
network 语句告诉 Quagga 在哪个接口上启用 OSPF。具有来自该子网的 IP 的每个接口都将启用 OSPF。
同样,199.192.100.2/28 可能不应该在那个 bond0 设备上。尝试将其放在 lo 接口上并告诉该接口是被动接口。
像这样:
另外我建议将 MX80 和 Quagga 之间的 OSPF 接口模式设置为点对点。这将加快收敛时间。
OSPF 邻居部分尝试形成邻接的 /30 范围落在为 OSPF 启用的 /28 范围之外......这是子网掩码不匹配的来源。调试输出告诉您修复它需要知道的一切。
OSPF rcvd Hello
应该匹配另一边。如果掩码不匹配,则永远不会形成邻接关系。如果 MX80 + Quagga 路由器之间有不同的连接,或者至少在这三个路由器之间有一个专用于 OSPF 的网段,你会好得多(尽管在这种情况下,你需要
interface-type p2p
关闭,因为你需要一个 DR选举。您首先遇到此问题的原因是 Quagga 试图与来自错误子网/配置 IP 的 Hello 数据包建立 OSPF 邻接关系。如果没有完整的配置,很难知道还有什么问题,但我会非常小心,考虑到当前的配置,以及那些重新分发命令会发生什么;)
我知道这有点晚了,但为了澄清,OSPF 必须匹配几件事才能形成邻居关系。这些包括区域号、接口类型(点对点或广播)问候计时器、死计时器和正在形成邻居的接口的子网掩码。MX 正在寻找与本地 MX 接口位于完全相同子网掩码上的邻居。