Am încercat de ore în șir și am nevoie de o contribuție nouă.
Configurația mea:
- Ubuntu VM (UVM) care rulează un container docker care transmite mesaje RabbitMQ către o mașină externă
- Laptop local (LVM) cu Windows 10 care rulează o instanță RabbitMQ în docker pe portul 5672.
Ce incerc sa fac:
Pe UVM-ul meu am configurat un mediu de testare care comunică prin RabbitMQ cu diferite microservicii. Primesc date în acest sistem de testare de care am nevoie pentru dezvoltare ulterioară.
Acum vreau să trimit aceste date prin RabbitMQ către o altă mașină externă LVM. Pe LVM rulez o altă instanță a RabbitMQ pentru a prelua datele transmise.
Ambele mașini se află în aceeași rețea corporativă, dar din cauza regulilor de firewall care nu sunt modificabile, portul 5672 (port AMQP standard) este blocat.
Singura mea speranță este să creez un tunel SSH invers și să las tot traficul RabbitMQ să circule prin acolo.
Ce am facut:
Din LVM creez o redirecționare la distanță a portului SSH:
ssh -R 8888:localhost:5672 utilizator@UVM
Pe UVM am configurat datele de redirecționare a containerului docker pentru a trimite tot traficul către portul 8888 pe UVM prin protocolul RabbitMQ. Am verificat că funcționează prin:
- Găzduirea unei alte instanțe RabbitMQ pe UVM care ascultă în mod specific pe 8888. Conexiunea poate fi stabilită.
- Folosind nc -l -p 8888, care scoate AMQP și niște șiruri formatate ciudat
M-am asigurat că tunelul SSH funcționează între UVM și LVM prin:
- UVM: nc localhost 8888 < test.txt
- LVM: nc -l -p 5672
Conținutul fișierului txt este transmis cu succes.
Mai mult, am oprit LVM RabbitMQ ca să pot nc -l -p 5672 și să văd dacă traficul AMQP ajunge, dar nu.
Deci, pentru a rezuma: știu că transmiterea datelor funcționează corect și știu că tunelul este stabilit corect. Dar din motive care nu mă țin, traficul AMQP nu este transmis prin tunelul SSH.
Poate cineva ajuta cu o sugestie, va rog?
Toate cele bune