2

We are running rabbit v3.8.3-1.el7, erlang v23.3.3.el7, kernel 3.10.0-1062.12.1.el7.x86_64, release Centos 7.7

I have three nodes that I would like in disc mode, cdvlhbqr23[1-3]

However I'm running into an issue after attempting to enable TLS on erlang.

[ cdvlhbqr231:rabbitmq ] 10.128.3.231 :: root -> rabbitmqctl status Error: unable to perform an operation on node 'rabbit@cdvlhbqr231'. Please see diagnostics information and suggestions below. Most common reasons for this are: * Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues) * CLI tool fails to authenticate with the server (e.g. due to CLI tool's Erlang cookie not matching that of the server) * Target node is not running In addition to the diagnostics info below: * See the CLI, clustering and networking guides on https://rabbitmq.com/documentation.html to learn more * Consult server logs on node rabbit@cdvlhbqr231 * If target node is configured to use long node names, don't forget to use --longnames with CLI tools DIAGNOSTICS =========== attempted to contact: [rabbit@cdvlhbqr231] rabbit@cdvlhbqr231: * connected to epmd (port 4369) on cdvlhbqr231 * epmd reports node 'rabbit' uses port 25672 for inter-node and CLI tool traffic * TCP connection succeeded but Erlang distribution failed * suggestion: check if the Erlang cookie identical for all server nodes and CLI tools * suggestion: check if all server nodes and CLI tools use consistent hostnames when addressing each other * suggestion: check if inter-node connections may be configured to use TLS. If so, all nodes and CLI tools must do that * suggestion: see the CLI, clustering and networking guides on https://rabbitmq.com/documentation.html to learn more Current node details: * node name: 'rabbitmqcli-23412-rabbit@cdvlhbqr231' * effective user's home directory: /var/lib/rabbitmq/ * Erlang cookie hash: MudCW7tn3FA5sTmC1FlR0g== 

I've double checked the cookie file and it's identical across all nodes. All of the hostnames are correct and consistent across the nodes. So I assume this has to be directly the result of ssl / tls

Here's what the node config looks like:

[ cdvlhbqr231:rabbitmq ] 10.128.3.231 :: root -> cat /etc/rabbitmq/rabbitmq.config [ {rabbit, [ {vm_memory_high_watermark, 0.4}, {vm_memory_high_watermark_paging_ratio, 0.5}, {memory_alarms, true}, {disk_free_limit, 41686528}, {cluster_partition_handling, autoheal}, {tcp_listen_options, [binary, {packet, raw}, {reuseaddr, true}, {backlog, 128}, {nodelay, true}, {exit_on_close, false}, {keepalive, true} ] }, {cluster_nodes, {['rabbit@cdvlhbqr231', 'rabbit@cdvlhbqr232', 'rabbit@cdvlhbqr233'], disc}}, {loopback_users, []}, {tcp_listeners, [{"0.0.0.0",5672}]}, {ssl_listeners, [{"0.0.0.0",5671}]}, {ssl_options, [ {cacertfile,"/etc/pki/tls/certs/ca-bundle.crt"}, {certfile,"/etc/rabbitmq/ssl/cert.pem"}, {keyfile,"/etc/rabbitmq/ssl/key.pem"}, {verify,verify_peer}, {versions, ['tlsv1.2']}, {fail_if_no_peer_cert,false} ]} ] }, {rabbitmq_management, [{ listener, [ {port, 15672}, {ip, "0.0.0.0"}, {ssl, true}, {ssl_opts, [ {cacertfile,"/etc/pki/tls/certs/ca-bundle.crt"}, {certfile,"/etc/rabbitmq/ssl/cert.pem"}, {keyfile,"/etc/rabbitmq/ssl/key.pem"}, {verify,verify_peer}, {versions, ['tlsv1.2']} ]} ]} ] } ]. 

The private key is generated on the host and signed by an intermediate CA whose pub key is in the systems extracted cert bundle. We generate an "/etc/rabbitmq/ssl/allfile.pem" which is a bundle of the servers private key and signed cert.

The ssl environment for erlang is defined as the following:

[ cdvlhbqr231:rabbitmq ] 10.128.3.231 :: root -> cat rabbitmq-env.conf # Obtaining of an Erlang ssl library path export HOME=/var/lib/rabbitmq/ ERL_SSL_PATH=/usr/lib64/erlang/lib/ssl-9.6.2/ebin # Add SSL-related environment vars for rabbitmq-server and rabbitmqctl SERVER_ADDITIONAL_ERL_ARGS="-pa $ERL_SSL_PATH \ -proto_dist inet_tls \ -ssl_dist_opt server_certfile '/etc/rabbitmq/ssl/allfile.pem' \ -ssl_dist_opt server_secure_renegotiate true client_secure_renegotiate true" # CLI CTL_ERL_ARGS="-pa $ERL_SSL_PATH \ -proto_dist inet_tls \ -ssl_dist_opt server_certfile /etc/rabbitmq/ssl/allfile.pem \ -ssl_dist_opt server_secure_renegotiate true client_secure_renegotiate true" 

I'm not entirely clear what's causing the issue. I thought I had followed the documentation to a T. Can anyone help me review this and see if there is anything obvious I'm missing, or any suggestions on how to trace down this problem?

0

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.