Z jakich portów korzysta RabbitMQ?

Jakich portów używa lub potrzebuje Serwer RabbitMQ otwarty na firewallu dla klastra węzłów?

Moje /usr/lib/rabbitmq/bin/rabbitmq-env jest ustawione poniżej, które zakładam, że są potrzebne (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"

Nie dotknąłem rabbitmq.config, aby ustawić własne tcp_listener, więc powinno nasłuchiwać na domyślnym 5672.

Oto odpowiednie linie 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

Moje pytania to:

  1. Aby inne węzły mogły połączyć się z klastrem, należy wykonać wszystkie 3 porty 4369, 5672 i 35197 być otwartym?

  2. Dlaczego 5672 nie działa na tcp, a nie tylko na tcp6?

 112
Author: Brad Koch, 2012-10-09

4 answers

[[5]}PORT 4369: Erlang używa demona Mapera portów (epmd) do rozwiązywania nazw węzłów w klastrze. Węzły muszą być w stanie dotrzeć do siebie i demona mapera portów, aby klastry działały.

/ Align = "left" / 35197 ustawione przez zapory inet_dist_listen_min / max muszą zezwalać na przepływ ruchu w tym zakresie między węzłami klastrowymi

Konsola zarządzania RabbitMQ:

  • PORT 15672 dla RabbitMQ w wersji 3.x
  • PORT 55672 dla RabbitMQ pre 3.x

PORT 5672 Główny port RabbitMQ.

Dla gromady węzłów, muszą być otwarte dla siebie na 35197, 4369 i 5672.

Dla wszystkich serwerów, które chcą korzystać z kolejki komunikatów, wymagane jest tylko 5672.

 126
Author: bluemalkin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-19 18:00:33

Jakich portów używa RabbitMQ?

Domyślnie: 5672, instrukcja zawiera odpowiedź. Jest zdefiniowana w zmiennej RABBITMQ_NODE_PORT.

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

Liczba może być inna, jeśli ktoś zmieni ją w pliku konfiguracyjnym rabbitmq:

vi /etc/rabbitmq/rabbitmq-env.conf

Poproś komputer, aby ci powiedział:

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
# Patrz 5672 i 15672]}

Użycie 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
# Patrz 5672

Użyj lsof:

eric@dev ~$ 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)

Użyj nmap z innej maszyny, sprawdź, czy 5672 jest otwarte:

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

W przypadku połączenia z portem telnet, 5671 jest zamknięte:

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

W przypadku braku połączenia z Internetem, 5672 jest otwarty:

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

Sprawdź swój firewall:

sudo cat /etc/sysconfig/iptables  

Powinno ci powiedzieć, jakie porty są wykonane otwarte:

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

Ponownie zastosuj firewall:

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  ]
 59
Author: Eric Leschinski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-30 20:40:38

Aby dowiedzieć się jakich portów używa rabbitmq :

$ epmd -names

Wyjścia:

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

Uruchom je jako root:

lsof -i :4369
lsof -i :25672

Więcej o opcjach epmd.

 12
Author: Mick,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-08 21:50:10

Dostęp Do Portu

Firewalle i inne narzędzia zabezpieczające mogą uniemożliwić powiązanie RabbitMQ z portem. Kiedy tak się stanie, RabbitMQ nie uruchomi się. Upewnij się, że można otworzyć następujące porty:

4369: epmd, usługa peer discovery używana przez węzły RabbitMQ i narzędzia CLI

5672, 5671: używane przez klientów AMQP 0-9-1 i 1.0 Bez i z TLS

25672: używany przez dystrybucję Erlanga do komunikacji między węzłami i narzędziami CLI i jest alokowany z zakresu dynamicznego (domyślnie ograniczony do Pojedynczego portu, obliczany jako port AMQP + 20000). Szczegółowe informacje można znaleźć w przewodniku sieciowym.

15672: klienci HTTP API i rabbitmqadmin (tylko jeśli wtyczka zarządzania jest włączona)

61613, 61614: klienci STOMP Bez i z TLS (tylko jeśli wtyczka STOMP jest włączona)

1883, 8883: (klienci MQTT Bez i z TLS, jeśli wtyczka MQTT jest włączona

15674: klienci STOMP-over-WebSockets (tylko jeśli wtyczka Stomp jest włączona)

15675: MQTT-over-WebSockets (tylko jeśli wtyczka Web MQTT jest włączona)

Reference doc: https://www.rabbitmq.com/install-windows-manual.html

 5
Author: code5,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-09 21:43:27