Как настроить прокси сервер для работы с другой машиной по VPN?
Ресурсы: две машины: одна маломощная (допустим машина А), стоит в ЕС, имеет static ip; вторая стоит в России (машина B), static ip не имеет и не получит, относительно мощная, для поставленных задач подходит. Обе машины работают на Ubuntu server.
Цель: все входящие и исходящие данные для машины B должны проходить через машину А, затем передаваться на машину B по зашифрованному каналу (желательно VPN) и наоборот. Грубо говоря, нужно настроить А как прокси, для клиента работа с машиной А должна быть равна работе с машиной B, ip машины B клиент знать не должен, трафик должен быть всегда зашифрован между машиной А и В. Для клиента эта вся связка должна быть незаметна, как будто он всегда работает с машиной В, а никакой машины А между ним и В нет. Машина B должна быть доступна для подключения извне через машину A.
Надеюсь смог донести мысль, прошу оффтоп не писать
Так уже ж все сказано.
Поднимаете между машинами VPN (машина B коннектится к А), на машине А нужные порты форвардятся на Б по ВПН. Предположительно, клиентыне лазят не по ssh, а по https, следовательно может только 80/443 будет достаточно.
По какому протоколу должно происходить общение клиента с целевой машиной? Если что-то TCP-based, то хорошо. UDP-based - хуже, но тоже можно.
Машина_B инициирует соединение с машиной_A. Далее ставим на машине_A Static-NAT (Port-redirect) нужного порта. И ещё - Dynamic-NAT для того, чтобы машина_B получала обращения от машины_A.
Или можно обойтись без NAT - средствами SSh. Кстати, тогда и VPN Не нужен - в SSh всё это есть.
По TCP если через OpenVPN - долго, ipSec - сложно, Так что видимо WireGuard, а значит UDP.
Как Статик NAT будет знать куда направлять данные, если у машины Б динамический адрес? Его можно настроить для постоянного обновления адреса или я что-то не понимаю?
Вопрос был про протокол общения клиента с сервером (клиент думает, что общается с машиной_A; но реально запросы перенаправляются на машину_B, которая является сервером).
Как Статик NAT будет знать куда направлять данные, если у машины Б динамический адрес?
После установления VPN-соединения - на машине_A и на машине_B возникают новые IP-адреса. Их можно сделать статическими.
Ну, для прояснения: у машины_B всегда есть статический адрес 127.90.0.1; правда, для данных целей он бесполезен - просто как пример того, что статические адреса бывают и там, где провайдер не даёт статических адресов.
Его можно настроить для постоянного обновления адреса или я что-то не понимаю?
Такой вариант тоже есть: правила NAT можно назначать/отменнять (добавлять/удалять) в момент установки/разрыва VPN-соединения. Как правило, у VPN-клиента/сервера есть (можно указать) скрипты, которые будут запускаться при соответствующих событиях.
Насчёт SSH, не уверен даже как искать про это статьи, что в поиске вбивать. "Static NAT SSH"? Буду благодарен за ссылку