我们正在尝试设置 Gentoo Linux 机器来运行 Quagga BGP 路由器,以用于我们的互联网连接。我们尝试了很多方法,但所有尝试都导致 Quagga 报告没有可用的 BGP 网络,并且它从未连接到邻居路由器。我认为重新开始将是我们最好的选择,所以我们的问题是:
我们需要使用什么配置(bgpd.conf/zebra.conf)来使以下设置正常工作:
(请注意:我只是选择了几个随机的 Google IP 范围,这些不是真正的 IP 地址)
- 路由器 IP:74.125.53.103/29
- 路由器 AS:9283
- 公共 IP 范围:209.85.171.0/24(这些是我们使用的通过上面列出的路由器运行的公共 IP 地址)
- 邻居 IP:74.125.53.104/29
- 邻居 AS:9283
我们目前已安装此设备并通过运行 DD-WRT 固件的 Linksys 家用路由器运行。它运行良好,但负载开始变得过大。我们考虑了几种路由器选项,出于各种原因(我不会详述),运行我们自己定制的路由器似乎是首选。
提前感谢您的帮助,我们一直在努力解决这个问题!
答案1
这是另一个示例,具有基本过滤功能(没有 RFC1918 入站路由,仅宣传您的本地前缀:
路由器 bgp YOURASN bgp 路由器 ID BGP_ROUTER_IP_ADDRESS 网络 209.85.171.0/24 邻居 myisp 对等组 邻居 myisp 远程-as ISPASN 邻居 myisp 分发列表 3 邻居 myisp 分发列表 4 出 邻居 myisp 过滤器列表 2 出 邻居 ISP_ROUTER_IP_ADDRESS 对等组 myisp 距离 bgp 150 150 150 ! 访问列表 3 拒绝 10.0.0.0 0.0.0.255 访问列表 3 拒绝 192.168.0.0 0.0.255.255 访问列表 3 拒绝 172.16.0.0 0.15.255.255 访问列表 3 允许任何 访问列表 4 允许 209.85.171.0 0.0.0.255 ! ip as-path 访问列表 2 允许 ^$
答案2
这是您在 bgpd.conf 中可能需要的最小值。
router bgp YOURASN
bgp router-id 74.125.53.103
network 209.85.171.0/24
neighbor 74.125.53.104 remote-as ISPASN
它并不美观,在开始考虑添加多个上游之前,您确实应该添加一些前缀列表等,这样您就不会意外地在两个 ISP 之间宣传整个全局表。话虽如此,如果 gentoo 盒仅用作路由器而没有其他用途,请获取一份 vyatta 社区版并使用它。
答案3
如果两个路由器具有相同的 AS,您将执行 iBGP,因此不会交换所有路线,仅最佳路线,如果事实上不同的路由器不是同一内部网络/自治系统的一部分,那么事情就不会按照您预期的方式运行。
答案4
我一直在使用 Quagga 发布一些关于 Anycast DNS 的文章,所以我对它相当熟悉。我目前正在撰写的文章是 OSPF,我遇到的一个问题是我的 Quagga Box 看不到 OSPF 邻接或上游路由器。我不得不向 IPtables 添加防火墙规则以允许 OSPF 协议工作。您确定您已设置正确的防火墙规则以实现 bgp 对等连接吗?我认为它是 BGP 的 TCP 端口 179...
一篇好文章:
使用 Quagga 包在 Cisco 硬件和 Linux Gentoo 上配置和测试 BGP
(档案链接,原来的重定向至俄语版本)