KVM 上的虚拟防火墙

KVM 上的虚拟防火墙

我计划运行专用的防火墙发行版,但我想在 KVM VM 中运行它。

我有一台带有 2 个 NIC 的机器,我打算将它们分配给 WAN 和 LAN。但是,这两个 NIC 都不支持 VT-d,因此 PCI 直通根本行不通。因此,我考虑使用私有模式的 macvtap 作为 WAN 接口,使用标准桥作为 LAN 接口。

我只是想知道:我该如何处理该 WAN 接口?假设它被称为 eth0,并且有一个处于私有模式的 macvtap 与其链接,从而分配了防火墙 WAN 接口。如何在 Linux 主机中配置 eth0 接口本身?您是否将其设置为手动模式,从而不为其分配 IP?您是否为其分配了 IP、静态还是 DHCP?您是否还使用 IPTABLE 规则保护它?

我只是想知道,如何安全地实现这种类型的设置,以保护主机和虚拟防火墙客户端免受 WAN 端的侵害?

非常感谢您提供的任何建议!

答案1

实际上,您可以按照自己想要的方式在主机上配置父设备。您可以将接口保留为“手动”模式,并添加一个接口来与主机操作系统通信。或者,当然,您可以在接口上设置静态或 dhcp 配置,就像您没有使用 macvtap 一样。

这里唯一需要注意的是,如果您选择在父设备上分配地址,主机将无法与防火墙虚拟机通信。这是因为数据包将从父接口发送到交换机,并且如果它不支持发夹模式(目标接口与源接口相同),则不会传回帧。

但是,在您的设置中,所有流量都最好先通过防火墙虚拟机,因此您只需将主机上的接口保持在手动模式即可。这样,主机上的 TCP/IP 堆栈将不会接受任何传入数据包,并且所有通信都将通过 macvtap 传输到防火墙虚拟机。

相关内容