Vitalii
ssh -L -R
да, спасибо! Я как раз этим путем и иду, но сеть докера наклаыдвает свои сложности)) Как раз описываю всю схему чтобы самому понять и другим пояснить)
Evgeny
Какие сложности?
Vitalii
там с роутингом траблы, сейчас покажу с текстом и картинкой)
Vladimir
ты ссш делаешь на хост с докером или прямо в докер контейнер?
Vladimir
мало ли, вдруг у тебя в контейнере ещё и ссш поднят
Vladimir
это вобще былобы самое простое пожалуй
Vitalii
на хост с докером)
Denis
условия дебажить на удаленной тачке в контейнере. ты шутишь должно быть
Бывают истории типа... У вас специфичный TCP протокол с оператором связи где разрешен всего 1 коннект с 1 адреса единственного
Alf 🙀
мало ли, вдруг у тебя в контейнере ещё и ссш поднят
я бы плюсанул если бы тут можно было
Vladimir
заюзать какой нить systemd заменитель в контейнере
Vitalii
в моем случае нужно просто настроить роутинг пакетов правильный.
Vladimir
ну это надо опыт иметь, я знаю не так много людей кто это слёту сможет сделать
Vladimir
да харош уж спорить на тему того как правильно
Denis
ага и этот специфический TCP протокол реализован на PHP, потому что могу, да?
Он на питоне но какая разница для дебага и анализа проблем ?
Denis
ага и этот специфический TCP протокол реализован на PHP, потому что могу, да?
Если вы расскажите как с такими кейсами жить кроме как тестируя на проде фактически, буду рад
Denis
:)
Alf 🙀
Если вы расскажите как с такими кейсами жить кроме как тестируя на проде фактически, буду рад
у меня джва вебсокеты в проде и мы научились тестировать барахло с моками, без боли, не на проде ну и нормальными логами.
Denis
Ээээм
Alf 🙀
Если вы расскажите как с такими кейсами жить кроме как тестируя на проде фактически, буду рад
и когда у билда в проде есть проблемы есть дампы этой проблемы и всегда можно сделать себе локально пулл и запустить контейнер замокав определенный интерфейс.
Vladimir
в питоне есть ремоут дебагинг.
по моему вопрос был немного про другое вообще
Alf 🙀
по моему вопрос был немного про другое вообще
ну там человек про питон начал вопросы задавать. типа как дебажить.
Denis
какой смысл мокать его ?
Denis
тоесть с той стороны приходить какое то дерьмо которое не регламентированно \ не описано в спецификации
Denis
дампы дело хорошее да.
Denis
только не то чтобы очень удобное
Vladimir
ну там человек про питон начал вопросы задавать. типа как дебажить.
по моему там просто про абстрактный какой то протокол
Alf 🙀
только не то чтобы очень удобное
удобное/информативное - это всегда трейдофф
Denis
мы про "1 коннект 1 адрес, непонятно как тестировать, а проблемы иногда вылезают"
Alf 🙀
мы про "1 коннект 1 адрес, непонятно как тестировать, а проблемы иногда вылезают"
я если честно плохо понимаю при чем тут это и какую именно тему это покрывает вот сейчас
Alf 🙀
но если у вас проблема на интерфейсе надо садится и смотреть что реализовано на разных концах и что конкретно не так имплиментированно
Alf 🙀
но это совсем не про то, о чем изначально шла речь
Vitalii
Я описал и нарисовал все, что у меня тут происходит)
Vitalii
Vitalii
Коллеги, прошу помощи в настройке и отладке сети. Понятия не имею как дебажить и не понимаю куда копать, не хватает теор. знаний :( Есть сервер с внешним IP 61.15.45.13. Внутри сервера есть два интерфейса: eth0 10.8.182.135 - вроде, сюда приходит интернет. docker0 172.17.0.1 - созданный докером Вот вывод ip route на сервере: default via 10.8.182.134 dev eth0 10.8.182.134/31 dev eth0 proto kernel scope link src 10.8.182.135 172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 172.20.0.0/16 dev br-01eabe9373bf proto kernel scope link src 172.20.0.1 172.24.0.0/16 dev br-c8cef1e61b4f proto kernel scope link src 172.24.0.1 На сервере поднят ряд контейнеров для проекта. Докер соединил их в сеть с такими параметрами Subnet: 172.24.0.0/16 Gateway: 172.24.0.1/16 В одном из контейнеров крутится php вместе с xdebug. В настройках xdebug указаны параметры подключения к дебаг клиенту: xdebug.remote_host=172.17.0.1 xdebug.remote_host=9001 По этим параметрам должен быть доступен сервер xdebug клиента, который расположен на моей локальной машине. В данном случае 172.17.0.1 это IP адрес докер-хоста в сети докера - интерфейс docker0. Для пренаправления соединений с дев сервера на локальную машину я использую SSH тунель. Открываю тунель следующей командой: ssh -R 9001:localhost:9001 user@61.15.45.13 Так соединения перебрасываются с удаленной машины на локальную. Вопросы: Мне не понятно, на какой хост со стороны дев сервера биндится 9001 порт? Смею предположить что на 10.8.182.135 (eth0). Если так, тогда как пакеты приходящие на 172.17.0.1:9001 (docker0) роутить на 10.8.182.135 (eth0), чтобы они могли уйти на мой локальный дев комп по открытому тунелю?
Vitalii
:)
Roman
сори, не вникал во весь тред, но не пробовал вот таким образом? https://shippingdocker.com/xdebug/get-working/
Vladimir
опачки
Vitalii
Но вижу что тут тоже контейнеры локально настроены на MacOS рядом с IDE.
Denis
запусти контейнер с --network host и ходи по ssh и всё ))
Vladimir
спасибо, посмотрю.
пробежал по диагонали. Там подрузамевается что из докера напрямую видно дев тачку
Vladimir
парню только надо прокинуть коннект
Vladimir
больше я так понял никаких изменений вносить нельзя
Vitalii
Ну по картинку и описанию вроде понятно что куда и как идет.
Vladimir
да, всё понятно
Vitalii
Вопрос как между docker0 и eth0 сделать проброс коннекта))
Vitalii
а может он уже есть... я даж хз как отдебажить это))
Alf 🙀
Но вижу что тут тоже контейнеры локально настроены на MacOS рядом с IDE.
чувак, у тебя там напутано, 172.17.0.1 - это дефолт сетка, но на самом деле ты создаешь сетку 24 которая и отвечает за твой енв
Alf 🙀
ну и соответственно в ремоут хост надо указывать хост твоей тачки а не ип твоей дефолт докер сетки
Denis
да никак с SSH
Denis
ssh это же прокси с порта на порт
Denis
доступ внутрь сети с хоста удаленного есть.
Vitalii
чувак, у тебя там напутано, 172.17.0.1 - это дефолт сетка, но на самом деле ты создаешь сетку 24 которая и отвечает за твой енв
Из контейнера надо увидеть хост тачку... я нагуглил что из контейнера докер хост виден как 172.17.0.1. Разве нет?
Denis
не важно, суть в том что это прокси порта а не роутинг.
Vitalii
ну соответсвтенно это показывает ifconfig
Denis
самый просто вариант это просто в iptables сделать правило которое будет делать -J REDIRECT
Alf 🙀
и того у тебя три доккер сетки с тремя gw
Alf 🙀
а ходить ты отчего то хочешь через 172.17.0.1
Denis
Из контейнера надо увидеть хост тачку... я нагуглил что из контейнера докер хост виден как 172.17.0.1. Разве нет?
да, но у тебя задача наоборот. чтобы приходя из вне на порт 9001 хост тачки ты попадал на порт контейнера. разве нет ?
Alf 🙀
о котором в контейнере в 24 сетке даже и не знают
Vitalii
да, но у тебя задача наоборот. чтобы приходя из вне на порт 9001 хост тачки ты попадал на порт контейнера. разве нет ?
нет, как раз исходящее соединение идут ИЗ контейнера. И я его хочу направить на докер-хост на порт 9001...а там уже по тунелю уйдет на мою локальную тачку.
Vitalii
но самое главное... что коннект к моей локальной тачке идет ИЗ контейнера.
Alf 🙀
ох
Alf 🙀
там нет никакого конекта там обычный лисн
Alf 🙀
не путай людей
Vitalii
ну как же?
Vitalii
xdebug.remote_host=172.17.0.1 xdebug.remote_host=9001
Denis
так это по умолчанию рабтает