LINUX.ORG.RU

RDP via iptables


0

0

Здравствуйте , подскажите как перебросить rdp через шлюз с iptables , то есть в локальном (eth1) есть компьютер с rdp , и требуется транслировать его порт на eth0. Все что гуглил не заработало :(

Заранее благодарен

anonymous

iptables -t nat -A PREROUTING -p tcp -d $ipaddress_eth0 --dport 3389 -j DNAT --to-destination $ipaddress_eth1 3389

порт-форвардинг
пакеты приходящие на адрес $ipaddress_eth0 порт 3389(rdp)
пересылаются на $ipaddress_eth1 порт 3389

в обратку не забыть SNAT сделать если нету

hizel ★★★★★
()
Ответ на: комментарий от hizel

>>в обратку не забыть SNAT сделать если нету неумею :(

anonymous
()
Ответ на: комментарий от hizel

>iptables -t nat -A PREROUTING -p tcp -d $ipaddress_eth0 --dport 3389 -j DNAT --to-destination $ipaddress_eth1 3389

так будет корректнее:

iptables -t nat -A PREROUTING -p tcp -d $ipaddress_eth0 --dport 3389 -j DNAT --to-destination $ipaddress_local_machine:3389

где $ipaddress_local_machine - адрес локальной машины куда нужно форвардить порт

>в обратку не забыть SNAT сделать если нету

SNAT в данном случае роли не играет. когда на шлюз придут ответные пакеты от local_machine, то ядро автоматически их ретранслирует обратно действию DNAT.

2топик_стартер: почитай http://www.opennet.ru/docs/RUS/iptables/ там хоть и много букв, зато поймёшь как и что работает.

Nao ★★★★★
()
Ответ на: комментарий от hizel

И правило на пропуск трафика настроить, если политика FORWARD=DROP (если ACCEPT, то поставить DROP и см. п. 1)

P.S. SNAT вообще не про это и в рамках данной задачи не нужен

bakagaijin
()
Ответ на: комментарий от Nao

странно что не работает , iptables не ругается -- цепь добавляет , глупый вопрос $ipaddr это переменные для баш-скрипта , или $10.0.0.1(форма записи адреса)?

anonymous
()
Ответ на: комментарий от anonymous

>$ipaddr это переменные для баш-скрипта , или $10.0.0.1(форма записи адреса)?

это переменные для баш-скрипта. имеется ввиду что туда надо подставить свои значения.
например: iptables -t nat -A PREROUTING -p tcp -d 64.233.187.99 --dport 3389 -j DNAT --to-destination 192.168.0.17:3389

>странно что не работает , iptables не ругается -- цепь добавляет

покажите выводы команд:
iptables -vnL
iptables -t nat -vnL
route -n
ifconfig
sysctl net.ipv4.conf.all.forwarding

Nao ★★★★★
()
Ответ на: комментарий от Nao

>>iptables -vnL ничего интересного >>iptables -t nat -vnL 10.30.1.5 <- откуда захожу 10.76.1.2 <- внутренний rdp

/sbin/iptables -t nat -vnL Chain PREROUTING (policy ACCEPT 4008 packets, 334K bytes) pkts bytes target prot opt in out source destination 0 0 LOG tcp -- eth0 * внешний_ip внешний_ip tcp dpt:3389 limit: avg 1/min burst 2 LOG flags 0 level 4 prefix ` CONNECT TO ME ' 0 0 DNAT tcp -- eth0 * внешний_ip внешний_ip tcp dpt:3389 to:10.30.1.5:3389

Chain POSTROUTING (policy ACCEPT 14 packets, 1224 bytes) pkts bytes target prot opt in out source destination 0 0 SNAT tcp -- * eth2 внешний_ip внешний_ip tcp dpt:3389 to:10.76.1.2

Chain OUTPUT (policy ACCEPT 14 packets, 1224 bytes) pkts bytes target prot opt in out source destination

>>route -n роутинг правильный >>ifconfig eth0 & eth1 >>sysctl net.ipv4.conf.all.forwarding

1

anonymous
()
Ответ на: комментарий от anonymous

ничего не понимаю. у вас чтоли три интерфейса? в вашем описании упоминается eth0,eth1 и eth2

>Chain POSTROUTING (policy ACCEPT 14 packets, 1224 bytes)
>0 0 SNAT tcp -- * eth2 внешний_ip внешний_ip tcp dpt:3389 to:10.76.1.2
>                       ^^^^^^^^^^ ^^^^^^^^^^

у вас SNAT вобще работает? почему у вас src- и dst- адреса указаны одинаковые. почему SNAT идёт на внутренний адрес (10.76.1.2)?

>Chain PREROUTING (policy ACCEPT 4008 packets, 334K bytes)
>0 0 DNAT tcp -- eth0 * внешний_ip внешний_ip tcp dpt:3389 to:10.30.1.5:3389
>                       ^^^^^^^^^^ ^^^^^^^^^^
тут тоже непонятно

Вобщем даю шаблон. разбирайтесь:
Есть локальная подсеть 10.76.1.0/24 висящая на интерфейсе $int_if и 
внешний айпи $ext_ip висящий на интерфейсе $ext_if.
Надо сделать чтобы клиентские машины из подсети 10.76.1.0/24 могли ходить в инет через наш шлюз напрямую (без прокси):
iptables -t nat -A POSTROUTING -o $ext_if -s \! $ext_ip -j SNAT --to-source $ext_ip
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i $int_if -o $ext_if -s 10.76.1.0/24 -j ACCEPT
iptables -P FORWARD DROP

теперь надо допустим форвардить порт 3389 с внешнего айпи на машину 10.76.1.2:
iptables -t nat -A PREROUTING -i $ext_if -p tcp --dport 3389 -j DNAT --to-destination 10.76.1.2:3389
iptables -A FORWARD -i $ext_if -o int_if -p tcp --dport 3389 -j ACCEPT


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