我有 2 个 Cisco 路由器,每个路由器都有一个 Internet 馈送,仅为 BGP 提供默认路由,这允许我们在每个馈送中通告某些路由。我们没有使用完整的 DFZ,因为虽然我们通常运行所有 Cisco 3925,但我们目前暂时有一个 Cisco 2911,它没有足够的 RAM 来处理 DFZ。
路由器共享一个第 2 层 LAN,使用 Campus vLAN(Router-On-A-Stick)配置,我们真的很想利用这种共享的 LAN 连接并获得一些 Internet 馈送弹性,使用 BGP 不仅通告主要通过其自然归属地路由,但也包括属于其他平台路由器的路由,但带有辅助路由 AS-Path Prepended,使其不如通过其自然归属路由器通告的路由理想,反之亦然。
我们还有一个单独的(当前非活动的)站点,其中有 2 个路由器和一对(当前)备用的 /24s,我正在使用它进行试验,但是我没有成功获得主路由和预置的 AS 路径次要路由,通过同一个 BGP 邻居同时发布。我的测试是在 AS39152 上,路由 91.192.234.0/24 和 91.192.235.0/24,广告到 AS29550,用它来显示我的测试结果:-
% telnet route-server.as3257.net
route-server.as3257.net> sho ip bgp regexp 29550 39152
BGP table version is 25589080, local router ID is 213.200.87.253
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal …Run Code Online (Sandbox Code Playgroud) 我们有一个应用程序,它将在 S3 中存储和提供大量数据给全球受众,其中延迟应该最小化。因此,我们一直在使用 Amazon CloudFront 进行测试并看到了良好的结果。
但是,我们需要一个薄的中间件层(用于安全性等),我们希望将其放在 EC2 中。由于安全限制,此中间件层将从 S3/CloudFront 进行文件流传输:
S3/CloudFront -> EC2 -> 客户端
我们可以在地理上分布 EC2 节点(美国东部/西部和爱尔兰),但问题是欧盟的客户端会访问我们的美国服务器并从那里获取数据,从而使 CloudFront 的大部分性能优势变得毫无意义。我一直在挖掘 EC2 文档,但我找不到一种内置的方式来获取 EC2 的地理分布式版本,例如 CloudFront。
Elastic Load Balancing 听起来像是要走的路,但我似乎无法找到一种基于路由的方法来指导......最好,我们希望将大量内容保留在 EC2/S3/等之外。最低限度(出于显而易见的原因)。
任何想法如何在 EC2/S3 框架内做到这一点?DNS/路由技巧?
谢谢!
任何人都知道我可以在哪里获得按国家/地区划分的自治系统号码用户列表?如果无法按国家/地区获得,则任何类型的列表都可以。谢谢
我有 2 个路由器向不同的提供商宣布一个 /22 子网(一个提供商连接到 2 个路由器中的每一个)。我已将 /22 分成两个 /23,以在每个路由器上宣布一个 /23 加上 /22(提供商将采用更具体的路线)。这允许我进行故障转移并将流量保持在 /23 内进出同一提供商。
有什么其他方法可以让我只用两个路由器宣布 /22 并且让来自路由器后面网络上服务器的数据包从它们进来的同一路由器返回?
编辑:
我遇到的主要问题是最终用户和客户抱怨最多的问题,即最少跳数路由有时不是“最佳”路由。就我而言,我知道提供商 B 可能对 X 国家有更好的延迟。但是当数据包从提供者 B 进来时,它们可能会从提供者 A 或提供者 B 出去。反过来也是如此。如果我从提供商 A 向 X 个国家发送数据包,即使它可能有更多的回跳,该数据包也可能来自提供商 B(该国家/地区可能具有更高的延迟、数据包丢失等)
任何人都可以推荐一个 Win XP 命令行traceroute实现,该实现提供与 Linux“ traceroute -A ”选项等效的功能,该选项在其输出中包含经过的每一跳的 BGP AS 编号(自治系统)?
谢谢
最近,我在一次面试中被问到一个网络问题,我确实回答了,但面试官不满意。问题是:“给定一个正在运行的路由器,您如何知道该路由器正在使用什么路由协议,具体来说,您如何知道它正在运行 OSPF 还是 BGP?在找出它正在运行的内容后,给出任何测试用例您可以用来测试协议是否运行正常”
我给出的答案是假设他问的是 OSPF 和 BGP 之间的区别。我的回答基于我学到的以下主题:
此时他问我是否有更好的方法来查明是 BGP 还是 OSPF。另外,如果我知道如何测试 OSPF 是否刚刚开始运行、是否已经运行,或者是否失败。无论我如何尝试回答,他都一直说“给我一个更好的方法”
那么,是否有其他方法可以区分路由器上运行的协议并测试一般协议?
我们正在尝试设置一个 Gentoo Linux 机器来为我们的互联网连接运行 Quagga BGP 路由器。我们尝试了很多方法,但是我们尝试的所有方法都导致 Quagga 报告没有可用的 BGP 网络并且它永远不会连接到邻居路由器。我认为重新开始将是我们最好的选择,所以我们的问题是:
我们需要使用什么配置 (bgpd.conf/zebra.conf) 才能使以下设置正常工作:(
请注意:我只是选择了几个随机的 Google IP 范围,这些不是真正的 IP 地址)
我们目前有这个设置并通过运行 DD-WRT 固件的 Linksys 家用路由器运行。它像冠军一样工作,但负担开始变得太大了。我们已经考虑了路由器的几种选择,出于各种原因,我不会讨论,运行我们自己定制的路由器似乎是最受欢迎的选择。
预先感谢您的帮助,我们一直在努力解决这个问题!
我的公司通过专门的托管服务提供商为其客户构建各种网站。
该托管服务提供商意外关闭了负责小范围 IP 的边界网关协议 (BGP) 公告的设备。由于我很幸运,这些 IP 之一恰好是分配给负载均衡器的公共 IP 地址,用于我们客户的所有网络流量。结果,该范围的 BGP 路由通告被撤回并很快在全球范围内无法访问。
托管服务提供商在收到警报后修复了该问题,但这让我们损失了超过 15 分钟的停机时间,我们很想在未来避免这种情况。
我们如何监控?它比我们正常的监控级别低很多,它只检查 apache httpd 状态、JVM 等。我们有内部监控,它使用 Advent AppEngine 检查服务器进程、apache 服务器状态响应、应用程序主页响应。
我们是否能够自行采取措施来解决这个问题?例如,通过某种方式发布我们自己的 BGP 公告?
我很高兴得到指示/建议阅读,而不仅仅是直接的答案,因为堆栈的这个级别对我来说是全新的,我想填补我的知识空白。
您知道用于监控 BGP 对等体、前缀、记录其故障、前缀数量等的特殊软件吗?(思科)
(不是 zabbix、nagios 等,我知道您可以编写插件或使用 snmp,但我正在寻找已经编写好的软件)
谢谢!
我已阅读如何使用 DNS 将访问者发送到最近的服务器?帖子,但在实际层面上仍然有一些我不明白的事情。
假设我有两台服务器。一个在纽约,另一个在巴黎。它们都有不同的 IP 地址 1.1.1.1 和 1.1.1.2,由 ISP(或托管公司)分配给它们
我需要遵循哪些步骤,以便欧洲人在输入http://blabla.com:8080时会被转换为距离客户端最近的服务器的 IP?
我的最终目标是通过将用户定向到最近的服务器来提高我编写的 TCP-Socket 应用程序的速度。
更新:谢谢大家的回答。我想在我真正实现这一目标之前,我还有很多东西需要学习:\。
bgp ×10
networking ×4
routing ×3
ip-routing ×2
monitoring ×2
amazon-ec2 ×1
amazon-s3 ×1
anycast ×1
as-number ×1
cisco ×1
gentoo ×1
linux ×1
multi-homed ×1
ospf ×1
quagga ×1
router ×1
tcpip ×1
windows-xp ×1