VirtualBox 升级到6.0.4 后发现这个问题,Mac 主机网速很快,但虚拟机(ubuntu)里网络很慢,首先尝试多种不同的网络连接模式。
都不能解决,再回头调试,发现域名解析很慢,问题定位在 DNS 问题。ping 一下百度,15秒钟才通。
解决方法
网络择默认的 NAT 网络地址转换
关键的在主机使用 VBoxManage modifyvm 命令修改 natdnshostresolver 和 natdnsproxy 两个参数。
$ VBoxManage modifyvm "" --natdnshostresolver1 on
$ VBoxManage modifyvm "" --natdnsproxy1 on
是虚拟机名称,如下图的名称是 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 http://www.baidu.com > /dev/null
real0m15.599s
user0m0.012s
sys0m0.000s
设置后正常:
$ time curl -s http://www.baidu.com > /dev/null
real0m0.112s
user0m0.007s
sys0m0.006s
默认使用 127.0.0.53 作 DNS server
$ nslookup
> server
Default server: 127.0.0.53
Address: 127.0.0.53#53
参考: