Назад | Перейти на главную страницу

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

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

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

Связь будет выглядеть так:

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

и наоборот:

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

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

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

Спасибо ^^

Это называется прокси (ing). Да, это возможно, если включить модуль пересылки на 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

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