Попытка проксирования TCP-трафика через удаленный сервер

Попытка проксирования TCP-трафика через удаленный сервер

За последние несколько дней я попробовал несколько вещей, чтобы заставить мой VPS-прокси-трафик TCP (в зависимости от порта) передаваться на мой домашний сервер (оба сервера Ubuntu).

Клиент <------> VPS <------> Домашний сервер

Если говорить точнее, у меня есть домашний сервер, на котором запущены некоторые приложения, которые я хочу скрыть за моим VPS (не в той же подсети), и я хочу, чтобы исходный IP-адрес сохранялся, когда клиент пытается получить доступ к приложению на моем домашнем сервере.

В настоящее время я использую потоки NGinx в качестве обратного прокси-сервера. Он работает довольно хорошо, но клиентский IP теряется (заменяется IP моего VPS). Есть возможность сохранить его, proxy_bind $remote_addr transparent;но для этого потребуется, чтобы мой домашний сервер выводил трафик на мой VPS как шлюз (и у меня нет решения для этого, если они оба не находятся в одной сети).

Я пробовал использовать SSH Port Forwarding, но исходный IP также теряется (заменяется на локальный IP моего домашнего сервера). Я также пробовал IP Gre tunneling (не получилось в итоге...)...

Думаю, для меня было бы лучше, если бы мой VPS и домашний сервер были соединены через туннель?

Клиент <------> ( VPS <-tunneled-> Домашний сервер )

Но, как я уже сказал, все, что мне нужно, это отправлять трафик, определенный через порт VPS, на мой домашний сервер с сохраненным исходным IP-адресом и моим IP-адресом VPS в качестве IP-адреса сервера.

Надеюсь, кто-нибудь найдет решение!

Хорошего дня !

решение1

В конце концов я отказался от поиска универсального решения и использовал HAProxy в сочетании с Postfix и Dovecot. Смотретьhttps://www.linuxbabe.com/mail-server/smtp-imap-proxy-with-haproxy-debian-ubuntu-centos

Связанный контент