Ответ 1
Я придумал довольно элегантное решение, ожидая, что это будет исправлено командой плагинов vagrant-vmware-workstation.
Я настроил бродягу, настроил public_network с параметром auto_config равным false. (Так что бродяга не перезаписывает файл, который я меняю)
config.vm.network "public_network", auto_config: false
После того, как я установил это, я могу запустить средство обеспечения оболочки для эха в файл, содержащий настройки для eth1 (eth0 всегда является сетью только бродячих хостов)
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
Он запускает оболочку script, передающую IP и сетевую маску в оболочку script в качестве аргументов.
Оболочка script изменяет /etc/sysconfig/network-scripts/ifcfg-eth1
(файл конфигурации для eth1 в CentOS-6.6), затем переходит к перезагрузке сети, чтобы настройки вступили в силу.
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
Как я уже сказал, похоже, что это была ошибка на некоторое время. Я создал самое изящное исправление, которое я мог на данный момент.