我想要一台在 Hyper-V 或 VirtualBox 上运行 VM 的机器。
来自虚拟机的所有流量都应通过 LAN 连接(理想情况下,物理 LAN NIC 完全限制在虚拟机内,并且对主机不可见),并且来自物理主机的所有网络都应通过 wifi 接口。
我已经研究了禁用主机 NIC 网络协议的各种级别,但这会禁用 VM 对 NIC 的访问。
我认为我可以设置一个路由表,将所有已知流量请求强制发送到 LAN 上我想要的服务,其他所有请求都可以发送到 Wifi 路由上的默认网关。因此从技术上讲,我可以让它工作,但我很想知道是否有办法使分离更加直观,并阻止主机访问 NIC/LAN。
答案1
我知道如何做到这一点,因此认为值得发布给其他人。
- 删除物理主机 NIC 属性上除“VM Bridge Protocol”之外的所有协议(TCP4、TCP6 等...)
- 在 VirtualBox 网络属性中将虚拟机网卡设置为“桥接”
- 虚拟机现在可以完全访问物理 NIC,而物理主机却无权访问。
- 物理主机将通过活动的 Wifi 路由所有流量,并且在网络协议方面无法看到物理 NIC。
答案2
确实没有办法做到这一点。
虚拟机上的所有网卡实际上都是带有 vmware 驱动程序的虚拟网卡。
主机必须能够访问两个网卡,否则虚拟驱动程序将无法运行。通常,IP 地址分配也是主机操作系统的功能。
甚至 IP 规则也不起作用,因为如果网络连接与主机桥接,它们将具有相同的 IP。如果是网络地址转换,源 IP 地址将被隐藏。