我正在使用 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 插件团队修补这个问题时,我想出了一个非常优雅的解决方案。
我设置了 vagrant,设置了一个 public_network,auto_config 设置为 false。 (所以 vagrant 不会覆盖我更改的文件)
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 的配置文件)然后继续重新启动网络以使设置生效。设置IP.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
就像我说的,看起来它已经有一段时间了。我暂时创建了最优雅的修复程序。
关于 Vagrant VMWare公共(public): Unable to set static automatically,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29921891/