@
yolee599 事实上 QEMU 真正实用方案里都不用 SLIRP 做 NAT 联网(用户态实现,性能太差),比如 libvirt ,用这个工具配置 NAT 网络用的是虚拟网卡(一般都是 bridge vnet 模式,实际上就是一个不添加物理接口的网桥;并不是那个真正的虚拟网卡 tun/tap )+ iptables NAT 的实现。也就是说 Linux 里,虚拟机的“桥接”和“NAT”都可以是内核实现。
而且不同虚拟化软件的差别也并非“Windows 和 Linux”的差别,主要还是看具体的虚拟化实现方案。
比如说 Linux 的 QEMU ,本体主要是个硬件模拟器,用它来实现全系统虚拟机的功能,自然有一些功能(比如刚才提到的网络;另外还有硬件加速 KVM 等)需要依赖于内核的实现;同时为了方便非 root 、无权限用户,又添加了像 SLIRP 这样的简易的用户态网络实现。
而 Windows 上的 VMWare 软件,本身就是自成一体的虚拟化方案,里面的虚拟网络功能都是自有的实现,不依赖 Windows 本身的桥接、NAT ( Windows 本身也内置 NAT ,比如 ICS 网络共享)等功能。
如果 Windows 上换成 Hyper-V ,情况又不一样。