Обратный SSH-туннель в контейнер Docker

мне нужно xdebug что-то, что выходит из строя на сервере в докер контейнере и с моего ноутбука я запустил ssh -R 9000:localhost:9000 server и проверил туннель telnet localhost 9000. Пока все хорошо, у меня есть связи.

теперь на сервере я сделал

iptables -t nat -I PREROUTING -p tcp -d 172.17.42.1 --dport 9000 -j DNAT --to 127.0.0.1:9000 

наконец, я зафиксировал проблемный экземпляр docker и запустил

docker run  --net=host -t  -i snapshot /bin/bash

внутри контейнера telnet 172.17.42.1 9000 отказывается от подключения.

2
задан chx
27.11.2022 9:22 Количество просмотров материала 3480
Распечатать страницу

2 ответа

я столкнулся с той же проблемой, за исключением того, что у меня было два контейнера, подключенных вместе с --link, поэтому --net=host не будет работать для этого situtaiton.

при выполнении ssh порт вперед к удаленному хосту с помощью ssh -R 9000:localhost:9000 server, an lsof -P -i -n может показывать, что порт привязан к серверам loopback устройство, которое выглядит так:

sshd 39172 ubuntu 9u IPv4 2941407 0t0 TCP ::1:9000 (LISTEN)

этот интерфейс обратной связи недоступен для сети внутри контейнера docker. Я исправил это, добавив GatewayPorts yes к файлу sshd_config на сервере и перезапуску sshd.

перенаправленный порт 9000 затем привязывается к обычному интерфейсу и доступен из контейнера docker. (и от любого другого хоста, если на то пошло).

3
отвечен Mixologic 2022-11-28 17:10

@barlop с комментарием оказалась весьма полезной. Я удалил правило iptables, а затем попытался запустить nc -l -p 1234 а то nc -l 127.0.0.1 -p 1234 а потом в контейнере попробовал telnet localhost 1234 и это сработало. Поэтому я старался telnet localhost 9000 и он работал! Я думаю, что это не было раньше, но кажется, что сейчас. Так: не надо никаких правил iptables, он просто работает с --net=host. Тем не менее, lsof-i :9000 по-прежнему ничего не отображает, и возможно, я только проверял это раньше.

Edit:netstat -anl |grep :9000 в контейнер показывает открытый порт как прослушиваемый. как lsof не. Сверхъестественный.

0
отвечен chx 2022-11-28 19:27

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх