Сообщение отдельно
13.02.2017 15:40
Без микротика, но с виртуальным сервером



Цитата:
может кому то поможет:

За сам проброс отвечает iptables, соответсвенно правила для проброса следующие:

iptables -t nat -A PREROUTING -p tcp --dst x.x.x.x --dport 3389 -j DNAT --to-destination y.y.y.y:3389

iptables -t nat -A POSTROUTING -p tcp --dst y.y.y.y --dport 3389 -j SNAT --to-source x.x.x.x

Где :

x.x.x.x — ip адрес виртуального сервера с iptables

y.y.y.y — ip адрес терминального сервера заказчика

Т.к. правила в iptables живут до перезагрузки нам нужно сделать скрипт и заставить его запускаться при старте системы.

1) создаем сам файл port_forward:

vi /etc/init.d/port_forward и вставляем следующее содержание:

#!/bin/bash
echo "1"> /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -t nat -A PREROUTING -p tcp --dst x.x.x.x --dport 3389 -j DNAT --to-destination y.y.y.y:3389
iptables -t nat -A POSTROUTING -p tcp --dst y.y.y.y --dport 3389 -j SNAT --to-source x.x.x.x

2) даем данному файлу права запуска:

chmod 755 /etc/init.d/port_forward

3) добавляем данный файл в автозагрузку:

cp -s /etc/init.d/port_forward /etc/rc3.d/S90port_forward

И перезагружаем виртуальный сервер — теперь терминальным клиентам остается только прописать в адресе подключения адрес x.x.x.x и их прозрачно будет перенаправлять на сервер y.y.y.y

Добавлю, что при работе на терминальном сервере в верху экрана (где пишется адрес, куда мы подключились) отображается адрес x.x.x.x

На самом терминальном сервере в рамках задачи тоже нужно сделать ряд ограничений, но это выходит за рамки данной заметки.