我build立一个服务器作为我的100mbps上行链路在ISP的BGP边界路由器。
我需要这些function:
1)双栈BGP对等/路由(至less100Mbps,可能更多)。 2)潜在的完整的互联网BGP饲料。 3)一些基本的ACLfunction。
硬件是L3426 / 8G RAM。 NIC将是板载双端口Broadcom 5716。
我之前已经广泛地使用过Linux,它似乎能够处理100mbps,但是我听说FreeBSD在networking上的速度更快。 我应该使用哪一个? 那么我们有一些性能基准数字吗?
干杯。
多年来,我们为关键基础设施完成了这一切。 通过Quagga的bgpd ,我们获取了三个完整的上游BGP源,并使用高达658MB的RAM来运行整个系统。 为了达到这个目的,Debian比我们的经验中的其他操作系统要坚实得多(同时它也需要更less的安全更新,最小的安装空间,比我们尝试过的其他两个操作系统的重启次数要less得多)。 我们使用Ksplice,所以我们只启动关键软件包更新。 不要担心与ISP的其他供应商的兼容性… RIPE RIR使用Quagga!
令人惊讶的是硬件不是那么重要,而是关于网卡。 快速的CPU基本上只是意味着如果刷新会话(假设你有一个GB的内存,他们加载到内存)加载前缀更快,所以一个入门级的四核是大规模超标。 我们花了很长时间尝试不同的网卡,根据我们的经验,最好的是使用igb驱动程序的英特尔网卡(约100英镑/网卡,我们使用:82576,ET双端口服务器网卡)。 有一些考虑因素,比如你的入口和出口NIC如何与主板通信,但是对于低于250Mbps的你可能不会注意到,如果你使用这些网卡。 我们利用这种架构(它使用路由器难以处理的最小的UDP数据包)排斥了复杂的UDP DDoS攻击。 请记住,能够处理最高数据包数量是您最关心的,而不一定是以Mbps为单位的吞吐量。 对于很less的钱,我们已经指定了千兆位多主机路由器,可以处理标准的Internet大小数据包,即正常操作,高达850Mbps!
我从思科开始( bgpd的configuration几乎相同,所以如果你有思科工具包的经验,这是一个非常快速的过渡),但是因为Linux是如此的可塑性(例如能够添加一些低资源脚本路由器来帮助报告和pipe理员)恕我直言,使这种types的设置令人难以置信的强大(和低估)。 如果您仍然有疑问或需要进一步的帮助,阅读一些Nanog邮件列表存档 ,您不会有太大的错误。
这应该让你在Debian上很快就开始: Easy Quagga教程
他们都是有能力的平台。 在良好的服务器级硬件上运行像Debian或Centos一样坚实的东西。 确保指定具有英特尔服务器网卡的服务器,它们的稳定性要好于Broadcomm。
就BSD和Linux而言,很简单..select你最擅长的任何一个。
我已经看到旧的Celeron处理80-90Mb / s的正常stream量的Debian / Quagga设置与3全饲料甚至没有打破汗水。 但是,限定符有“正常”的stream量,主要是HTTP / SMTP和DNS。 在DDOS情况下,同样的机器在他们的脸上已经变得平坦起来,每秒的数据包数量主要是UDP数据包。
通常不是你通常需要担心的带宽,而是你将要处理的PPS。
不幸的是,我不能帮你在Linux VS BSD上寻找路由性能的一部分,但对于几个100Mb连接,目前的商品硬件应该没有什么区别。
Quagga(Zebra)可以在Linux和BSD上运行。 Linux的networking性能并不比BSD糟糕。 所以,你只能考虑select平台的附加标准。
数据点:
我在Fedora上运行了一对戴尔R200服务器,其中一台在1GigE链路上已经看到500Mbps的高峰,NAT,iptables,LVS,quagga,bgpd。 在100Mbps,任何现代硬件应该做的很好。 为了处理完整的表格,你应该能够从思科或瞻博networking咨询相应的RAM需求,并从那里开始。 即使没有过滤,1 GB的RAM也足够了。 我的路由器运行2 GB的configuration,但我只采取默认路由。