我有大约 30 台服务器连接到 Cisco 3500 系列交换机,上行带宽为 100M。我的一台或多台服务器会定期进行大文件传输,这将完全饱和网络并导致其他设备 10-15% 的数据包丢失。我需要一个好的解决方案来 1) 在所有服务器上按 IP 地址监控带宽 2) 防止任何给定 IP 消耗超过 50% 的可用带宽 3) 优先考虑某些协议(流式流量、SSH),并降低其他流量(BitTorrent、SMTP、FTP)的优先级。我可以使用该交换机按端口监控流量,但除了设置端口速度外,这不会给我任何 IP 级别可见性,也不会给我任何带宽控制。
我有一台备用的 Dell R200,配有双 1G NIC,可以用于此目的,而且我对 Linux 相当熟悉。我知道可以使用 IPTABLES、TC 和 HTB 来实现,但我更希望使用更完整的解决方案,并带有完善的文档和管理界面。如果答案是购买 Cisco XXX,我也可以接受,但由于我手头有一台服务器,所以我想先尝试一下。
所以问题是:哪种 Linux/BSD 防火墙/路由器/QOS 解决方案可以满足这些要求?我在http://en.wikipedia.org/wiki/List_of_router_or_firewall_distributions,但我正在寻找其中任何一个的实际经验。
答案1
针对这种情况预先打包的解决方案会很棒,但我还没有找到理想的解决方案。我的具体设置是较小的无线 ISP,但它存在类似的问题,即阻止特定客户端淹没网络。我使用了两种解决方案:
- 初始化或者初始化。这两种方法都简化了管理各种 tc 队列和过滤的管理。如果您已经了解 tc 和整形,这可能是一种帮助管理各种队列的好方法。这是我用于大多数带宽管理服务器的解决方案。效果很好,但没有集成到 iptables 中来标记流量。我们使用 tc 过滤器,但它们不太理想。
- 这shorewall 防火墙项目是一个用于一般防火墙管理的 Linux 软件包。它包括对带宽管理的支持,并且似乎允许使用 iptables 规则标记软件包,我发现这更容易处理。学习难度较大,但从长远来看可能是值得的。
答案2
您可以使用 Mikrotik RouterOS 进行流量工程。您可以在以下位置查看流量工程功能http://wiki.mikrotik.com/wiki/Category:Manual这可能适合你的需要。
答案3
为什么不在交换机上使用 IOS 中的某些速率限制和 QoS 功能?