我对 (I)BGP 和非对称路由有一个非常奇怪的问题,也许你可以帮助我。
我的设置如下:
Router A (running with bird on Linux) ← Internet / eBGP → upstream A / upstream B
↑
|
| VPN / IBGP
|
↓
Router B (running with bird on Linux) ← Internet / eBGP → upstream C / upstream D
路由器通过 VPN 连接。路由在两个节点之间与 IBGP 共享,并且通常由最短的 AS 路径选择。节点之间的防火墙仍然关闭。因此,连接跟踪不应该成为问题。转发 ( net.ipv6.conf.all.forwarding=1
) 也被激活。
现在我的问题是:
传出流量(ICMP ping、traceroute ...)在两台路由器上均正常工作。
例如来自路由器 A 的跟踪路由
traceroute to 31173.se (2a03:1b20:1:f104::1:109), 30 hops max, 80 byte packets
1 RouterB (*************) 4.464 ms 4.408 ms 4.384 ms
2 * * upstreamC (*************) 5.522 ms
3 * * *
4 fra-eq5-cr1.ipv6.31173.se (2001:7f8::99b7:0:1) 13.002 ms 12.983 ms 12.928 ms
5 cph-ix1-cr2-et-0-0-2-v2043.ipv6.31173.se (2a03:1b20:8:fe06::1) 21.167 ms 21.107 ms 21.083 ms
6 mlm-vg4-cr2-et-0-0-3-v2029.ipv6.31173.se (2a03:1b20:8:fe00::2) 21.484 ms 21.229 ms 21.230 ms
7 mlm-sp-cr1-ae0.ipv6.31173.se (2a03:1b20:1:fe36::1) 22.516 ms 22.520 ms 22.492 ms
8 mlm-sg-dr1-ae2.ipv6.31173.se (2a03:1b20:1:fe12::2) 56.773 ms 56.750 ms 41.987 ms
9 31173.se (2a03:1b20:1:f104::1:109) 21.872 ms 21.801 ms 21.775 ms
但是,如果返回的路由在另一个路由器上不对称,传入流量(来自 2a03:1b20:1:f104::1:109)会部分失败(此处,跟踪路由应首先到达路由器 A,因为它来自上游 A) :
traceroute to RouterA (*************), 30 hops max, 80 byte packets
1 mlm-sg-dr1-v104.ipv6.31173.se (2a03:1b20:1:f104::1) 4.306 ms 4.185 ms 4.072 ms
2 mlm-sp-cr1-ae1.ipv6.31173.se (2a03:1b20:1:fe12::1) 22.329 ms 22.232 ms 22.080 ms
3 ams-eq6-cr1-et-0-0-2-v2037.ipv6.31173.se (2a03:1b20:3:fe02::1) 11.838 ms 12.009 ms 11.909 ms
4 upstreamA (*************) 12.860 ms 12.732 ms 12.672 ms
5 upstreamA (*************) 20.225 ms 20.345 ms 20.289 ms
6 * * *
7 * * *
-- Traceroute timed out --
执行 tcpdump 时,它实际上显示了路由器 A 上的传入数据包和路由器 B 上的传出回复数据包,但回复似乎永远不会到达原始目的地 (2a03:1b20:1:f104::1:109)。
您对我如何解决这个问题有什么想法吗?