我有一条既直接连接到路由器又通过 iBGP 接收的路由。使用quagga,如果我telnet到bgpd并运行show ip bgp,我可以看到表中的路由为iBGP路由和直连路由,但直连路由当然是首选。
当我通过关闭接口来关闭直连路由时,直连路由不会从 bgp 表中删除,它仍然是首选。在内核路由表中,不再有该路由的任何条目。发生这种情况时,如何确保路由表正确更新?
我有 2 个路由器向不同的提供商宣布一个 /22 子网(一个提供商连接到 2 个路由器中的每一个)。我已将 /22 分成两个 /23,以在每个路由器上宣布一个 /23 加上 /22(提供商将采用更具体的路线)。这允许我进行故障转移并将流量保持在 /23 内进出同一提供商。
有什么其他方法可以让我只用两个路由器宣布 /22 并且让来自路由器后面网络上服务器的数据包从它们进来的同一路由器返回?
编辑:
我遇到的主要问题是最终用户和客户抱怨最多的问题,即最少跳数路由有时不是“最佳”路由。就我而言,我知道提供商 B 可能对 X 国家有更好的延迟。但是当数据包从提供者 B 进来时,它们可能会从提供者 A 或提供者 B 出去。反过来也是如此。如果我从提供商 A 向 X 个国家发送数据包,即使它可能有更多的回跳,该数据包也可能来自提供商 B(该国家/地区可能具有更高的延迟、数据包丢失等)