Проброс порта в обратную сторону

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
gortum
мл. сержант
Сообщения: 70
Зарегистрирован: 2008-11-13 12:12:37
Откуда: Санкт-Петербург

Проброс порта в обратную сторону

Непрочитанное сообщение gortum » 2009-03-10 23:07:47

Здравствуйте, помогите решить проблему, нужно пробросить порт(25->1525), схема выглядит так Loca_Comp(соединение через 25 порт)
-->Server_Gate(FreeBSD-шлюз, конвертация 25 в 1525)-->Server_Provider(25 порт закрыт)-->Server_MX(слушает 1525 порт).
Надеюсь понятно, задача заключается в том, что бы сервер с FreeBSD менял(конверировал) порт. Пробовал redirect_port но работает только в сторону к клиенту (Loca_Comp). Пользуюсь IPFW.
PS изначально соединятся по 1525 нельзя :(

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Sadok123
сержант
Сообщения: 174
Зарегистрирован: 2008-09-04 10:59:32

Re: Проброс порта в обратную сторону

Непрочитанное сообщение Sadok123 » 2009-03-11 17:44:28

Доступ к ssh на Server_Gate есть?

Аватара пользователя
Burn_
мл. сержант
Сообщения: 84
Зарегистрирован: 2007-12-03 9:19:54
Откуда: Алт.край, г.Бийск
Контактная информация:

Re: Проброс порта в обратную сторону

Непрочитанное сообщение Burn_ » 2009-03-11 18:14:50

Если доступ к Server_Gate есть то сделай редирект, средствами ipfw или например rinetd (http://www.lissyara.su/?id=1736).
To know everything is to know nothing! / Я знаю только одно, что я ничего не знаю! © Сократ

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Проброс порта в обратную сторону

Непрочитанное сообщение terminus » 2009-03-11 18:59:45

Я такого не делал, но думаю надо смотреть в сторону ipfw nat с опцией proxy_only

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

ipfw add nat 1 config proxy_only proxy_rule port 25 server Server_MX:1525
по идее синтаксис этого правила должен быть такой же как у natd
http://www.freebsd.org/cgi/man.cgi?quer ... .1-RELEASE
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Sadok123
сержант
Сообщения: 174
Зарегистрирован: 2008-09-04 10:59:32

Re: Проброс порта в обратную сторону

Непрочитанное сообщение Sadok123 » 2009-03-11 19:51:33

не мучайте человека. если доступ к фре есть - тупо пробросить порт через ssh -L

Аватара пользователя
gortum
мл. сержант
Сообщения: 70
Зарегистрирован: 2008-11-13 12:12:37
Откуда: Санкт-Петербург

Re: Проброс порта в обратную сторону

Непрочитанное сообщение gortum » 2009-03-12 0:55:06

Задача немножко в другом, Local_Comp при соединении указывает адрес Server_MX(А не адрес Server_Gate)
и 25 порт, а Server_Gate уже меняет 25 порт на 1525. Другими словами Local_Comp не должен подозревать,
что соединяется по 1525 порту.
Т.е. Server_Gate должен сообразить, что если от Local_Comp идет соединение по 25 порту к Server_MX то поменять 25 порт на 1525.

К Server_Gate есть полный доступ.

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Проброс порта в обратную сторону

Непрочитанное сообщение paradox » 2009-03-12 1:04:26

ipfw fwd
а если будет мало то еще и хитрый divert
експериментировать надо

Аватара пользователя
gortum
мл. сержант
Сообщения: 70
Зарегистрирован: 2008-11-13 12:12:37
Откуда: Санкт-Петербург

Re: Проброс порта в обратную сторону

Непрочитанное сообщение gortum » 2009-03-12 1:10:09

paradox писал(а):ipfw fwd
а если будет мало то еще и хитрый divert
експериментировать надо
мне тут порекомендовали правило для pf

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

rdr on $внутр.int proto tcp from $local.comp to $внеш.сервер port 25 -> $внеш.сервер  port 1525 
вроде это то, что мне нужно(слабоват в PF), но вот только у меня IPFW

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Проброс порта в обратную сторону

Непрочитанное сообщение paradox » 2009-03-12 1:16:06

я тебе уже сказал и показал
екпериментируй)

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Проброс порта в обратную сторону

Непрочитанное сообщение terminus » 2009-03-12 10:46:38

ipfw fwd не отработает в этой ситуации.
fwd | forward ipaddr | tablearg[,port]
Change the next-hop on matching packets to ipaddr, which can be
an IP address or a host name. The next hop can also be supplied
by the last table looked up for the packet by using the tablearg
keyword instead of an explicit address. The search terminates if
this rule matches.

If ipaddr is a local address, then matching packets will be for-
warded to port
(or the port number in the packet if one is not
specified in the rule) on the local machine.
If ipaddr is not a local address, then the port number (if speci-
fied) is ignored
, and the packet will be forwarded to the remote
address, using the route as found in the local routing table for
that IP.
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
gortum
мл. сержант
Сообщения: 70
Зарегистрирован: 2008-11-13 12:12:37
Откуда: Санкт-Петербург

Re: Проброс порта в обратную сторону

Непрочитанное сообщение gortum » 2009-03-12 12:10:00

И как теперь быть :unknown: ставить PF?

NN
мл. сержант
Сообщения: 102
Зарегистрирован: 2008-12-05 6:55:31

Re: Проброс порта в обратную сторону

Непрочитанное сообщение NN » 2009-03-12 17:14:05

я пользуюсь
portfwd
если надо вот

1 после установки создай в /usr/local/etc/rc.d/ , файл с названием portfwd.sh

вот его содержание

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

#!/bin/sh

# PROVIDE portfwd
# REQUIRE: NETWORKING SERVERS
# BEFORE: DAEMON
# KEYWORD: FreeBSD shutdown

#
# Add the following lines to /etc/rc.conf to enable portfwd:
#
# portfwd_enable="YES"
#

. /etc/rc.subr

name=portfwd
rcvar=`set_rcvar`

command=/usr/local/sbin/portfwd
portfwd_config=${portfwd_config:-"/usr/local/etc/portfwd.cfg"}
portfwd_flags=${portfwd_flags-""}
required_files=${portfwd_config}

# pidfile=/var/run/portfwd/portfwd.pid
# --transparent-proxy

portfwd_enable=${portfwd_enable:-"NO"}
start_precmd="${portfwd_start_precmd}"

load_rc_config $name
run_rc_command "$1"
2 потом chmod +x /usr/local/etc/rc.d/portfwd.sh
и добавь в rc.conf ---> portfwd_enable="YES"

3 далее в директории /usr/local/etc/,создай файл с названием portfwd.cfg

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


user  nobody
group nobody

tcp { 7763 { => 192.168.1.5:3389 } }
Дерзай, если хочеш к серверу терминалов подключится, имеющего в локалки IP 192.168.1.5, в окне терминала указывай: IP прокси:7763, ну остальное в томже духе
Каждому свое!!!!

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Проброс порта в обратную сторону

Непрочитанное сообщение paradox » 2009-03-12 17:20:14

да у топика совершенно другая задача
говорю же ipfw fwd + хитрый диверт

ну или другие хитрые решения...
в виде проксика и опять тогоже fwd

ps
топик а тебя там все белые адресса или есть и серые?
потому как это очень критично

NN
мл. сержант
Сообщения: 102
Зарегистрирован: 2008-12-05 6:55:31

Re: Проброс порта в обратную сторону

Непрочитанное сообщение NN » 2009-03-12 17:26:43

paradox писал(а):да у топика совершенно другая задача
говорю же ipfw fwd + хитрый диверт

ну или другие хитрые решения...
в виде проксика и опять тогоже fwd

ps
топик а тебя там все белые адресса или есть и серые?
потому как это очень критично
Ну так у меня тоже IPFW стоит, открывай порт как и каму тебе надо и все.

У меня вообще несколько сетей, зачет статических маршрутов я маршрутизирую в ту или другую сеть, допустим в 192 и 10 сеть, как угодно.

а конфиг пиши так, если надо 25->1525

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

tcp { 25 { => 192.168.1.5:1525 } }
Каждому свое!!!!

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Проброс порта в обратную сторону

Непрочитанное сообщение paradox » 2009-03-12 17:29:19

та вообще то это не мне надо....
а топикстартеру

зы
прочитайте еще раз тему
о том как идет пакет
и что там таргет не промежуточный роутер а конечная машина
а на промежуточном роутере оно токо "пролетает"

Аватара пользователя
terminus
майор
Сообщения: 2305
Зарегистрирован: 2007-10-29 11:27:35
Откуда: Рига

Re: Проброс порта в обратную сторону

Непрочитанное сообщение terminus » 2009-03-12 18:09:20

Давайте конкурс объявим на самое-самое завернутое решение и чтобы работало... :smile:

У меня сначала был вариант - ipfw + ntegrapf (ng_ksocket), но я не знаю как на уровне netrgaph менять номера портов в пакете (иначе выйдет тенелирование что как я понял неприемлемо и лучше делать через ssh).

Второй вариант - ipfw fwd + nginx (smtp proxy) - вроде можно так?

Кто еще чего предложит чтобы сделать это на ipfw и не использовать pf (если pf сам это поддерживает) :Bravo:
Модель: AST-PM-105/0044; Тип: Универсальный, ремонтный; Название: Терминус; Род повреждения: Распад функций; Выводы: Сдать на слом.

Аватара пользователя
gortum
мл. сержант
Сообщения: 70
Зарегистрирован: 2008-11-13 12:12:37
Откуда: Санкт-Петербург

Re: Проброс порта в обратную сторону

Непрочитанное сообщение gortum » 2009-03-13 0:08:29

поставил :good: PF :good: , это просто ЧУДО какое-то!!!! :Yahoo!: все работает!!! :Bravo:

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Проброс порта в обратную сторону

Непрочитанное сообщение paradox » 2009-03-13 0:11:46

а что сложно было сделать kld*
не думаю

Аватара пользователя
gortum
мл. сержант
Сообщения: 70
Зарегистрирован: 2008-11-13 12:12:37
Откуда: Санкт-Петербург

Re: Проброс порта в обратную сторону

Непрочитанное сообщение gortum » 2009-03-13 10:01:53

paradox писал(а):а что сложно было сделать kld*
а что это такое? :oops:

Аватара пользователя
gortum
мл. сержант
Сообщения: 70
Зарегистрирован: 2008-11-13 12:12:37
Откуда: Санкт-Петербург

Re: Проброс порта в обратную сторону

Непрочитанное сообщение gortum » 2009-03-13 10:13:49

а что это такое?
кажется понял, только причем тут это?

paradox
проходил мимо
Сообщения: 11620
Зарегистрирован: 2008-02-21 18:15:41

Re: Проброс порта в обратную сторону

Непрочитанное сообщение paradox » 2009-03-13 14:45:35

ты так грустно сказал
прийдеться pf ставить
типа это пол дня нужно потратить на команду kld*
)))

Аватара пользователя
gortum
мл. сержант
Сообщения: 70
Зарегистрирован: 2008-11-13 12:12:37
Откуда: Санкт-Петербург

Re: Проброс порта в обратную сторону

Непрочитанное сообщение gortum » 2009-03-13 16:25:14

paradox писал(а):ты так грустно сказал
прийдеться pf ставить
типа это пол дня нужно потратить на команду kld*
)))
а мне все равно нужно было ядро пересобирать :smile: