Туннельные / прямые соединения с сервера 1 на сервер 2

Я потратил некоторое время на исследования, но не нашел рабочего решения следующей проблемы:

Я хочу туннелировать любые запросы на сервере 1, порт x на сервер 2, порт x. Порт остается прежним, я просто хочу туннелировать любые данные, отправляемые на сервер 1 через порт x, на сервер 2.

Соединение будет выглядеть так:

Клиент> Сервер 1> туннель> Сервер 2

и наоборот:

Сервер 2> туннель> Сервер1> Клиент

Возможно ли это? Если да, то как? Оба сервера работают под управлением Debian 8.

Пожалуйста, извините меня, если это общий вопрос для новичков, но я только начинаю работать с серверами и прочим.

Спасибо ^^

1
задан 20 May 2016 в 15:27
1 ответ

Это называется прокси-сервером. Да, это возможно, если включить модуль пересылки на server1, а затем добавить соответствующие правила пересылки в свой iptables.

Например:

* На server1:
Включить пересылку:

echo "1" > /proc/sys/net/ipv4/ip_forward  
sysctl net.ipv4.ip_forward=1  

Добавить правила переадресации для Iptables

iptables -t nat -A PREROUTING --dst server1_ip -p tcp --dport portX -j DNAT --to-destination server2_ip:portX
iptables -t nat -A POSTROUTING -p tcp --dst server2_ip --dport portX -j SNAT --to-source server1_ip
iptables -t nat -A OUTPUT --dst server1_ip -p tcp --dport portX -j DNAT --to-destination server2_ip:portX

где:
portX: Порт, который вы хотите переадресовать
server1_ip : IP-адрес сервера, который получает начальный IP-адрес и пересылает его на server2.
server2_ip: IP-адрес сервера, на который вы хотите перенаправить трафик.

0
ответ дан 4 December 2019 в 06:16

Теги

Похожие вопросы