我希望在运行Zentyal防火墙的Xen Project计算机上安装VM。我的机器有三个网卡:一个集成,两个谨慎,类似的卡(他们有相同的Realtek芯片,但来自不同的制造商)。为了使防火墙能够以最佳方式工作,我想要做的是将两个不同的NIC分配并专用于我的防火墙VM,并将集成卡用于Dom0和其他VM。我以前能够与其他虚拟化软件做类似的事情,但是无法找到使用Xen Project的方法。
This page提供了许多有用的配置,但我认为它们中的任何一个都不符合我的要求。这一切都是可能的,还是我必须放弃虚拟防火墙计算机的希望?
答案 0 :(得分:0)
我认为解决此问题的最佳方法是在Xen中使用PCI passthrough。这意味着您可以将1个NIC连接到dom0(然后可以桥接以允许其他VM通过相同的接口连接 - 请查看其中一个Xen articles on network configuration以获取有关如何使用的示例设置它,它就像你只有一个网卡一样)并允许防火墙虚拟机完全控制其他两个网卡。
这个过程有些牵连,可能因分发而异,所以我建议你检查我链接的第一篇文章,但我会描述基本过程。
使用lspci
检查要传递的两个网卡的PCI地址。您的卡片的输出行将类似于以下内容(虽然细节将是非常不同的,结构将是相同的):
00:19.0 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)
00:19.1 Ethernet controller: Intel Corporation 82579LM Gigabit Network Connection (rev 04)
记下第一列(本例中为00:19.0
和00:19.1
)。使用以下格式将其添加到防火墙VM的配置中:
pci=['00:19.0','00:19.1']
这将导致VM无法启动,因为它无法通过设备。为了让设备通过,需要使用以下命令将其绑定到dom0上的pciback驱动程序:
xl pci-assignable-add 00:19.0
xl pci-assignable-add 00:19.1
这可能无法在所有情况下实现,但如果不是,则还有其他方法。我强烈建议您阅读我之前提到的the article,以便完全了解在您的情况下最好的方法是什么。