vagrant中如何设置公网网关
Posted
技术标签:
【中文标题】vagrant中如何设置公网网关【英文标题】:How to set up gateway of public network in vagrant 【发布时间】:2014-03-07 18:22:17 【问题描述】:我正在使用 vagrant 设置我的 Virtualbox Centos VM。我正在设置一个公共网络。
config.vm.network :public_network, ip: "10.135.15.137"
如何设置网关?
【问题讨论】:
【参考方案1】:为ubuntu添加netplan解决方案,设置公网默认网关。在重新启动后保持不变。
config.vm.provision "shell", inline: <<-SHELL
cat <<EOF >> /etc/netplan/60-override.yaml
---
network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: yes
dhcp4-overrides:
use-routes: false
eth1:
dhcp4: true
EOF
netplan apply
sleep 5
SHELL
【讨论】:
【参考方案2】:Vagrant 2.0.1 对此有一个配置选项,文档中对此进行了说明:
Vagrant → Networking → Public Networks → Using the DHCP Assigned Default Route
为方便起见,以下是相关部分(检索于 2018-05-15):
使用 DHCP 分配的默认路由
某些情况需要 DHCP 分配的默认路由保持不变。在这些情况下,可以指定 use_dhcp_assigned_default_route 选项。举个例子:
Vagrant.configure("2") do |config| config.vm.network "public_network", use_dhcp_assigned_default_route: true end
【讨论】:
【参考方案3】:根据(新)文档,设置网关可以通过在 Vagrantfile 中执行以下指令来完成:
# default router
config.vm.provision "shell",
run: "always",
inline: "route add default gw 192.168.0.1"
在http://docs.vagrantup.com/v2/networking/public_network.html阅读标题为默认路由器的完整示例。
【讨论】:
您可能还想指定您想要的网络接口:sudo route add default gw 10.0.0.1 eth1
【参考方案4】:
很遗憾,Vagrant 目前不支持此功能。
但有添加它的请求,例如GH-2832 和GH-2389。后者还有一些 shell 配置程序示例,您可以使用它来解决它。
【讨论】:
以上是关于vagrant中如何设置公网网关的主要内容,如果未能解决你的问题,请参考以下文章