Я пытался в течение нескольких часов, и мне нужен новый вход.
Моя установка:
- Виртуальная машина Ubuntu (UVM), на которой запущен док-контейнер, который перенаправляет сообщения RabbitMQ на внешний компьютер.
- Локальный ноутбук (LVM) с Windows 10, на котором запущен экземпляр RabbitMQ в докере на порту 5672.
Что я пытаюсь сделать:
На своем UVM я настроил тестовую среду, которая взаимодействует через RabbitMQ с различными микросервисами. Я получаю в эту тестовую систему данные, которые мне нужны для дальнейшей разработки.
Теперь я хочу переслать эти данные через RabbitMQ на другую внешнюю машину LVM. В LVM я запускаю еще один экземпляр RabbitMQ для получения пересылаемых данных.
Обе машины находятся в одной корпоративной сети, но из-за неизменяемых правил брандмауэра порт 5672 (стандартный порт AMQP) заблокирован.
Моя единственная надежда — создать обратный туннель SSH и пропустить через него весь трафик RabbitMQ.
Что я сделал:
Из LVM я создаю переадресацию удаленного порта SSH:
ssh -R 8888: локальный: 5672 пользователь @UVM
В UVM я настроил данные пересылки контейнера Docker для отправки всего трафика на порт 8888 в UVM по протоколу RabbitMQ. Я проверил, что это работает:
- Размещение другого экземпляра RabbitMQ на прослушивании UVM, в частности, на 8888. Соединение может быть установлено.
- Использование nc -l -p 8888, которое выводит AMQP и какую-то строку в странном формате
Я убедился, что туннель SSH работает между UVM и LVM:
- UVM: nc localhost 8888 < test.txt
- LVM: nc -l -p 5672
Содержимое txt файла успешно передано.
Кроме того, я отключил LVM RabbitMQ, чтобы выполнить команду nc -l -p 5672 и посмотреть, поступает ли трафик AMQP, но этого не происходит.
Итак, подведем итог: я знаю, что пересылка данных работает правильно, и я знаю, что туннель установлен правильно. Но по независящим от меня причинам трафик AMQP не ретранслируется через туннель SSH.
Может ли кто-нибудь помочь с предложением, пожалуйста?
С наилучшими пожеланиями