Я потратил некоторое время на исследования, но не нашел рабочего решения следующей проблемы:
Я хочу туннелировать любые запросы с сервера 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-адрес сервера, на который вы хотите перенаправить трафик.