我有两个路由器(A 和 B),都是 Juniper j2320s。每个都有 3 个 BGP 对等体,一个主要到一个首选 AS(称为 AS 1),两个到次要(AS 2),以及它们之间的 IBGP 会话。A 是流量进/出它们后面的网络的首选路由,包括一个小的公共 IP 空间。
最近,B 上 AS 1 的 BGP 会话的接口开始抖动,然后在几天后停止后,我开始遇到间歇性问题,即路由器后面的服务器无法以公共 IP 作为源地址访问 Internet 上的主机- 如果我没有指定源地址,它可以正常工作并显示为配置的网关 IP。如果我在路由器 B 上禁用 AS 1 的 BGP 对等互连,问题就会消失;当我再次启用它时,它会再次出现,但仅针对特定前缀,并且从一个实例到下一个实例很少相同。指定源的跟踪路由在路由器 A 处停止。我还尝试禁用 B 与 AS 2 的会话并保留 1,但问题仍然存在。
我的另一个想法是它们是否太老而无法处理它们需要的所有路由表大小,但它们似乎没有响应或负载过重,并且当 B 与 AS 1 的会话被禁用时没有问题。
我已经测试过很多次了,每次受此影响的网络仍然可以从 A 或 B 直接访问。我今晚可以执行诊断,但不能在白天进行,因为当问题活跃时,它会阻止正常使用网络中的一些系统。
编辑:今天早上我做了更多测试。一旦我在 B 上进行对等,A 就失去了路由能力。
在 B 上启用 AS 1 之前:
A> traceroute 208.67.220.220 source 2.3.4.5
1 router1.as1.net (1.2.3.4) 4.526 ms 1.773 ms 1.562 ms
2. router2.as1.net (1.2.3.5) 4.770 ms 12.540 ms 2.402 ms
...
7 resolver2.opendns.com (208.67.220.220) 2.862 ms 2.681 ms 4.673 ms
之后立马:
A> traceroute 208.67.220.220 source 2.3.4.5
traceroute to 208.67.220.220 (208.67.220.220) from 193.19.98.1, 30 hops max, 40 byte packets
1 * * *
2 * * *
...
30 * * *
配置:
#router A
protocols {
bgp {
group internal {
type internal;
description iBGP;
neighbor h.j.k.m {
export next-hop-self;
}
}
group as1 {
type external;
description as1;
import default_bgp_import;
export default_bgp_export;
peer-as 1;
neighbor w.x.y.z;
}
group as2 {
type external;
description as2;
import default_bgp_import;
export default_bgp_export;
peer-as 2;
neighbor a.b.c.d;
neighbor a.b.c.e;
}
}
#router B
protocols {
bgp {
group internal {
type internal;
description iBGP;
neighbor h.j.k.l {
export next-hop-self;
}
}
inactive: group as1 {
type external;
description as1;
import default_bgp_import;
export default_bgp_export;
peer-as 1;
neighbor w.x.y.v;
}
group as2 {
type external;
description as2;
import default_bgp_import;
export default_bgp_export;
peer-as 2;
neighbor a.b.c.f;
neighbor a.b.c.g;
}
}