OpenStack安装时Compute节点连不上RabbitMQ

我的环境:CentOS + OpenStack Liberty
compute节点连不上controller的rabbitmq。但是controller上的nova服务可以连接上,rabbitmq也正常

log如下:

18-1041-481c-9fb7-91ffe8b6dfdd - - - - -] AMQP server on controller:5672 is unreachable: [Errno 113] EHOSTUNREACH. Trying again in 2 seconds.
2016-04-12 05:51:33.132 10797 ERROR oslo.messaging._drivers.impl_rabbit [req-24f24018-1041-481c-9fb7-91ffe8b6dfdd - - - - -] AMQP server on controller:5672 is unreachable: [Errno 113] EHOSTUNREACH. Trying again in 2 seconds.

其实问题主要是Iptabes的原因。
但是我在安装Ubuntu14.04+OpenStack Liberty的时候没有这个问题
其中禁用Selinux和Firewall就可以解决问题。但是这个方法并不推荐。
因为OpenStack的网络中很多安全机制是通过Iptables来进行的。
那么恰当的方法就是吧RabbitMQ的端口的Iptables给设置成forward
rabbitmq端口是5672

iptables -I INPUT -p tcp --dport 5672 -j ACCEPT

这样就可以解决了。
重启Iptables
Ubuntu:

service iptables save
service iptables restart

CentOS:

/etc/init.d/iptables save
/etc/init.d/iptables restart

这样Compute节点就可以连上Controller的RabbitMQ了。

你可能感兴趣的:(rabbitmq,centos,openstack,AMQP,连不上)