我正在使用VMWare插件。我目前正在使用以下内容:
config.vm.network "public_network", ip: "172.17.255.13", netmask: "255.255.255.0"
它确实建立了BRIDGED
连接,但它是BRIDGED DHCP
连接。
有没有人成功使用静态IP?
这是一个CentOS-6.6 Box。
更新:这是特定的VM配置,创建者没有删除/ etc /中需要在VM打包前清除的文件
答案 0 :(得分:5)
我想出了一个非常优雅的解决方案,等待这个由vagrant-vmware-workstation插件团队修补。
我设置vagrant设置一个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和Netmask作为参数传递给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
像我说的那样,看起来它已经有一段时间了。我创造了目前最优雅的解决方案。
答案 1 :(得分:1)
根据this bug thread,人们在使用vmware_fusion
作为提供者时遇到了同样的问题;正在与virtualbox
提供商合作。
v3.2.0
的{{1}}似乎已经发布了错误修正版。尝试将VMWare插件更新到此版本并再次测试。
但如果我们看一下3.2 Vagrant VMWare Plugin,它会提到:
核心:静态IP适用于公共网络(专用网络具有 总是有效)
新发布的版本(&gt; 3.2.0)似乎没有解决这个问题。
答案 2 :(得分:0)
原来我们使用的CentOS基本流浪盒有某种问题。我手工打包了一个新的CentOS流浪盒,它可以使用vagrant插件进行配置。