Проброс портов

openSUSE, SUSE Linux Enterprise

Модератор: Модераторы разделов

rishelie
Сообщения: 32
ОС: openSUSE 11.3

Проброс портов

Сообщение rishelie »

Как отловить косяк?
Имеем следующее:
PC1 - openSUSE 11.3 с внешним адресом 1.1.1.1 (eth1) и внутренним 192.168.1.1 (eth0)
PC2 - Win2002 с внутренним адресом 192.168.1.2

на PC2 работает Citrix MetaFrame 1.8
если PC2 вывести в инет через внешний адрес 2.2.2.2, то удаленно я могу подключить цитрикс-клиент

НО мне нужно, чтобы PC1 выполнял проброс портов 1494 (tcp) и 1604 (udp) со своего внешнего интерфейса на 192.168.1.2 на такие же порты.
Делаю так:
/etc/sysconfig/SuSEfirewall2

Код: Выделить всё

FW_SERVICES_EXT_TCP="1494"
FW_SERVICES_EXT_UDP="1604"
FW_FORWARD_MASQ="0/0,192.168.1.2,tcp,1494 0/0,192.168.1.2,udp,1604"


не работает. при этом PC1 работает как маршрутизатор, т.е. включен маскарадинг внутренней сети

в логах файрвола при попытке подключиться цитрикс-клиентом пишет только:

Код: Выделить всё

SFW2-FWDext-ACC-REVMASQ IN=eth1 OUT=eth0 SRC=(домашний ип) DST=192.168.1.2

то есть, как я понимаю, PC1 выполняет проброс, а дальше затык на виндовой тачке?
Sapienti sat...
Спасибо сказали:
UTiM
Сообщения: 180
ОС: OpenSuse

Re: Проброс портов

Сообщение UTiM »

Код: Выделить всё

FW_SERVICES_EXT_TCP="1494"
FW_SERVICES_EXT_UDP="1604"
"
Вырубите! Это разрешает обращение на данные порты самого шлюза и к пробросу отношения не имеет, а может помешать.

Код: Выделить всё

FW_FORWARD_MASQ="0/0,192.168.1.2,tcp,1494 0/0,192.168.1.2,udp,1604"
Все верно, только проверьте, что еще прописано:

Код: Выделить всё

FW_MASQ_NETS = "192.168.1.2,0/0"
Если не поможет - проверьте, не прописаны-ли где DROP, или REJECT, или NOMASQ, проверьте маршрутизацию, попробуйте временно открыть проброс на все tcp и udp - но только от конкретного источника - может не все нужные порты открыты.
Если нечего не помогает - смотрите в сторону FW_SERVICES_ACCEPT_RELATED_EXT и FW_LOAD_MODULES
Спасибо сказали:
rishelie
Сообщения: 32
ОС: openSUSE 11.3

Re: Проброс портов

Сообщение rishelie »

вот что в последней опции прописано:
FW_LOAD_MODULES="nf_conntrack_netbios_ns"
пробую добавить туда nf_nat - не помогает
клиент пишет - сеть недоступна.
впечатление, что с виндовой машиной что-то не так (но до нее сейчас могу только по mount.cifs добраться) или в обратную сторону трафик идет неправильно..
Sapienti sat...
Спасибо сказали:
UTiM
Сообщения: 180
ОС: OpenSuse

Re: Проброс портов

Сообщение UTiM »

rishelie писал(а):
11.12.2010 13:10
вот что в последней опции прописано:
FW_LOAD_MODULES="nf_conntrack_netbios_ns"
пробую добавить туда nf_nat - не помогает
клиент пишет - сеть недоступна.
впечатление, что с виндовой машиной что-то не так (но до нее сейчас могу только по mount.cifs добраться) или в обратную сторону трафик идет неправильно..

Дело в том, что некоторые службы для нормальной работы через NAT требуют доступа сразу по нескольким "связанным" портам - (например FTP) И это не особенность данного фаервола, а любого NAT. Для обеспечения нормальной работы таких служб требуется задействовать специальный модуль, например "nf_conntrack_netbios_ns" для самбы или "nf_nat_ftp", "nf_conntrack_ftp" для FTP и FW_SERVICES_ACCEPT_RELATED_EXT. Что требует Citrix я не в курсе. Лично я для этих целей использовал NX сервер и все работало без дополнительных телодвижений. Если дело в "связанных" портах, введите в поиске "Citrix NAT Linux" - и поищите решение. Если нет - ищите собственные косяки.

Да, можно еще организовать туннель VPN (например на базе OPEN VPN) от клиента на шлюз или сразу на сервер - проверено - пробрасывается через NAT нормально + секьюрно и трафик экономит (сжимает)
Спасибо сказали:
rishelie
Сообщения: 32
ОС: openSUSE 11.3

Re: Проброс портов

Сообщение rishelie »

пробовал я pptpd настраивать с CHAP-шифрованием. тоже не работает :) винда дает ошибку 721, т.е. не может авторизоваться
и проброс порта 3389 не работает
похоже действительно надо какие-то сервисы добавить. "будем искать" :)
Sapienti sat...
Спасибо сказали:
leksstav
Сообщения: 331

Re: Проброс портов

Сообщение leksstav »

rishelie писал(а):
12.12.2010 13:53
пробовал я pptpd настраивать с CHAP-шифрованием. тоже не работает :) винда дает ошибку 721, т.е. не может авторизоваться
и проброс порта 3389 не работает
похоже действительно надо какие-то сервисы добавить. "будем искать" :)


