Какие порты использует RabbitMQ?

Какие порты использует или должен открыть RabbitMQ Server на межсетевом экране для кластера узлов?

мой/usr/lib/rabbitmq/bin/rabbitmq-env установлен ниже которого ям, если необходимо (35197).

SERVER_ERL_ARGS="+K true +A30 +P 1048576 \   
-kernel inet_default_connect_options [{nodelay,true}] \  
-kernel inet_dist_listen_min 35197 \   
-kernel inet_dist_listen_max 35197"

У меня неттронулrabbitmq.config установить обычайtcp_listener так что надо слушать по умолчанию 5672.

Вот соответствующие строки netstat:

tcp        0      0 0.0.0.0:4369           0.0.0.0:*           LISTEN      728/epmd 
tcp        0      0 0.0.0.0:35197          0.0.0.0:*           LISTEN      5126/beam
tcp6       0      0 :::5672                :::*                LISTEN      5126/beam

Мои вопросы:

для того чтобы другие узлы могли подключаться к кластеру, должны ли быть открыты все 3 порта 4369, 5672 и 35197?

Почему нетt 5672 работает по TCP, а не только по TCP?

 Norman H22 окт. 2013 г., 14:39
Может получить больше отклика на ServerFault вместо StackOverflow, но яЯ рад, что вы опубликовали это здесь, так как именно это яищу!

Ответы на вопрос(4)

Какие порты использует RabbitMQ?

RABBITMQ_NODE_PORT переменная.

https://www.rabbitmq.com/configure.html#define-environment-variables

Номер может отличаться, если кто-то изменяет его в конфигурационном файле rabbitmq:

vi /etc/rabbitmq/rabbitmq-env.conf

Попросите компьютер сказать вам:

sudo nmap -p 1-65535 localhost

