【发布时间】:2016-09-19 08:21:57
【问题描述】:
我已经预配置了一个 RHEL 映像,我不知道它最初是如何设置的。 默认情况下,它在 ip 192.168.50.50 上配置了本地网络接口。我想做的是从 Vagrant 脚本配置它的 ip。
这似乎没有任何作用:
config.vm.network "private_network", ip: "192.168.50.10"
这确实改变了ip:
sudo nmcli con mod bond0 ipv4.addresses 192.168.50.10/24
service network restart
但是在那之后显然 Vagrant 不会自动检测到要连接的 ip,所以我需要添加:
config.ssh.host = LOCAL_IP
但问题是:第一次时,ip 是默认的 (.50.50)。所以我还不能将config.ssh.host 设置为我想要的IP。如果我省略了 config.ssh.host 行,它会第一次运行,但不会在之后运行,vagrant ssh 也会失败。
有没有办法在第一个vagrant up和第二个vagrant up之间不编辑Vagrant脚本就可以设置盒子ip?
编辑:vagrant up --debug 命令的结果:http://pastebin.com/BTccc4NT
编辑:问题在于默认框中的 Vagrant 文件(在 Windows 上,位于 C:\Users\user\.vagrant.d\boxes\nameofbox\virtualbox\Vagrantfile)本身有以下行:
config.vm.network "private_network", ip: "192.168.50.50", auto_config: false
【问题讨论】:
-
通常
config.vm.network "private_network", ip: "192.168.50.10"应该可以解决问题,因此可能还有其他问题,您是否有强制 ip 的配置脚本?你能运行vagrant up --debug &> vagrant.log并将日志文件发布到 pastebin 的某个地方吗(文件会非常大,但如果正确运行正确的命令会详细说明) -
谢谢。我附上了日志。我现在无法对此进行进一步的调查,我明天再做。我可以看到 192.168.50.10 字符串出现在日志中,但不能真正说出它的含义。
标签: linux networking ssh vagrant rhel