URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 4061
[ Назад ]

Исходное сообщение
"Проброс порта  fedora + iptables"

Отправлено Grave , 24-Ноя-08 07:43 
День добрый.
Вводная: Сижу в своей локалке, которую сам админю. Заодно периодически приходится цепляться для управления к внешним серверам. Ранее пользовался цитриксом и пробрасывал для него порт изнутри наружу
iptables -t nat -A POSTROUTING -p TCP -s $local_IP -j MASQUERADE --dport $portnumber
с помощью такого проброса выпустил уже несколько программ.
Проблема: Стало необходимо подцепиться с помощью RDP, и эта корявость не реагирует на проброс порта. Порт правильный 3389, но что-то все грустно.
Подскажите где я ошибся, а то вдруг мне снова понадобится а я не смогу цепануться :(

Содержание

Сообщения в этом обсуждении
"Проброс порта  fedora + iptables"
Отправлено angra , 24-Ноя-08 08:09 
>iptables -t nat -A POSTROUTING -p TCP -s $local_IP -j MASQUERADE --dport $portnumber

Вообще-то это SNAT и каким образом связано с проброской порта непонятно. Под проброской обычно подразумевается DNAT(в паре с SNAT). Попробуйте для начала объяснить откуда куда вы пытаетесь соединится и какие правила уже есть на шлюзе.



"Проброс порта  fedora + iptables"
Отправлено Grave , 24-Ноя-08 13:58 
>>iptables -t nat -A POSTROUTING -p TCP -s $local_IP -j MASQUERADE --dport $portnumber
>
>Вообще-то это SNAT и каким образом связано с проброской порта непонятно. Под
>проброской обычно подразумевается DNAT(в паре с SNAT). Попробуйте для начала объяснить
>откуда куда вы пытаетесь соединится и какие правила уже есть на
>шлюзе.

Я читал про это, что-то пробовал, но у меня не вышло. Может мне кто-нибудь на пальцах объяснить в чем разница между тем, что делаю я и тем, что делают через DNAT и SNAT.


"Проброс порта  fedora + iptables"
Отправлено Andrey Mitrofanov , 24-Ноя-08 14:18 
>Я читал про это, что-то пробовал, но у меня не вышло. Может
>мне кто-нибудь на пальцах объяснить в чем разница между тем, что
>делаю я и тем, что делают через DNAT и SNAT.

MASQUERADE - разновидность SNAT-а для "динамических" интерфейсов. Отличие в том, что со SNAT явно указывается, какой исходящий ip "подставлять", а MASQ на каждый пакет "дёргает" интерфейс, чтобы взять с него соотв.адрес. Соответственно MASQ. "грузит" процессор больше, но необходим, когда нет "статического" внешнего ip. Или вроде того, не знаю.

Набери вверху, в [поиск]-е по форумам, например, MASQUERADE SNAT...

+TFM http://www.opennet.me/docs/RUS/iptables/


"Проброс порта  fedora + iptables"
Отправлено Grave , 24-Ноя-08 14:28 
>[оверквотинг удален]
>
>MASQUERADE - разновидность SNAT-а для "динамических" интерфейсов. Отличие в том, что со
>SNAT явно указывается, какой исходящий ip "подставлять", а MASQ на каждый
>пакет "дёргает" интерфейс, чтобы взять с него соотв.адрес. Соответственно MASQ. "грузит"
>процессор больше, но необходим, когда нет "статического" внешнего ip. Или вроде
>того, не знаю.
>
>Набери вверху, в [поиск]-е по форумам, например, MASQUERADE SNAT...
>
>+TFM http://www.opennet.me/docs/RUS/iptables/

RTFM я уже прочел на 10 раз, распечатал и он у меня как настольная книга. поэтому я это уже читал. Меня смущает другое, что цитрикс ходит через маскарад, а RDP нет, в чем принципиальная разница?


"Проброс порта rdp"
Отправлено Andrey Mitrofanov , 24-Ноя-08 14:47 
>Меня смущает другое, что цитрикс ходит через маскарад, а RDP нет, в чем принципиальная разница?

Вроде, везде люди для rdp пишут "обычный" форвард одного порта.

Ну, ещё может быть ошибка в конфигурации/плавилах. Например, в -t filter -A FORWARD не написано правила для --dport $чего-там-для-rdp. Или правила "не для rdp", написанные не достаточно аккуратно _раньше_ оного, "пускают" пакеты "совсем не туда". Или ещё чего...


"Проброс порта  fedora + iptables"
Отправлено angra , 24-Ноя-08 17:15 
Еще раз. Вам из локалки нужно коннектится на rdp порт в мире или из мира нужен коннект на rdp порт машины в локалке?
Если первое то это SNAT(как было верно замечено MASQURADE его вариант для динамических ip) и если вы хотите его ограничить по портам, то пишите --dport в условии, а не в действии.
Если второе, то используется DNAT типа такого:
iptables -t nat -A PREROUTING -p tcp --dport $portnumber -j DNAT --to-destination $local_IP

"Проброс порта  fedora + iptables"
Отправлено Grave , 26-Ноя-08 06:47 
>Еще раз. Вам из локалки нужно коннектится на rdp порт в мире
>или из мира нужен коннект на rdp порт машины в локалке?

Да, я пытаюсь зацепиться на сервер во внешнем мире.

>Если первое то это SNAT(как было верно замечено MASQURADE его вариант для
>динамических ip) и если вы хотите его ограничить по портам, то
>пишите --dport в условии, а не в действии.

а можно по подробнее об условиях и действиях, вроде в мануале я читал, что порядок команд не важен, как тогда отличить где идет условие, а где действие.

P.S. у меня динамический IP но с привязкой по mac фильтрующих правил нет, я пока с ними еще не экспериментировал. есть несколько правил с маскорадом в таблице nat, пример я уже приводил.


"Проброс порта  fedora + iptables"
Отправлено Grave , 01-Дек-08 13:44 
Нашел одну из проблем в сложной иерархии сети пакеты терялись, но сейчас другой косяк
использую правило
iptables  -t nat -A POSTROUTING -s 192.168.0.98 --out-interface eth1 -j SNAT  --to-source X.X.X.X
Пинг до серваков ходит, а подцепиться я никак не могу.
Как можно отследить какие правила действуют на пакет ?


"Проброс порта  fedora + iptables"
Отправлено reader , 01-Дек-08 15:43 
>Нашел одну из проблем в сложной иерархии сети пакеты терялись, но сейчас
>другой косяк
>использую правило
>iptables  -t nat -A POSTROUTING -s 192.168.0.98 --out-interface eth1 -j SNAT
> --to-source X.X.X.X
>Пинг до серваков ходит, а подцепиться я никак не могу.
>Как можно отследить какие правила действуют на пакет ?

можно смотреть счетчики попаданий, но если вы не один работаете через эту машину, то так не отследите.
лучше iptables-save и в каждой таблице, сверху вниз посмотреть к каким правилам подходит ваш пакет


"iptables"
Отправлено Andrey Mitrofanov , 24-Ноя-08 10:29 
http:/openforum/vsluhforumID10/3860.html#4