PF проброс портов с незашлюзованной машины

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
igor_st26
рядовой
Сообщения: 17
Зарегистрирован: 2013-07-31 8:28:41

PF проброс портов с незашлюзованной машины

Непрочитанное сообщение igor_st26 » 2014-04-04 17:40:56

Добрый вечер! С окончанием трудовой недели коллеги!! ))
Очень нужна ваша помощь в решении банальной задачи, но с небольшой поправкой.
Есть машинка с FreeBSD + PF на этой машине имеется белый ип в интернете и так же сетевая карта которая смотрит в сеть 192.168.10.0/24. Так вот в сети 192.168.10.0/24 есть вин сервер ,у которого шлюзом по умолчанию стоит НЕ адрес FreeBSD сервера, КАК СРЕДСТВАМИ PF ПРОКИНУТЬ ПОРТ RDP ЭТОГО СЕРВЕРА НАРУЖУ(т.е. что бы попадать на нее по rdp через белый ип FreeBSD )????

Конструкция типа

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

rdr on $out_ip proto tcp from any to $out_ip port 3389 -> 192.168.10.XX port 3389
не работает и насколько я понимаю не должна т.к. вин. сервер будет отвечать обратно через дефолтный шлюз коим не является адрес FreeBSD в сети 192.168.10.0/24.

Заранее благодарен :) :smile: :smile: :smile:
Последний раз редактировалось f_andrey 2014-04-04 19:37:50, всего редактировалось 1 раз.
Причина: Автору. пожалуйста, выбирайте соответствующий раздел форума.

Хостинговая компания 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/

Dmitriy_3206
проходил мимо

Re: PF проброс портов с незашлюзованной машины

Непрочитанное сообщение Dmitriy_3206 » 2014-04-06 12:12:49

Нат в помощь ;) что бы win машинка думала что это FreeBSD к ней по RDP подключается

Вот мой пример
nat on $int_if inet from <trust_ip> to $video_server -> $int_if
В таблице <trust_ip> у меня ай пи видеонаблюдателей ;) - читается из файла

Вот есть еще такой синтаксис объединяющий rdr и pass - но он у меня не работает :( (в книге по PF для openbsd вычитал)
pass in quick on $ext_if from <trust_ip> to port $video rdr-to $video)server
match out on $int_if from <trust_ip> to $video_server nat-to $int_if

igor_st26
рядовой
Сообщения: 17
Зарегистрирован: 2013-07-31 8:28:41

Re: PF проброс портов с незашлюзованной машины

Непрочитанное сообщение igor_st26 » 2014-04-06 15:20:17

Извините я до конца не понял.
Можно пример 1 1й конструкции с натом для моей ситуации

Аватара пользователя
alex3
лейтенант
Сообщения: 872
Зарегистрирован: 2006-11-20 16:47:56
Откуда: Переславль
Контактная информация:

Re: PF проброс портов с незашлюзованной машины

Непрочитанное сообщение alex3 » 2014-04-06 19:08:50

nat поднимаешь не наружу, как обычно, а внутрь (спецом для твоего виндячьего серва.) и ограничения в правилах соответственные.
Если ipfw можно считать речью обычного человека, то pf - речь политика. За каждой ошибкой -ядерный песец.

Dmitriy_3206
проходил мимо

Re: PF проброс портов с незашлюзованной машины

Непрочитанное сообщение Dmitriy_3206 » 2014-04-06 19:13:04

Предположим:

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

ext_if = "ИМЯ_ВАШЕГО_ИНЕТ_ИНТЕРФЕЙСА"  #у вас в макросе out_ip
int_if = "ИМЯ_ВАШЕГО_ВНУТРЕННЕГО_ИНТЕРФЕЙСА"
rdp_server = "192.168.10.XX"

#Если ТОЛЬКО для определенных ip из вне пустить на RDP
#Список храним на диске в файле /usr/local/etc/pf/trust_ip
#где каждая новая строка либо адрес либо сеть с маской 222.111.333.0/24
#вам маску противопоказана, указывайте конкретные адреса 
 
table <trust_ip> persist file "/usr/local/etc/pf/trust_ip"

rdr on $ext_if  proto tcp from any to $ext_if  port 3389 -> $rdp_server port 3389
nat on $int_if inet from <trust_ip> to $rdp_server -> $int_if
Ну а если вам все равно кто ломится на ваш RDP

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

nat on $int_if inet to $rdp_server -> $int_if

Dmitriy_3206
проходил мимо

Re: PF проброс портов с незашлюзованной машины

Непрочитанное сообщение Dmitriy_3206 » 2014-04-06 19:16:41

Прочитал своё художество :) Если уж использовать trust_ip то и в правило RDR добавить. Или только в RDR. Или в оба.....
В общем как мне кажется результат будет одинаковым во всех случаях. Лично у меня RDR используется только внутри VPN сетей где и так все доверенные адреса :)

igor_st26
рядовой
Сообщения: 17
Зарегистрирован: 2013-07-31 8:28:41

Re: PF проброс портов с незашлюзованной машины

Непрочитанное сообщение igor_st26 » 2014-04-07 9:28:30

Ай, спасибо щас буду пробовать..))) насчет того ,откуда пускать на RDP я понимаю что надо или в форвардинге или в NATshe указывать :smile:

igor_st26
рядовой
Сообщения: 17
Зарегистрирован: 2013-07-31 8:28:41

Re: PF проброс портов с незашлюзованной машины

Непрочитанное сообщение igor_st26 » 2014-04-07 10:27:00

Все пучком, заработало!! Спасибо ребята, буду еще раз читать читать теорию....