LINUX.ORG.RU
ФорумAdmin

iptables

 ,


0

2

Всем привет! Есть такая задача, необходимо спрятать настоящий ip адрес сервера при подключении по rdp для юзеров. Мною был арендован vps сервер на debian в Германии и с помощью iptables хочу реализовать проброс порта от vps до реального сервера, нигде не нашел как настроить проброс от внешнего ip на внешний средствами iptables допустим: ip внешний vps сервера 31.31.31.31 ip внешний реального сервера 41.41.41.41

правило должно выглядеть так: я подключаюсь по rdp из дома на адрес 31.31.31.31:8888 меня должно перекинуть на адрес 41.41.41.41:3389 и соответственно держать nat + должен быть открыт ssh на vps, а все остальные пакеты дропать Спасибо)


Примерный синтаксис(за опечатки не ручаюсь, пишу по памяти, man iptables в помощь):

iptables -t nat -A PREROUTING -d 31.31.31.31 -p tcp --dport 8888 -j DNAT --to-destination 41.41.41.41:3389
iptables -I FORWARD 1 -m conntrack --ctstate RELATED,ESTABLISHED,DNAT -j ACCEPT
Pinkbyte ★★★★★
()

Ну и +

iptables -P INPUT DROP
iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i $WAN -p tcp --dport 22 -j ACCEPT

nike-tesla
()
Ответ на: комментарий от Pinkbyte

Не получается

iptables -t nat -A PREROUTING -p tcp --dport 8888 -j DNAT --to-destination 41.41.41.41:3389

iptables -t filter -A FORWARD -d 41.41.41.41:3389 -p tcp --dport 8888 -j ACCEPT

iptables -t nat -A POSTROUTING -j MASQUERADE sysctl -w net.ipv4.ip_forward=1

Прописал вот так, не заработало

qcetr
() автор топика
Ответ на: комментарий от Pinkbyte

Примерный синтаксис(за опечатки не ручаюсь, пишу по памяти, man iptables в помощь):

Весь Инет забит этими парустрочиями, которые друг у друга копируют без понимания, что оно так заработает если 41.41.41.41 - серый адрес уже за поднятым NAT. Если это белый адрес, в Инете или даже в другой белой сети на этом маршрутизаторе, то работать не будет, так как машина 41.41.41.41 будет получать пакеты с адреса клиента на свой (DNAT), и отправлять будет на клиента, который ожидает адрес не 41, а 31, то есть нужен дополнительно маскарад/snat.

Да и вообще. Ну и зачем тут вообще iptables? Соединяйтесь по ssh -L, а rdp уже на localhost на своей машине.

vodz ★★★★★
()
Последнее исправление: vodz (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

ТС это учел, если ты внимательно посмотришь

Я отвечал на ваш комментарий. ТС и скопировал откуда-то решение. если у него разрешение INPUT на 8888 порт? Да фиг его знает :)

vodz ★★★★★
()
Ответ на: Не получается от qcetr

Короче:

Поменяйте:

iptables -t filter -A FORWARD -d 41.41.41.41:3389 -p tcp --dport 8888 -j ACCEPT

на

iptables -t filter -A FORWARD -d 41.41.41.41 -p tcp --dport 3389 -j ACCEPT

vodz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.