2016-03-24 60 views
0

我试图通过链接:http://docs.openstack.org/developer/swift/development_saio.html在Ubuntu 12.04 VM上设置'Swift All In One'系统。
当我在VM运行命令curl:(7)无法连接到主机;在openstack swift上拒绝连接

curl -v -H 'X-Storage-User: test:tester' -H 'X-Storage-Pass: testing' http://127.0.0.1:8080/auth/v1.0 

它运作良好,但如果我更改地址“127.0.0.1”为“192.168.254.129”(虚拟机IP地址)和在VM运行命令,如:

curl -v -H 'X-Storage-User: test:tester' -H 'X-Storage-Pass: testing' http://192.168.254.129:8080/auth/v1.0 

失败,并提示 “连接被拒绝”。
我试图关闭虚拟机上的防火墙,它也无法正常工作。
在我看来,这两个命令都应该成功或失败,因为“127.0.0.1”和“192.168.254.129”都指向同一个VM机器。

+0

哪个防火墙? '192.168。*。*'意味着你在路由器或类似的东西后面。你的路由器是否有防火墙?你在路由器上转发了必要的端口吗? –

+0

VM的防火墙。我在Window 7上使用VMware workstation 12 pro并制作Ubuntu VM。 – user5440753

+0

好像你正在使用桥接网络来产生虚拟机,尝试连接你的虚拟机与主机专用网络。 –

回答

0

有与已公布的例子一些潜在的问题:

  1. 端口没有违约。根据您使用的中间件,更改端口可能会非常棘手并导致意外的结果。所以这是不鼓励的。

  2. 您应该将VM配置为使用静态IP配置的专用“仅内部”接口。我更愿意为为主机专用网络创建的接口(例如eth1:0)添加一个VIP,而不是更改虚拟主机创建的接口。

  3. 如果它仍然没有连接,请使(双)确保防火墙不阻止该接口上的连接。 Ubuntu 12.04使用iptables作为默认防火墙。因此,要么确保服务没有运行或刷新输入规则(sudo iptables -F INPUT)。如果有效,那么不要忘记保存iptables配置(sudo service iptables save),以便在重新启动时不会恢复。

  4. 看起来您正尝试使用v1.0身份验证指定租户。这不支持。如果您需要指定与用户分开的租户,则必须使用v2.0 authentication。另外,我看到您正在使用已弃用的“存储”标题。如果您想使用v1.0身份验证,则强烈建议使用X-Auth-UserX-Auth-Key标题。

使用swift command-line client验证服务器是否正确安装也是一个不错的主意。一旦你知道了,那么使用curl可以帮助我们更好地了解协议的工作原理。

+0

我已经更新了上面的问题描述,我在同一个VM上运行这两个命令,“127.0.0.1:8080”VS“192.168.254.129:8080”。但结果变得不同。顺便说一句,我使用VMware工作站12专业版,并使用“主机专用”网络模式。我试图运行“sudo ufw disable”和“sudo iptables -F INPUT”。 – user5440753

+0

如果您安装nmap然后运行nmap 192,结果如何?虚拟机上的168.254.129'? –

+0

主机已启动(延迟0.00030秒)。 未显示:999关闭的端口 PORT STATE SERVICE 80/TCP打开http 的Nmap做到:1个的IP地址(主机1上)在0.10 seconds' – user5440753

相关问题