LINUX.ORG.RU
ФорумAdmin

ubuntu-server, iptables, rdp на несколько машин и локальной сети


0

1

«живу» я в одной конторе в качестве программиста, начальство решило не тратится на админа (нафига, если уже есть один «компьютерщик»?) с горем пополам, не без помощи гугля, я поднял сервер, локальную сеть настроил.. в общем суть не в этом. поставлена задача настроить rdp на несколько машин. на одну машину я нагуглил способ:

iptables -t nat -I PREROUTING --dst x.x.x.x -p tcp --dport 3389 -j DNAT --to-destination 192.168.0.151:3389
iptables -t nat -I POSTROUTING -p tcp --dst 192.168.0.151 --dport 3389 -j SNAT --to-source x.x.x.x
iptables -I FORWARD -i eth0 --dst 192.168.0.151 -j ACCEPT

работает, но вот как это же сделать на несколько машин? догадываюсь что нужно открыть ещё несколько портов и назначить форвардинг на определенный ip из локали. верно, или нет? направьте на путь истинный.. простите за столь ламерский вопрос, но у меня немного квалификация другая, и у гугля ничего толком выпросить не получается, может кто делал подобное?

Пока ты не разберёшся с тем, что значат все эти опции (PREROUTING, POSTROUTING, FORWARD, INPUT, OUTPUT ... --dst --dport -j ...), любой ответ кроме как man iptables будет неверным.
Как только ты поймёшь что делают приведённые тобой же команды станет понятно какие ещё дописать для других компов. Тебе же работать.

adriano32 ★★★
()

Эхх... у меня примерно такая ситуация на работе... стукни мне в джаббер... (Jid в профиле) я тебе по пробую помочь а ты мож мне поможешь.. взаимно выручка

Tok ★★
()

[code]
iptables -t nat -I PREROUTING --dst x.x.x.x -p tcp --dport 3389 -j DNAT --to-destination 192.168.0.151:3389
[/code]
просто в этой строке для каждой машины надо указать свой dport, через который и нужно к ней обращаться извне.

val-amart ★★★★★
()

В твоём случае достаточно


iptables -t nat -A PREROUTING -p --tcp --dport 3389 -i <внешний интерфейс шлюза> -j DNAT --to-destination 192.168.0.151:3389

Обязательно -i <внешний интерфейс шлюза> или -d <внешний ip>, иначе, не надо забывать, что при обращении на 3389 порт _из локалки_ будет перенаправление на 192.168.0.151:3389. Это типичная ошибка новичков.

Ну и далее по аналогии, только меняй --dport, например

iptables -t nat -A PREROUTING -p --tcp --dport 3390 -i <внешний интерфейс шлюза> -j DNAT --to-destination 192.168.0.152:3389

и т.д.

Затем


iptables -t nat -A POSTROUTING -o <внешний интерфейс> -j SNAT --to-source <внешний ip>

В FORWARD можешь пока ничего не писать, чай у тебя, наверняка там ACCEPT. Ну а далее для тюненга таки man iptables, а лучше http://ru.wikipedia.org/wiki/Iptables.

anton_jugatsu ★★★★
()
19 августа 2011 г.
Ответ на: комментарий от anton_jugatsu

ошибок нет, но nmap показывает порт 3390 как filtered хотя таким же способом открылся 3389 и через него rdp работает.

anonymous
()
Ответ на: комментарий от anton_jugatsu
# Generated by iptables-save v1.4.4 on Fri Aug 19 21:28:37 2011
*filter
:INPUT ACCEPT [195322:184796543]
:FORWARD ACCEPT [541693:350521783]
:OUTPUT ACCEPT [129848:8937149]
-A INPUT -p tcp -m tcp --dport 3390 -j ACCEPT 
-A INPUT -p tcp -m tcp --dport 3390 -j ACCEPT 
-A FORWARD -d 192.168.0.150/32 -i eth0 -j ACCEPT 
-A FORWARD -d 192.168.0.151/32 -i eth0 -j ACCEPT 
COMMIT
# Completed on Fri Aug 19 21:28:37 2011
# Generated by iptables-save v1.4.4 on Fri Aug 19 21:28:37 2011
*nat
:PREROUTING ACCEPT [79979:6412323]
:OUTPUT ACCEPT [6762:619788]
:POSTROUTING ACCEPT [3624:305928]
-A PREROUTING -d x.x.x.x/32 -p tcp -m tcp --dport 3390 -j DNAT --to-destination 192.168.0.150:3389 
-A PREROUTING -d x.x.x.x/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.151:3389 
-A POSTROUTING -d 192.168.0.150/32 -p tcp -m tcp --dport 3390 -j SNAT --to-source x.x.x.x
-A POSTROUTING -d 192.168.0.151/32 -p tcp -m tcp --dport 3389 -j SNAT --to-source x.x.x.x
-A POSTROUTING -o eth0 -j MASQUERADE 
-A POSTROUTING -o eth0 -j SNAT --to-source x.x.x.x
COMMIT
# Completed on Fri Aug 19 21:28:37 2011

вот что в ответ. а nmap говорит

3389/tcp open     microsoft-rdp Microsoft Terminal Service
3390/tcp filtered unknown

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

убери

-A POSTROUTING -d 192.168.0.150/32 -p tcp -m tcp --dport 3390 -j SNAT --to-source x.x.x.x
-A POSTROUTING -d 192.168.0.151/32 -p tcp -m tcp --dport 3389 -j SNAT --to-source x.x.x.x
-A POSTROUTING -o eth0 -j MASQUERADE 

Всё правильно, хм, предлагаю использовать tcpdump и посмотреть нет ли фаервола на 150

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

порт открылся. не знаю даже, от того ли что я пересоздал через iptables-restore и ребутнулся или от того что убрал строчки выше. -A POSTROUTING -o eth0 -j MASQUERADE не трогал, думаю он тут не причем. или же от того что 150 комп был выключен :D. решил извратится и попытался каскадом добраться через этот же rdp на 116 комп. а вот он то и не разрешил удаленное соединение. а я все на iptables грешил.

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