PF+MPD5

Обсуждаем OS FreeBSD и сервисы на ней.

PF+MPD5

Сообщение borin » 28 фев 2011, 13:40

День добрый!

Есть вопросик который спать не дает по ночам, фаервол на pf, а в pf нельзя задать ng*, как например в ipfw:
Код: Выделить всё
$ipfw add pass ip from any to any in recv ng*
$ipfw add pass ip from any to any out xmit ng*
, приходится извращаться в mpd с if-up и if-down скриптами типа:
Код: Выделить всё
#!/bin/sh
echo "pass quick on $1 all" | pfctl -a PPPoE/$1 -f -
и
Код: Выделить всё
#!/bin/sh
pfctl -a PPPoE/$1 -F rules

Так вот в якоре получается куча правил, а если их не 10 и не 100, а где-нить с 1000 будет, читал что pf оптимизирует прохождение по правилам, но все же интересна как будет расти нагрузка от количества правил. Может кто использует данную схему?
borin
новичок
 
Сообщения: 33
Зарегистрирован: 14 июл 2010, 13:59

Re: PF+MPD5

Сообщение lehisnoe » 28 фев 2011, 20:28

Привет!

Увы, PF в продакшене мы перестали использовать уже как года два (у нас сейчас все работает на ipfw), соответственно, и сказать мне на эту тему нечего :(
No users
No troubles
No money
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
lehisnoe
Site Admin
 
Сообщения: 539
Зарегистрирован: 11 июн 2008, 14:09
Откуда: Moscow

Re: PF+MPD5

Сообщение root » 28 фев 2011, 21:54

borin писал(а):фаервол на pf, а в pf нельзя задать ng*

нельзя, сколько раз перелистывал маны PF, столько раз убежданся что этого там нет

borin писал(а):приходится извращаться в mpd с if-up и if-down скриптами

именно так все и делают - через таблицы в PF

lehisnoe писал(а):PF в продакшене мы перестали использовать уже как года два (у нас сейчас все работает на ipfw)

ага, в этом плане ipfw практичнее и понятнее чем PF. ИМХО.
С уважением, root

Изображение
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
root
Site Admin
 
Сообщения: 1894
Зарегистрирован: 11 июн 2008, 13:05
Откуда: Moscow, Russia

Re: PF+MPD5

Сообщение Андрей » 28 фев 2011, 22:25

а в чем проблема пользовать это для pfctl:

-t vpn -T add UIP/UBITS - добавить разрешение для ng_IP/32 (или какая у вас маска)

-t vpn -T delete UIP/UBITS - удалить разрешение для ng_IP/32 (или какая у вас маска)

И определяем таблицу в pf.conf:
Код: Выделить всё
table <vpn> persist


один и кривописателей биллинга пользует такое. Даже в у них доке это есть. :) Вот только их программулина криво работает с файрволлом. Через костыль именуемый sudo.

Да и вам надо демона, который бы от радиуса получал верные установки - открыть сессию или нет и передвал в управление pf, опять же, если сессий ожидается много.
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

Re: PF+MPD5

Сообщение borin » 01 мар 2011, 06:40

Андрей писал(а):а в чем проблема пользовать это для pfctl:

-t vpn -T add UIP/UBITS - добавить разрешение для ng_IP/32 (или какая у вас маска)

-t vpn -T delete UIP/UBITS - удалить разрешение для ng_IP/32 (или какая у вас маска)

И определяем таблицу в pf.conf:
Код: Выделить всё
table <vpn> persist


один и кривописателей биллинга пользует такое. Даже в у них доке это есть. :) Вот только их программулина криво работает с файрволлом. Через костыль именуемый sudo.

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

Думал про это уже, но отсутствие привязки к интерфейсу думаю не совсем гуд будет.

root писал(а):нельзя, сколько раз перелистывал маны PF, столько раз убежданся что этого там нет

Pf хорош, но отсутствием группировки интерфейсов (почему не реализовать столько удобную фишку, не понятно :?), в данной конкретной ситуации однозначно сливает ipfw.
lehisnoe писал(а):Увы, PF в продакшене мы перестали использовать уже как года два (у нас сейчас все работает на ipfw), соответственно, и сказать мне на эту тему нечего

