Mac升级Big Sur后Homestead报ERR_SOCKET_NOT_CONNECTED无法访问虚拟机
问题根因
你遇到的是VirtualBox 6.1.28及以上版本在macOS Big Sur系统上的已知兼容性问题:苹果新增的安全策略限制了VirtualBox默认可创建的Host-Only私有网段范围,你配置的192.168.10.0/24网段不在默认允许的列表内,导致宿主机无法路由到虚拟机的该IP,才会出现curl报错、直接访问IP失败的情况,而NAT端口转发的localhost:8000不受影响是正常现象。
解决方法(二选一即可)
方法1:修改Homestead网段为VirtualBox默认允许范围(推荐,无需修改系统配置)
- 打开你的
Homestead.yaml文件,将IP配置从192.168.10.10修改为允许范围内的地址,比如:
ip: "192.168.56.10"
VirtualBox 6.1.28+默认允许的Host-Only网段为192.168.56.0/21,即IP倒数第二位在56到63之间的地址都可以正常使用。
2. 打开本地hosts文件,将原来的站点映射修改为新的IP:
192.168.56.10 site.test
- 执行以下命令重建虚拟机生效:
vagrant destroy && vagrant up
方法2:保留原192.168.10.10网段,手动修改VirtualBox允许的网段规则
如果不想改动现有项目的IP配置,可以通过添加系统规则放行该网段:
- 执行以下命令创建VirtualBox网络配置文件,放行
192.168.10.0/24网段:
sudo mkdir -p /etc/vbox sudo tee /etc/vbox/networks.conf << EOF * 192.168.10.0/24 EOF
- 完全退出VirtualBox应用后,执行以下命令重建Homestead虚拟机即可:
vagrant destroy && vagrant up
验证
操作完成后,在宿主机执行curl 192.168.10.10(或你修改后的新IP),能正常返回HTML内容即说明配置生效,直接访问站点域名也可以正常加载页面。
内容的提问来源于stack exchange,提问作者Alex Greaves
相关产品推荐
相关产品推荐

