Рейтинг:0

ssh с тайм-аутом WAN IP

флаг ru

У меня проблемы с настройкой клона ssh для gitea. я использую порт 2222:22 для докера, а на моем роутере настроена переадресация портов. Я мог бы ssh git@localhost -p 2222, но не смог ssh git@<public_ip> -p 2222 с ошибкой Время соединения истекло

Я проверил работу переадресации портов, запустив http-сервер с помощью python3 -m http.сервер 2222 и открыть http://<публичный_ip>:2222 и это работает.

Я запускаю образ докера в openmediavault, который работает как виртуальная машина в proxmox. Я не трогаю настройки брандмауэра для них обоих. Есть идеи?

Проблема решена без какой-либо модификации. Возможно, проблема исходит от xfinity.

Nikita Kipriyanov avatar
флаг za
Пожалуйста, покажите точный вывод `iptables-save` на роутере. Конечно, вы можете замаскировать свой публичный IP-адрес.
jkjkjk avatar
флаг ru
@NikitaKipriyanov У меня нет доступа к этой команде, так как я использую модель Xfinity. Простите за это.
Nikita Kipriyanov avatar
флаг za
Возможно, ваш маршрутизатор устанавливает фильтр для DNAT, который включает исходный интерфейс, т. е. правило DNAT проверяет, является ли входной интерфейс WAN. В этом случае пакет, поступивший на маршрутизатор через LAN-интерфейс, транслироваться не будет. Используйте разделенный DNS и подключайтесь по именам вместо буквальных IP-адресов; таким образом вы можете добиться выбора правильного адреса назначения на основе того, какой DNS-сервер был запрошен, общедоступный или локальный. В небольших масштабах вы можете просто использовать файл hosts.
jkjkjk avatar
флаг ru
@NikitaKipriyanov Спасибо. Но чего я хочу добиться, так это клонировать личные репозитории из WAN. Так что это решение работает только в локальной сети?
Nikita Kipriyanov avatar
флаг za
Я думаю, что неправильно понял вашу проблему. Сожалею. Мне кажется, вы немного перестарались. Кажется, вы настроили свой ssh-сервер на порт 2222 (вот почему `ssh -p 2222` работает), но перенаправили порт на 22. У вас все еще есть строка `Порт 22` в `sshd_config`?
jkjkjk avatar
флаг ru
Да, я позволил sshd в докере слушать порт 22, и там есть эта строка. Я сопоставляю этот порт 22 с портом 2222 на хосте докера.
Nikita Kipriyanov avatar
флаг za
Итак, на маршрутизаторе вы перенаправляете 2222 на порт хоста докера 2222? Где вы запускали http-сервер python - на хосте? У вашего контейнера есть собственный IP-адрес, доступный маршрутизатору, или он маршрутизируется через хост в обоих направлениях?
jkjkjk avatar
флаг ru
Да, я перенаправляю 2222 в своем маршрутизаторе на свой докер-хост 2222. Я запускаю HTTP-сервер на моем хосте докеров. Он маршрутизируется через хост.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.