默认情况下,Vagrant 使用 NAT 网络模式,而不是桥接网络模式。要使用桥接网络模式,您需要在 Vagrantfile 中进行配置。
以下是一个使用桥接网络模式的示例 Vagrantfile:
“`
Vagrant.configure(“2”) do |config|
config.vm.box = “ubuntu/xenial64”
config.vm.network “public_network”
end
“`
在此 Vagrantfile 中,我们使用 `config.vm` 选项设置网络配置。我们指定 `public_network` 作为网络类型,这将使用桥接网络模式。如果您的网络环境中存在 DHCP 服务器可能会导致 IP 地址冲突。如果出现此类问题,请尝试使用静态 IP 地址或配置 DHCP 服务器以避免冲突。
请注意,桥接网络式可能需要进行一些外的配置,例如指定网络接口。如果您遇到问题,请参考 Vagrant 文档或网络搜索以获取更多帮助。
即使您在 Vagrantfile 中启用了桥接网络模式,Vagrant 仍然会默认启用 NAT 网络模式。这是因为 NAT 网络模式提供了一些便利,例如访问互联网和 Vagrant 内部网络的通信。
在此情况下,NAT 网络模式仅用于访问互联网和 Vagrant 内部网络的通信,而桥接网络模式仅用于将虚拟机连接到主机。这种组合可以提供更好的网络性能和灵活性。
如果您希望完全禁用 NAT 网络模式,可以在 Vagrantfile 中使用以下配置:
“`
Vagrant.configure(“2”) do |config|
config.vm.box = “ubuntu/xenial64”
config.vm.network “public_network”, bridge: “en0: Wi-Fi (AirPort)”
config.vm.provider “virtualbox” do |vb|
vb.customize [“modifyvm”, :id, “–natdnsproxy1”, “off”]
vb.customize [“modifyvm”, :id, “–natdnshostresolver1”, “off”]
end
end
“`
在此 Vagrantfile 中,我们使用 `config.vm.network` 选项设置桥接网络模式,然后使用 `config.vm.provider` 和 `vb.customize` 选项禁用 NAT 网络模式的 DNS 代理和主机解析器。这将完全禁用 NAT 网络模式,使虚拟机只能从桥接网络中访问主机和网络。
最后一步,参考本站修改默认网关:Linux系统(Debian)如何切换默认网卡