Без микротика, но с виртуальным сервером
Цитата: может кому то поможет:
За сам проброс отвечает 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
На самом терминальном сервере в рамках задачи тоже нужно сделать ряд ограничений, но это выходит за рамки данной заметки.