配置Openstack时,遇到的错误总结

我是按照FlatDHCP的模式来配置Openstack的网络的,这里记录一下遇到的问题和解决方法。

1.Openstack的虚拟机实例可ping通外网,但外网无法ping通实例。

可使用如下的命令查看compute节点上的防火墙信息,

iptables -L -n
在输入命令后,看到我的compute节点网桥ip(192.168.1.49)被drop掉了,如下图所示,所以,猜想,可能是由于网桥的ip被drop了,导致外网无法ping通虚拟机实例。

于是使用如下两条命令,来将第三条和第四条nova-network-FORWARD转发规则变成ACCEPT,

iptables -R nova-network-FORWARD 3 -j ACCEPT
iptables -R nova-network-FORWARD 4 -j ACCEPT

 命令执行完后使用如下的命令再查看iptables时,发现iptable的规则已经改变了。 

此后就可以在其它机器上ping通我们的虚拟机实例了。

在解决这个问题时,还查了一些资料,这里备注一下:

需要设置openstack的安全规则,将icmp添加到安全规则中,命令如下:

nova secgroup-add-rule default icmp -1 -1 0.0.0.0/0
这个命令的意思是,往default安全组里添加icmp协议,然后源端口与目的端口都是-1,这个-1我也是搞不明白什么意思,从nova-network的源码猜测是对端口不做限制,然后ip写成0.0.0.0/0也表示不限制。

if group_id:
            values['group_id'] = group_id
            # Open everything if an explicit port range or type/code are not
            # specified, but only if a source group was specified.
            ip_proto_upper = ip_protocol.upper() if ip_protocol else ''
            if (ip_proto_upper == 'ICMP' and
                    from_port is None and to_port is None):
                from_port = -1
                to_port = -1
            elif (ip_proto_upper in ['TCP', 'UDP'] and from_port is None
                  and to_port is None):
                from_port = 1
                to_port = 65535

2.在Dashboard里,不能通过vnc连接到虚拟机

这里有可能是由于ubuntu的防火墙引起的,我没有考虑太多,直接使用如下命令,把防火墙关了就好了,虽然有点暴力。

ufw disable

3.无法远程桌面连接Openstack的虚拟机

症状是:虚拟机可以ping通,可通过主机名用RDP访问虚拟机。我遇到这个问题时,因为有了前两次错误的经历,所以猜测是openstack 的安全组规则导致的无法通过RDP连接虚拟机,于是通过Dashboard添加了default安全组的规则,将TCP协议添加至安全组中,端口范围是1到65535,ip是0.0.0.0/0。设置完成后,问题就解决了,虽然也有点暴力。也可使用命令来完成这一工作,命令如下:

nova secgroup-add-rule default tcp 1 65535 0.0.0.0/0

4.无法正常删除实例

当nova delete intanceID不能删除实例时,可通过以下两条命令,将实例删除。
$ nova reset-state c6bbbf26-b40a-47e7-8d5c-eb17bf65c485
$ nova delete c6bbbf26-b40a-47e7-8d5c-eb17bf65c485




  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值