我想构建一台运行 Windows 的防火墙机器。它将用于为我的约 40 个用户的网络进行 HTTP 和 HTTPS 内容过滤以及一般防火墙。
我计划使用白盒 PC 来实现这一点;我的主板有一个板载 NIC。板载 NIC 和我计划安装的 PCI NIC 都是千兆卡。
就稳定性和性能而言,使用板载网卡更好,还是添加第二个 PCI 网卡更好?
答案1
主板上的 NIC 将通过某种总线(PCI、PCIe 或 USB)进行内部连接。通常,系统主板制造商会选择能够支持 NIC 全部带宽的总线类型。实际上,总线类型几乎从来都不是这里的限制因素 - 更重要的考虑因素是 NIC 是否支持校验和卸载以及它是否可靠。
不管哪种情况,CPU 的参与程度完全取决于 NIC 的实现,尤其是硬件中完成的工作量以及驱动程序中完成的工作量。话虽如此,您的 GbE 防火墙不太可能受到 CPU 的限制。
在任何实际情况下,您都不会注意到板载 NIC(最近几乎总是 PCI 设备)和附加卡之间的任何区别,假设它们都是 GbE NIC。
话虽如此,某种专用防火墙设备可能会提供更好的性能,同时降低功耗、空间要求、安全面和成本。根据您上面的评论,看起来您可能需要一个既能做防火墙又能做 HTTP 和 HTTPS 代理的安全设备;它们确实存在。
答案2
如果您想建立自己的防火墙(硬件和开源软件),我建议您满足以下要求(粗略)
您的 Internet 连接甚至不会接近 NIC 的物理吞吐量 :) 所以让我们忽略 GbE 连接已经足够的事实。如果此防火墙还会切换/路由内部连接,则要求会变得更有趣。
对于您的使用情况,简单的 Intel Atom 或 AMD APU 就足够了。(仅用于路由和/或交换)
如果您想要使用 DPI(深度数据包检测(通过 snort))或代理服务(通过 Squid)之类的功能,您将需要更强大的功能,因为需要分析每个 TCP 数据包或整个流并选择如何处理它。
正如我在开头提到的,一个简单的开源软件解决方案是普富思 pfSense 为您提供了简单的 Web GUI 和包管理。它可以在您办公室里留下的所有硬件上运行。
只需根据自己的意愿(或计算机容量)添加网卡,然后启动防火墙/交换/路由等。
随着您在机器上运行的每个服务的扩展,您应该考虑添加更多内存、更多 CPU 或硬盘用于缓存(代理)
这个硬件对我以前的学校来说已经足够了(我在那里做一些 IT 工作),它大约有 100 个同时在线的用户。(仅路由、防火墙和代理服务器)-> 索克里斯
编辑:哦,关于你关于 PCI 或 PCIe 的问题,这根本不重要,因为总线接口足够快,可以连接单个 GbE。如果你想要服务器 10 GbE,那么我更喜欢 PCIe :) 板载或额外卡也一样。虽然板载卡与你的北桥/南桥/CPU 的连接与额外卡相同。(取决于你的架构)