试图让网络在虚拟机上启动并运行,但遇到了一些我无法弄清楚的困难。
主机操作系统是 Ubuntu 18.04,来宾操作系统是基于 nix 的操作系统,我可以在其中包含和加载必要的驱动程序,例如、virtio
和其他任何东西。vmxnet3
e1000
vmxnet3
如果我编译加载驱动程序的来宾操作系统 VM并在VMware Player
(NAT 网络)上运行它,网络运行良好,我可以使用 scp 等在主机和来宾操作系统之间传输文件。来自ifconfig
来宾操作系统的输出:
virtio
如果我编译加载驱动程序的来宾操作系统 VM并在VirtualBox
(再次是 NAT 网络)上运行它,由于某种原因我无法启动并运行网络。来自ifconfig
来宾操作系统的输出:
我注意到的当然是在 VirtualBox 中我没有为vt0
接口分配 (ivp4) IP。我当然可以运行ifconfig vt0 xxx.xxx.xxx.xxx netmask 255.255.255.0
,但我不确定这是否可以解决问题,至少在尝试通过 ssh/scp 连接到 VM 时它不起作用。
我检查了主机 PC(MTU 1500 的 IP,与来宾操作系统相同,为 172.16.129.1)打开了端口 22;
sudo nmap -sS -p- 172.16.129.1
Starting Nmap 7.60 ( https://nmap.org ) at 2018-06-19 10:47 CEST
Nmap scan report for linux (172.16.129.1)
Host is up (0.000013s latency).
Not shown: 65532 closed ports
PORT STATE SERVICE
22/tcp open ssh
902/tcp open iss-realsecure
1716/tcp open xmsg
所以基本上,除了使用的软件(VMware vs VirtualBox)的明显差异之外,这两个虚拟机之间的唯一区别是为每个虚拟机加载的驱动程序。用于编译来宾操作系统 VM 的其余代码完全相同,没有任何更改,所以我真的很困惑。
我也尝试过e1000
用作驱动程序并在 VirtualBox 中选择一个 Intel NIC 驱动程序,但这也不起作用 - 到目前为止,我在 VirtualBox 中得到的最接近的是使用virtio
驱动程序。
有没有人对我可能会尝试的建议有什么建议,或者知道我在这里可能会忽略什么?例如,是否存在vmxnet3
VirtualBox 的驱动程序?
我当然可以满足于 VMware 解决方案,但我更喜欢使用 VirtualBox,因为这是我在其他情况下使用的 - 我现在刚刚测试了 VMware,看看它是否在那里工作,它确实有效。
发现我没有正确设置 VirtualBox,因此它根本不起作用。我没有将
Paravirtualization interface
VirtualBox 中的设置为KVM
,因此virtio
未启用驱动程序。既然已经处理好了,这一切就像一个魅力 - 我可能被我不必在 VMware 播放器中执行此操作这一事实所愚弄。