root писал(а):ага, в этом плане ipfw практичнее и понятнее чем PF. ИМХО.

Вот тоже думаю ipfw использовать на шлюзе. Правила одинаково просто писать, что для pf, что для ipfw. Нормализация пакетов, вроде красиво написано, насколько реально оно помогает не известно, опять же как то и без нормализации люди обходятся. Кстати попутно вопрос, блокировать или нет фрагментированные пакеты на шлюзе или нет?
borin
новичок
 
Сообщения: 33
Зарегистрирован: 14 июл 2010, 13:59

Re: PF+MPD5

Сообщение Андрей » 01 мар 2011, 06:59

borin писал(а):Думал про это уже, но отсутствие привязки к интерфейсу думаю не совсем гуд будет.

Может я чего не понял, но mpd5, в прочем как и вся линейка mpd, не предполагает закрепление определенного ng ифейса за определенным ip, да и нерационально это.

borin писал(а):Нормализация пакетов, вроде красиво написано, насколько реально оно помогает не известно, опять же как то и без нормализации люди обходятся.

Только не на сервере доступа. :) Политика нормализации пакетов похожа больше на некие ограничения. А вот их потом уже надо подгонять под себя.
Без нормализации я обойтись не смог, а вот без настройки sysctl пока обхожусь.

У самого 2 сервера доступа, на обоих mpd5 + pf + pf(nat). Ко всему этому есть еще 2 сервера, которые смотрят в инет и на них тоже собран pf.
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

Re: PF+MPD5

Сообщение lehisnoe » 01 мар 2011, 19:27

borin писал(а):Кстати попутно вопрос, блокировать или нет фрагментированные пакеты на шлюзе или нет?
Мы спецом не блочим фраги, но и не реассемблим пакеты (т.е. у юзов с реальниками все хорошо, а серые адреса за натом с фрагами обломываются).
No users
No troubles
No money
------------
www.mega-net.ru - IT аутсорсинг
Аватара пользователя
lehisnoe
Site Admin
 
Сообщения: 539
Зарегистрирован: 11 июн 2008, 14:09
Откуда: Moscow

Re: PF+MPD5

Сообщение borin » 02 мар 2011, 09:46

Андрей писал(а):Может я чего не понял, но mpd5, в прочем как и вся линейка mpd, не предполагает закрепление определенного ng ифейса за определенным ip, да и нерационально это.

Я про то что в ipfw можно забить всего два правила:
Код: Выделить всё
$ipfw add pass ip from any to any in recv ng*
$ipfw add pass ip from any to any out xmit ng*

и все mpd5 создает интерфейс, пользователь получает доступ в интернет, ни надо ни каких костылей, а в pf к сожелению такого функционала нет.
borin
новичок
 
Сообщения: 33
Зарегистрирован: 14 июл 2010, 13:59

Re: PF+MPD5

Сообщение Андрей » 02 мар 2011, 13:17

borin писал(а):Я про то что в ipfw можно забить всего два правила:
Код: Выделить всё
$ipfw add pass ip from any to any in recv ng*
$ipfw add pass ip from any to any out xmit ng*



Объясните что делают эти правила? В ipfw я не силен.
.ı|ı..ı|ı.
Андрей
местный житель
 
Сообщения: 1028
Зарегистрирован: 14 янв 2009, 13:37
Откуда: Оренбургская область

Re: PF+MPD5

Сообщение borin » 02 мар 2011, 13:38

Андрей писал(а):
borin писал(а):Я про то что в ipfw можно забить всего два правила:
Код: Выделить всё
$ipfw add pass ip from any to any in recv ng*
$ipfw add pass ip from any to any out xmit ng*



Объясните что делают эти правила? В ipfw я не силен.


1) Разрешить любой пакет неважно откуда и куда, если это входящий пакет, полученный с интерфейса ng* (где ng*, любой ng, тобишь ng0 ng1 ng2....)
2) Разрешить любой пакет неважно откуда и куда, если это исходящий пакет, отправленный ng* интерфейсом

как то так, грубо говоря разрешаем трафик на ng* интерфейсе.
borin
новичок
 
Сообщения: 33
Зарегистрирован: 14 июл 2010, 13:59

След.

Вернуться в FreeBSD

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 38