我有一个带有 4 个物理 NIC 的 Ubuntu 服务器。其中 2 个,我想对主机“隐藏”,因此主机本身可能无法访问这 2 个 NIC 上的流量,只能访问我将它们传递到(直通)的虚拟机。
有人知道好的教程或有简短的描述吗,最好的方法是什么?
这样,我的虚拟机就可以充当防火墙,并且我不会有任何暴露主机的风险。
答案1
关键词是 PCI 直通。使用这种方法,可以将 PCI 设备直接绑定到虚拟机,而主机根本看不到这些设备。
这是 PCI 直通定义的一个示例virt-manager
。
<hostdev mode="subsystem" type="pci" managed="yes">
<source>
<address domain="0x0000" bus="0x08" slot="0x00" function="0x0"/>
</source>
<address type="pci" domain="0x0000" bus="0x05" slot="0x00" function="0x0"/>
</hostdev>
要向 VM 添加设备virt-manager
,请按照以下步骤操作:
1. Make sure the VM is shut down.
2. Open the VM details tab, and click "Add Hardware" on the left bottom.
3. Select `PCI Host Device`.
4. Select your device from the list.
此后,当 VM 启动时,设备将与主机断开连接,并附加到 VM。