Starting Nmap 5.51 ( http://nmap.org ) at 2014-09-19 13:50 EDT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00041s latency).
PORT      STATE         SERVICE
443/tcp   open          https
5672/tcp  open          amqp
15672/tcp open  unknown
35102/tcp open  unknown
59440/tcp open  unknown

О, смотри, 5672 и 15672

Используйте netstat:

netstat -lntu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 0.0.0.0:15672               0.0.0.0:*                   LISTEN
tcp        0      0 0.0.0.0:55672               0.0.0.0:*                   LISTEN
tcp        0      0 :::5672                     :::*                        LISTEN

О, смотри 5672.

используйте lsof:

[email protected] ~$ sudo lsof -i | grep beam
beam.smp  21216    rabbitmq   17u  IPv4 33148214      0t0  TCP *:55672 (LISTEN)
beam.smp  21216    rabbitmq   18u  IPv4 33148219      0t0  TCP *:15672 (LISTEN)

используйте nmap с другого компьютера, узнайте, открыт ли 5672:

sudo nmap -p 5672 10.0.1.71
Starting Nmap 5.51 ( http://nmap.org ) at 2014-09-19 13:19 EDT
Nmap scan report for 10.0.1.71
Host is up (0.00011s latency).
PORT     STATE SERVICE
5672/tcp open  amqp
MAC Address: 0A:40:0E:8C:75:6C (Unknown)    
Nmap done: 1 IP address (1 host up) scanned in 0.13 seconds

Попробуйте подключиться к порту вручную с помощью telnet, 5671 ЗАКРЫТО:

telnet localhost 5671
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused

Попробуйте подключиться к порту вручную с помощью telnet, 5672 ОТКРЫТО:

telnet localhost 5672
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Проверьте ваш брандмауэр:

sudo cat /etc/sysconfig/iptables  

Он должен сказать вам, какие порты открыты:

-A INPUT -p tcp -m tcp --dport 5672 -j ACCEPT

Повторно примените свой брандмауэр:

sudo service iptables restart
iptables: Setting chains to policy ACCEPT: filter          [  OK  ]
iptables: Flushing firewall rules:                         [  OK  ]
iptables: Unloading modules:                               [  OK  ]
iptables: Applying firewall rules:                         [  OK  ]
 Greg0ry17 янв. 2017 г., 17:15
В случае, если кому-то интересно - по умолчанию rabbitmq будет привязывать только порт 4369 к интерфейсу, указанному вами в rabbitmq-env.conf; Если вы хотите разрешить весь трафик, связанный с rabbitmq, через указанный интерфейс (как я - через выделенную ссылку openvpn), вам придется настроить rabbitmq для прохождения всего другого трафика через этот интерфейс в rabbitmq.conf (в противном случае другие порты победят).не будет привязан к интерфейсу по вашему выбору, но вместо этого будет прослушивать все порты)
 Darth Egregious27 мая 2015 г., 18:48
3 часа? Вы меня переоцениваете.
 Darth Egregious27 мая 2015 г., 17:28
Отличный ответ. Если что, тынемного ушел за борт

Межсетевые экраны и другие средства безопасности могут препятствовать привязке RabbitMQ к порту. Когда это произойдет, RabbitMQ не сможет запуститься. Убедитесь, что следующие порты могут быть открыты:

4369: epmd, одноранговая служба обнаружения, используемая узлами RabbitMQ и инструментами CLI

5672, 5671: используется клиентами AMQP 0-9-1 и 1.0 без и с TLS

25672: используется распределением Erlang для связи между узлами и инструментами CLI и выделяется из динамического диапазона (по умолчанию ограничен одним портом, вычисляется как порт AMQP + 20000). См. Руководство по сети для деталей.

15672: клиенты HTTP API и rabbitmqadmin (только если включен плагин управления)

61613, 61614: клиенты STOMP без и с TLS (только если плагин STOMP включен)

1883, 8883: (MQTT-клиенты без и с TLS, если подключаемый модуль MQTT включен

15674: клиенты STOMP через WebSockets (только если включен плагин Web STOMP)

15675: клиенты MQTT-over-WebSockets (только если включен плагин Web MQTT)

Справочный документ:https://www.rabbitmq.com/install-windows-manual.html

 code509 июл. 2017 г., 23:44
Обновлено с более подробной информацией о ссылке.

Чтобы узнать, какие порты использует rabbitmq:

Выходы:

epmd: up and running on port 4369 with data:
name rabbit at port 25672

Запустите их как root:

lsof -i :4369
lsof -i :25672

Подробнее об опциях epmd.

 asgs10 дек. 2017 г., 19:55
действительно ли требуется рут? Я смог запустить его нормально, как обычный пользователь. Может быть, что-то изменилось в последних версиях?
 dland09 мая 2016 г., 16:52
lsof мучительно медленно ... и требует привилегий root. Вы можете сделать то же самое, гораздо быстрее, сnetstat -an | egrep '\.(4369|25672).*LISTEN'
 Keerthana Prabhakaran21 мар. 2017 г., 05:20
epmd -names помог! благодаря тонну!
Решение Вопроса

Эрланг использует демон сопоставления портов (epmd) для разрешения имен узлов в кластере. Узлы должны иметь доступ к друг другу и демону сопоставления портов, чтобы кластеризация работала.

ПОРТ 35197, установленный inet_dist_listen_min / max Брандмауэры должны разрешать трафик в этом диапазоне проходить между кластерными узлами

Консоль управления RabbitMQ:

ПОРТ 15672 для RabbitMQ версии 3.xПОРТ 55672 для RabbitMQ pre 3.x

PORT5672 Основной порт RabbitMQ.

Для кластера узлов они должны быть открыты друг другу,351974369 а также .5672

Только для любых серверов, которые хотят использовать очередь сообщений5672 необходимо.

 kixorz03 июн. 2014 г., 06:06
Похоже, что порты кластеризации 4369 и 25672 из:rabbitmq.com/clustering.html
 Java Developers Guide05 нояб. 2013 г., 13:03
Можем ли мы отключить порт 5672? Я хочу отключить этот прослушиватель по умолчанию, bcz его HTTP.
 kjw018826 февр. 2013 г., 23:56
Похоже, что порт управления изменился на 15672 в выпусках серии 3.x.
 Kit Ho27 мар. 2013 г., 03:43
это то же самое для Ubuntu 12.04?
 Greg M. Krsak12 мар. 2013 г., 14:29
Похоже, что порт управления изменился на 15672 в 3.x:rabbitmq.com/management.html#configuration
 Marc21 окт. 2016 г., 22:12
где документирован порт 35197? Я могу'нигде официально не найти упоминания в документации

Ваш ответ на вопрос