You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel Homestead移除Host Only适配器,改用单一Bridged适配器

解决Laravel Homestead仅保留Bridged Network适配器的问题

我之前也踩过这个坑!Homestead的默认配置会自动添加NAT和Host Only适配器,要只保留Bridged的话,咱们直接修改核心配置文件就行,不用瞎折腾调试脚本,步骤很清晰:

1. 修改 homestead.rb 中的网络配置

找到Homestead安装目录下的 homestead.rb 文件(通常在 ~/.composer/vendor/laravel/homestead/ 或者你本地克隆的Homestead仓库里),定位到处理网络的代码块——通常是一段判断settings["ip"]来创建private_network(也就是Host Only)的逻辑。

替换成Bridged网络配置

把原来的Host Only配置代码:

if settings["ip"]
  config.vm.network "private_network", ip: settings["ip"]
else
  config.vm.network "private_network", ip: "192.168.10.10"
end

替换为Bridged网络的配置:

# 添加Bridged网络适配器
config.vm.network "public_network", 
  bridge: "你的网卡名称", # 比如Windows的"以太网"、macOS的"Wi-Fi"
  use_dhcp_assigned_default_route: true

# 禁用Vagrant默认自动创建的NAT适配器
config.vm.network :forwarded_port, disable: true

如果你不想手动指定网卡名称,可以去掉bridge: "你的网卡名称"这一行,Vagrant启动时会弹出列表让你选择可用的网卡。

2. 更新 Homestead.yaml 配置

打开你项目根目录的 Homestead.yaml,删掉里面的ip字段——这个字段是用来配置Host Only适配器的IP的,留着会让Homestead自动创建Host Only适配器,导致出现三个网卡的问题。

3. 重新加载Vagrant配置

在终端切换到Homestead目录,执行命令重新加载并配置虚拟机:

vagrant reload --provision

额外注意事项

  • 禁用NAT后,原来的端口转发(比如80→8000、3306→33060)会失效,你可以直接用Bridged网络分配给虚拟机的局域网IP访问应用,比如http://192.168.1.100(具体IP可以在虚拟机里用ip a查看)。
  • 如果调试homestead.rb的话,重点看configure_network方法,Homestead所有网络相关的逻辑都在这里处理,确保没有额外的private_network配置被悄悄添加。

内容的提问来源于stack exchange,提问作者addi2113

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:12:34