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:
Aby inne węzły mogły połączyć się z klastrem, należy wykonać wszystkie 3 porty 4369, 5672 i 35197 być otwartym?
Dlaczego 5672 nie działa na tcp, a nie tylko na tcp6?
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 klastrowymiKonsola 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
.
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 ]
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
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
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