我将 virtualbox 升级到了 6.1.32-dfsg-1~ubuntu1.21.10.1(我想,之前是 6.1.18 升级的),现在 vagrant boxes 不再能通过 box-IP 在浏览器中使用,就像以前多年来一直使用的那样。
如果我vagrant ssh
进入该框,我只会在 /var/log/syslog 中看到以下内容:
Mar 23 09:26:11 ubuntu-focal multipathd[485]: sda: failed to get udev uid: Invalid argument
Mar 23 09:26:11 ubuntu-focal multipathd[485]: sda: failed to get sysfs uid: No data available
Mar 23 09:26:11 ubuntu-focal multipathd[485]: sda: failed to get sgio uid: No data available
Mar 23 09:26:12 ubuntu-focal multipathd[485]: sdb: add missing path
...
在我看来这并不那么重要,所以我很困惑,在哪里寻找更多证据?
新版本中的网络设置可能发生了一些变化。这些是 Virtualbox 中虚拟机的设置:
如果我调用盒子内的服务并且w3m http://localhost
一切正常,那么问题一定出在网络方面:
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 02:b8:29:08:49:94 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
valid_lft 84953sec preferred_lft 84953sec
inet6 fe80::b8:29ff:fe08:4994/64 scope link
valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 08:00:27:86:81:53 brd ff:ff:ff:ff:ff:ff
inet 192.168.33.66/24 brd 192.168.33.255 scope global enp0s8
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fe86:8153/64 scope link
valid_lft forever preferred_lft forever
调用也w3m http://192.168.33.66
可以正常工作,但在 10.0.2.15 上我没有得到 web 服务,只ping 10.0.2.15
在该 IP 上工作。
如何在我的主机上的浏览器中重新获得访问权限?
答案1
我将 vagrant 更新到版本 2.2.19,然后重新安装了 vbguest-plugin
vagrant plugin uninstall vagrant-vbguest
vagrant plugin install vagrant-vbguest
在 VirtualBox 6.1.26 之后,允许的 IP 范围更改为 192.168.56.0/21,因此如果您选择 192.168.56.2 和 192.168.59.254 之间的 IP,则可以再次从外部访问该框
仅供参考:
要摆脱中的错误消息syslog
,请编辑/etc/multipath.conf
文件以匹配以下内容(这也会将其他常见设备列入黑名单,如 CDRom 驱动器等)
defaults {
user_friendly_names yes
}
blacklist {
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st|sd[a-z])[0-9]*"
}
并重新启动 multipathd:
systemctl restart multipathd