Цель:
Попасть на компьютеры во внутреней сети.

Условия:
Сервер (роутер на UNIX системе - Linux, Freebsd & etc.) с реальным IP адресом в Интернет, допустим 68.34.98.12
За сервером сеть из любого количества компьютеров. Допустим компьютер 1 с адресом 192.168.1.73 и компьютер 2 с адресом 192.168.1.75. На обойх установлен Radmin Server со стандартными портами 4899(хотя порты можете выбрать сами).

Решение:
Идем на http://www.boutell.com/rinetd/
Оттуда качаем http://www.boutell.com/rinetd/http/rinetd.tar.gz

После распаковываем:
tar -xzf rinetd.tar.gz

Заходим в директорию программы:
cd rinetd/

Устанавливаем:
make
make install

Может выдать ошибку о том что не может в man копирнуть документы, можно проигнорировать это.

Теперь создаем и редактируем конфиг:
vi /etc/rinetd.conf

куда пишем такие строки(для редактирования нажмите "i"):
#Переброс в таком порядке пишется
#внешний_IP внешний_порт внутрений_IP внутренний_порт
68.34.98.12 7373 192.168.1.73 4899 ### 1 копьютер
68.34.98.12 7575 192.168.1.75 4899 ### 2 компьютер

#Если требуется ограничеть допуск.
#И разрешить доступ только с определенных IP
#Пишем после каждого правила переадресации
#уберите знак в следующей строке
#allow 123.64.38.12 ### Мой домашний компьютер
# и правило доступно будет только с записаного IP

# для того что бы вести логи
logfile /var/log/rinetd.log
logcommon


Теперь сохраняемся(два раза нажимаем ESC, потом :wq ENTER

Ну и запускаем программу:
/usr/sbin/rinetd

А лучше всего подымите OpenVPN
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Проброс портов

Сообщение Lazy_Kent »

Решение:
Идем на http://www.boutell.com/rinetd/
Оттуда качаем http://www.boutell.com/rinetd/http/rinetd.tar.gz

После распаковываем:
tar -xzf rinetd.tar.gz

Заходим в директорию программы:
cd rinetd/

Устанавливаем:
make
make install

Не надо самодеятельности.
rinetd есть в стандартном репозитории.
Спасибо сказали:
rishelie
Сообщения: 32
ОС: openSUSE 11.3

Re: Проброс портов

Сообщение rishelie »

Оказывается, винда-таки криво была настроена :) Сейчас цитрикс пускает, но требует открыть доступ RPC-сервису.
Sapienti sat...
Спасибо сказали:
leksstav
Сообщения: 331

Re: Проброс портов

Сообщение leksstav »

Lazy_Kent писал(а):
14.12.2010 17:01
Решение:
Идем на http://www.boutell.com/rinetd/
Оттуда качаем http://www.boutell.com/rinetd/http/rinetd.tar.gz

После распаковываем:
tar -xzf rinetd.tar.gz

Заходим в директорию программы:
cd rinetd/

Устанавливаем:
make
make install

Не надо самодеятельности.
rinetd есть в стандартном репозитории.



В данном случае rinetd из сырцов, устанавливается и работает на ура. Так что невижу тут самодеятельности, или suse отказалась от установки софта из сырцов ? Дело каждого лично, ставить тот или иной софт из сырцов или rpm.
Спасибо сказали:
Lazy_Kent
Сообщения: 709
Статус: Ленивый
ОС: openSUSE (Xfce)

Re: Проброс портов

Сообщение Lazy_Kent »

rinetd из сырцов, устанавливается и работает на ура

Видимо, мейнтейнеры пакета так не считают. Иначе, зачем было бы туда добавлять такие файлы:
rinetd-syslog.patch
rinetd-doc.patch
rinetd-conf.patch
rc.rinetd
logrotate.rinetd

И я им больше доверяю, чем подобным советам на форумах.
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Проброс портов

Сообщение NickLion »

leksstav писал(а):
25.12.2010 23:57
В данном случае rinetd из сырцов, устанавливается и работает на ура. Так что невижу тут самодеятельности, или suse отказалась от установки софта из сырцов ? Дело каждого лично, ставить тот или иной софт из сырцов или rpm.

Даже если и так. Во-первых, openSuSE бинарный дистр. Зачем его засорять (потому что нарушает зависимости)? А во-вторых, не проще ли сделать

Код: Выделить всё

zypper install rinetd
, а? Особенно порадовало:
Может выдать ошибку о том что не может в man копирнуть документы, можно проигнорировать это.

В случае установки пакета никаких ошибок нет. Как минимум это лучше.
Спасибо сказали:
leksstav
Сообщения: 331

Re: Проброс портов

Сообщение leksstav »

NickLion писал(а):
26.12.2010 09:23
leksstav писал(а):
25.12.2010 23:57
В данном случае rinetd из сырцов, устанавливается и работает на ура. Так что невижу тут самодеятельности, или suse отказалась от установки софта из сырцов ? Дело каждого лично, ставить тот или иной софт из сырцов или rpm.

Даже если и так. Во-первых, openSuSE бинарный дистр. Зачем его засорять (потому что нарушает зависимости)? А во-вторых, не проще ли сделать

Код: Выделить всё

zypper install rinetd
, а? Особенно порадовало:
Может выдать ошибку о том что не может в man копирнуть документы, можно проигнорировать это.

В случае установки пакета никаких ошибок нет. Как минимум это лучше.



Кому как удобней, тот так и делает. Не вижу смысла в данном случае спорить.
Спасибо сказали: