VirtualBox 升级到6.0.4 后发现这个问题,Mac 主机网速很快,但虚拟机(ubuntu)里网络很慢,首先尝试多种不同的网络连接模式。
都不能解决,再回头调试,发现域名解析很慢,问题定位在 DNS 问题。ping 一下百度,15秒钟才通。
解决方法
网络择默认的NAT 网络地址转换
关键的在主机使用VBoxManage modifyvm
命令修改natdnshostresolver
和natdnsproxy
两个参数。
$ VBoxManage modifyvm "<VM name>" --natdnshostresolver1 on$ VBoxManage modifyvm "<VM name>" --natdnsproxy1 on
<VM name>
是虚拟机名称,如下图的名称是ubuntu-mini-go
这样虚拟机就可以使用主机的DNS,官方文档如下图:
--natdnsproxy<1-N> on|off: Makes the NAT engine proxy all guest DNS requests to the host's DNS servers. See Section 9.10.5, “Enabling DNS Proxy in NAT Mode”.--natdnshostresolver<1-N> on|off: Makes the NAT engine use the host's resolver mechanisms to handle DNS requests. See Section 9.10.5, “Enabling DNS Proxy in NAT Mode”.
改变前后的变化:
$ time curl -s > /dev/nullreal0m15.599suser0m0.012ssys0m0.000s
设置后正常:
$ time curl -s > /dev/nullreal0m0.112suser0m0.007ssys0m0.006s
默认使用127.0.0.53
作 DNS server
$ nslookup > serverDefault server: 127.0.0.53Address: 127.0.0.53#53
参考:
/manual/ch08.html#vboxmanage-modifyvm-networking-nat104/questions/641933/how-to-get-virtualbox-vms-to-use-hosts-dns40