Vagrant VMWare Public:无法自动设置静态



我正在使用VMWare插件。我目前正在使用以下:

config.vm.network "public_network", ip: "172.17.255.13", netmask: "255.255.255.0"

它确实建立了BRIDGED连接,但它是BRIDGED DHCP连接。

有没有人成功使用静态IP?

这是一个 CentOS-6.6 盒子。

更新:这是特定的 VM 配置,创建者没有删除/etc/中需要在 VM 打包之前清除的文件

我在等待 vagrant-vmware-workstation 插件团队修补时提出了一个非常优雅的解决方案。

我设置了流浪者设置了一个public_network,auto_config设置为 false。(所以流浪者不会覆盖我更改的文件)

config.vm.network "public_network", auto_config: false

设置完成后,我可以运行一个 shell 配置器来回显到包含 eth1 设置的文件(eth0 始终是 vagrant 的主机专用网络)

config.vm.provision "shell" do |s|
    s.path = "setIP.sh"
    s.args   = ["192.168.1.150", "255.255.255.0"] #ip/netmask
    privileged = "true"
end
它运行一个 shell 脚本,将

IP 和网络掩码作为参数传递到 shell 脚本中。

shell 脚本修改/etc/sysconfig/network-scripts/ifcfg-eth1(CentOS-6.6 中 eth1 的配置文件),然后继续重新启动网络以使设置生效。

setIP.sh:

echo Setting IP to $1, Netmask to $2
cat <<EOF > /etc/sysconfig/network-scripts/ifcfg-eth1
#PACHONK SET-IP CONFIG BEGIN
IPADDR=$1
NETMASK=$2
ONBOOT=yes
DEVICE=eth1
#PACHONK SET-IP CONFIG BEGIN
EOF
#Restart networking to make IP active
/etc/init.d/network restart

就像我说的,看起来它已经有一段时间了。我创建了我暂时能做的最优雅的修复。

根据这个错误线程,人们在使用vmware_fusion作为提供者时遇到了同样的问题; 而 is 正在与virtualbox提供者合作。

似乎已经发布了VMware Fusion/Workstation plugin v3.2.0,并为此进行了错误修复。尝试将 VMWare 插件更新到此版本,然后再次测试。

但是如果我们看一下 Vagrant VMWare 插件 3.2.0,它提到:

核心:静态IP适用于公共网络(专用网络有 总是有效)

新发布的版本(> 3.2.0)中似乎没有任何内容可以解决此问题。

原来我们使用的 CentOS 基础流浪盒子有某种问题。我手工打包了一个全新的 CentOS 流浪者盒子,它能够使用流浪插件进行配置。

最新更新