2

我正在尝试通过 vagrant(Vagrant 版本 1.0.6)在虚拟机上安装 chef-server 11。

在 Vagrantfile 中设置如下:

config.vm.box_url = "opscode-ubuntu-12.04.box"
config.vm.network :bridged
config.vm.forward_port 80, 8080

我无法通过受保护的 localhost 或受保护的 localhost:8080(重定向到https://vagrant.vm/)访问 chef-server。

当我将网络设置为 hostonly 时它工作正常

但我对桥接感兴趣,因为它需要被任何外部网络访问。

我正在遵循的步骤:

  1. 流浪起来
  2. 流浪者 ssh
  3. 在虚拟机中:dpkg -r chef(因为 chef 10 已经在 opscode-ubuntu-12.04.box 中)
  4. 然后 dpkg -i chef-server_11.0.6-1.ubuntu.12.04_amd64.deb
  5. sudo chef-server-ctl 重新配置
  6. sudo chef-server-ctl status :一切都好
  7. sudo chef-server-ctl test : 所有 70 个示例绿色

谢谢

4

1 回答 1

0

Chef 服务器尝试将您重定向到https://hostname/. 这就是为什么尝试更改 vm 的主机名和/或添加主机的主机文件记录的原因。

您的虚拟机中还有两个接口。解决方案:

eth0 - NAT,仅转发两个端口。打开 https 并在 hosts-file 中使用 eth0s 的 ipaddres

或者

在 hosts-file 中使用 eth1 的 ipaddress,因为该接口实际上是桥接的。

/etc/主机:

...
<ip_address> <hostname_of_vm>

PS。在组织网络中,桥接网络应该可以工作,因为服务器自动在网络中注册了 dhcp/dns(当然,如果组织支持它)。

OHAI 也可能返回错误的 fqdn/ip,因为它尝试绑定到第一个接口 (eth0/10.0.2.15)。

尝试这个:

vagrant up --no-provision
vagrant ssh
sudo route del default
sudo route add default dev eth1 # just find a way to get eth1' route as default
^D
vagrant provision
于 2013-09-06T17:10:20.713 回答