MPD + PF + ALTQ

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
proDd
рядовой
Сообщения: 46
Зарегистрирован: 2007-10-08 21:13:40

MPD + PF + ALTQ

Непрочитанное сообщение proDd » 2008-03-22 22:02:32

Расклад такой: есть mpd4 и абоненты, есть также pf, одной из задач которого профилировать траффик при помощи очередей. И есть проблема, суть которой в том, что когда стартует pf и пытается применить свои правила, mpd еще не стартовал и не создал свои полтора десятка ng_pptpgre интерфейсов, и все правила с их упоминанием не могут быть приняты и фильтр в итоге стартует с пустым набором правил.
При рыхлении документации по mpd4 обнаружилась возможность запускать скрипт при старте соединения и при его разрыве, хотел приладить поднятие правил и очереди при присоединении абонента, встал вопрос как это сделать, с правилами проблем нет, но как поднять очередь таким образом неясно.

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: MPD + PF + ALTQ

Непрочитанное сообщение hizel » 2008-03-22 23:33:09

эм а почему, как вы очереди поднимаете?
в чем трудность?
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

proDd
рядовой
Сообщения: 46
Зарегистрирован: 2007-10-08 21:13:40

Re: MPD + PF + ALTQ

Непрочитанное сообщение proDd » 2008-03-23 3:33:12

hizel писал(а):эм а почему, как вы очереди поднимаете?
в чем трудность?
после загрузги надо заставить pf еще раз прочитать файл с правилами, так как в первый раз когда правила применяються ng интерфейсов еще не существует, у мпд есть возможность испольнения скрипта при поднятии интерфейса вот было неплохо "научить" ее поднимать правила при поднятии ng при помощи скриптов но тут встал вопрос как добовлять правила в pf на лету а не из конф файла

Аватара пользователя
hizel
дядя поня
Сообщения: 9031
Зарегистрирован: 2007-06-29 10:05:02
Откуда: Выборг

Re: MPD + PF + ALTQ

Непрочитанное сообщение hizel » 2008-03-23 9:48:22

гм, а не возможно разделить пользователей на группы
и в скрипте добавлять только нужные пипишнеги в нужную таблицу
с помощью pfctl?
В дурацкие игры он не играет. Он просто жуткий, чу-чу, паровозик, и зовут его Блейн. Блейн --- это Боль.

AzureZ
мл. сержант
Сообщения: 124
Зарегистрирован: 2007-11-06 17:07:27
Откуда: Москва

Re: MPD + PF + ALTQ

Непрочитанное сообщение AzureZ » 2008-03-23 11:28:19

Можно попробовать с помощью якорей.

Аватара пользователя
muzzy
рядовой
Сообщения: 30
Зарегистрирован: 2007-11-26 18:39:04
Откуда: Komkolsgrad

Re: MPD + PF + ALTQ

Непрочитанное сообщение muzzy » 2008-03-23 17:07:28

Попробую объяснить подробнее. Види те ли, есть в этой истории три загвоздки:
1) Очереди можно поднять на определенном интерфейсе только, а на момент загрузки этого самого интерфейса и нет;
2) Не удалось найти командный интерфейс в pfctl для добавления очередей, после чтения конфига;
3) Синтаксис конфига pf требует обьявления очередей до первого правила фильтрации, иначе не применят ничего, а мы хотим как раз дообьявить очереди после поднятия конфига в момент присоединения пользователя на интерфейс, ну и, возможно, удалить после дисконнекта эти правила.

На схеме красным указана точка присоединения абонов, и план профилирования, правила и параметры адресации условные.
Вложения
h2.png
План сети. Вот как то так это работает.
Последний раз редактировалось muzzy 2008-08-11 23:32:34, всего редактировалось 1 раз.

зфтшс83
проходил мимо

Re: MPD + PF + ALTQ

Непрочитанное сообщение зфтшс83 » 2008-05-07 13:31:17

1) Очереди можно поднять на определенном интерфейсе только, а на момент загрузки этого самого интерфейса и нет;

Есть такая замутка, может поможет:
делаешь два скрипта,
Первый запускаеться при старте соединения
в первом что-то типа
слиип 3 и запуск второго
а во втором уже то что тебе нада...

Аватара пользователя
muzzy
рядовой
Сообщения: 30
Зарегистрирован: 2007-11-26 18:39:04
Откуда: Komkolsgrad

Re: MPD + PF + ALTQ

Непрочитанное сообщение muzzy » 2008-05-07 13:40:38

пока помог @reboot в кроне, просто метод этот не гибок весьма и масштабировать его не сильно удобно в трех файлах как минимум писать надо, интересно было именно со скриптами mpd поработать.

Аватара пользователя
LMik
капитан
Сообщения: 1852
Зарегистрирован: 2007-07-17 9:14:39
Откуда: МО
Контактная информация:

Re: MPD + PF + ALTQ

Непрочитанное сообщение LMik » 2008-05-07 14:14:02

muzzy писал(а):пока помог @reboot в кроне, просто метод этот не гибок весьма и масштабировать его не сильно удобно в трех файлах как минимум писать надо, интересно было именно со скриптами mpd поработать.
1. Предлагаю снести pf :)

Ну а если не катит, то повесить маленький скриптик ватчдог, который при запуске начинает усердно проверять количество созданных тунелей ng и при появлении нужного количества выполняет фаервол и закрывается.
BSD... Join the dark side.
Виpус детям не игpушка, не товаpищ и не дpуг!

Аватара пользователя
muzzy
рядовой
Сообщения: 30
Зарегистрирован: 2007-11-26 18:39:04
Откуда: Komkolsgrad

Re: MPD + PF + ALTQ

Непрочитанное сообщение muzzy » 2008-05-07 14:37:28

LMik писал(а): 1. Предлагаю снести pf :)
Так я и думал, что когда-нибудь это скажут ;)

Не знаю про ватчдогов, пока. В контексте текущей задачи будем рубить топорм на колене, возможно, ведь у нас есть sh а его с аргументами умеет вызывать мпд, передавая все необходимое для написания правила ПФу. Напишем их в файлики типа queue.pf и queue_rules.pf потом в правильном порядке сконкатенировать это с постоянной частью конфига и отправить свежевырожденное чудовище франкенштейна (http://img2.nnm.ru/imagez/gallery/8/e/1 ... 8_full.jpg) командовать ПФом.

Оффтоп: пока выяснял как пишется название этого странного литературного персонажа порадовался за компанию этого парня на вики в разделе "См. также" http://ru.wikipedia.org/wiki/%D0%A7%D1% ... 0%BD%D0%B0

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: MPD + PF + ALTQ

Непрочитанное сообщение freeman » 2008-06-05 9:50:16

Что мешает просто попросить PF перечитать правила очередей командой pfctl -qf file ?
P.S> В источнике где начинал изучать PF этой команды не было описано, но по аналогии с Rf попробовал - работает :)
Остатся должен только один ...

panic83
рядовой
Сообщения: 14
Зарегистрирован: 2008-05-14 13:14:23

Re: MPD + PF + ALTQ

Непрочитанное сообщение panic83 » 2008-08-11 2:48:59

:st:
это какой-то ........

Тоже решил сделать шейпинг в ппп сервере на базе mpd + pf

altq on ng
выдаёт:
pfctl: SIOCGIFMTU: Device not configured

ng-шки как бы есть, но клиент не подключён ещё.

подключаем 1 клиент и
altq on ng0
- cрабатывает, но это ж точно какой-то франкенштейн выйдет , если при подключении создавать файл конфига с очередями и потом его загружать, pfctl -Af тем более , что потом всё равно ещё надо траффик в эти очереди завернуть...

Были мысли сделать таблицу -
table <ngif> { ng }
altq on <ngif>
и
pfctl -f виснет наглухо ничего не делая... помогает ктрл-ц

Была мысль - якоря, и как я понял, альткью в якоря вписывать нельзя...
(при добовлении anchor в конфиг стало ругаться , что неправильный порядок правил)

Неужели нет нормального способа шейпить PPP траффик пф-ом??
и выход только в ipfw + pipe ?(

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: MPD + PF + ALTQ

Непрочитанное сообщение freeman » 2008-08-11 11:01:05

Подумалось тут вот. Если вы клиентам инет даёте всё по старинке VPN ом через mpd, который создаёт кучу своих виртуальных "фейсов", да ещё делать всё это на одной машине ?? Почему тогда не резать трафик самим mpd ?
p.S. У наших провов компы выполняющие и роль шейпера, разнесены от тех что юзаются и как сервера доступа (vpn и т.д.). И нет никаких заморочек, всё решается на уровне IP протокола, а не тысяч виртуальных интерфейсов.
Остатся должен только один ...

Аватара пользователя
muzzy
рядовой
Сообщения: 30
Зарегистрирован: 2007-11-26 18:39:04
Откуда: Komkolsgrad

Re: MPD + PF + ALTQ

Непрочитанное сообщение muzzy » 2008-08-11 23:31:52

Смею заметить, что ALTQ это не esfq из линуксов, а если быть еще точнее, то cbq позволяют установить величину потока для всего класса, а это значит, что сколько ипов будешь выдавать, столько подочередей в корневой надо будет записать, для исходящего на клиентов траффика, так что описать очередей придется немало в любом случае.
За знакомых вам провайдеров я, конечно, рад, но я не провайдер, ибо денег со всего этого не имею, так, немножечко анлима. Так что если у ваших знакомых провов будет глобальный аппгрейд, то дайте знать, я с радостью приму любое телекоммуникационное оборудование в дар, или за символическую плату. Доставк по небъятным просторам Белоруссии могу обеспечить самостоятельно :)
Про шейпинг в мпд слышал, но это не про нашу версию, похоже, надо почитать доки от свежих релизов, можете также привести пример шейпинга через мпд, а то не люблю я читать на заморской мове. Серьезно, знаешь примерную конфигурацию -- пиши.

panic83
рядовой
Сообщения: 14
Зарегистрирован: 2008-05-14 13:14:23

Re: MPD + PF + ALTQ

Непрочитанное сообщение panic83 » 2008-08-21 23:57:01

Подумалось тут вот. Если вы клиентам инет даёте всё по старинке VPN ом через mpd, который создаёт кучу своих виртуальных "фейсов", да ещё делать всё это на одной машине ?? Почему тогда не резать трафик самим mpd ?
1. а что, можно по другому?:)
2. спасибо, погуглил, подумал и сделал нарезку самим мпд. :)
Так что если у ваших знакомых провов будет глобальный аппгрейд, то дайте знать, я с радостью приму любое телекоммуникационное оборудование в дар,
ыыы, я тоже:)
Про шейпинг в мпд слышал....
фря 6.2 мпд 4.3. но т.к это оффтоп я тут описывать не хочу. Если интресно - стукни в асю 3981867.
ALTQ это не esfq из линуксов, а если быть еще точнее, то cbq позволяют установить величину потока для всего класса, а это значит, что сколько ипов будешь выдавать, столько подочередей в корневой надо будет записать,
зачем?? брр

альткью он иф1 цбкью (очередь256, очередь512)
очередь256 бв256 цбкью
очередь512 бв256 цбкью

ну и пасс <клиентс256> квори очередь256
ну и пасс <клиентс512> квори очередь512

должно бес проблем пахать..

Аватара пользователя
muzzy
рядовой
Сообщения: 30
Зарегистрирован: 2007-11-26 18:39:04
Откуда: Komkolsgrad

Re: MPD + PF + ALTQ

Непрочитанное сообщение muzzy » 2008-08-22 7:19:38

panic83 писал(а): зачем?? брр

альткью он иф1 цбкью (очередь256, очередь512)
очередь256 бв256 цбкью
очередь512 бв256 цбкью

ну и пасс <клиентс256> квори очередь256
ну и пасс <клиентс512> квори очередь512

должно бес проблем пахать..
Так как ты написал да: два клиента -- две подочереди, но мне то надо 15 человек засунуть в очередь на 256 (на самом деле на 512/15), а это значит надо 15 классов создать , иначе, если всех отправить в одну, получиться что они её будут делить на всех.

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

Да и пока я дочитаю доки по мпд5, там есть приятное новшество, суть ктоторого в возможности описывать бандлы для целой кучи подключений динамически за одну секцию в конфиге, то есть не надо больше пистаь скрипты для генерения файла mpd.links, 15 раз это не очень то сложно, конечно, но как то не кашерно.
Последний раз редактировалось muzzy 2008-08-28 7:35:30, всего редактировалось 1 раз.

Аватара пользователя
freeman
лейтенант
Сообщения: 734
Зарегистрирован: 2007-03-18 5:13:25

Re: MPD + PF + ALTQ

Непрочитанное сообщение freeman » 2008-08-22 12:27:48

panic83 писал(а):
Подумалось тут вот. Если вы клиентам инет даёте всё по старинке VPN ом через mpd, который создаёт кучу своих виртуальных "фейсов", да ещё делать всё это на одной машине ?? Почему тогда не резать трафик самим mpd ?
1. а что, можно по другому?:)
2. спасибо, погуглил, подумал и сделал нарезку самим мпд. :)
вар. 1. Написано же как :)
вар. 2. Пожалуста, молодец что по наводке дальше сам решил.
panic83 писал(а): Так что если у ваших знакомых провов будет глобальный аппгрейд, то дайте знать, я с радостью приму любое телекоммуникационное оборудование в дар,
ыыы, я тоже:)
Народ, ну купить за 100 б/у какой нить Пень4 1.6 ... В общем разговор не на ту тему пошёл :)
Последний раз редактировалось freeman 2008-08-27 13:33:47, всего редактировалось 1 раз.
Остатся должен только один ...

panic83
рядовой
Сообщения: 14
Зарегистрирован: 2008-05-14 13:14:23

Re: MPD + PF + ALTQ

Непрочитанное сообщение panic83 » 2008-08-24 13:42:23

лучше писани конфиг сюда, если он про регулирование скорости, то это не будет оффтопом, я полагаю
вот тут http://panic83.livejournal.com/4094.html я описал , там ссылок на lissyara.su хватает:)
Народ, ну купить за 100 б/у какой нить Пень4 1.6
ну да, ну как бе основной серв уже "какой нить Пень4 1.6", для мелкой локалки на 20 юзеров, ладно, проехали:)

Аватара пользователя
muzzy
рядовой
Сообщения: 30
Зарегистрирован: 2007-11-26 18:39:04
Откуда: Komkolsgrad

Re: MPD + PF + ALTQ

Непрочитанное сообщение muzzy » 2008-08-27 0:09:56

В попытках побороть наше чудовище поменял мпд на пятый, в основном из за того, что теперь не надо конфигурировать каждый линк отдельно, заглянул в доки и увидел, что шейпинг можно только с помощью радиуса делать, ну или я чего то не догнал, но в конфиге нет никаких мыслей по поводу шейпига без радиуса. Единственная иде это через up/down скрипты пробовать подвесить на создаваемый ng (тепрь то их статически нет) еще по ng_car'у, на манер того как в этой статье --> http://www.metalmind.ru/ogranichenie-sk ... bsd-2.html .
В свете всего сказанного хочется спросить, нет ли еще какого метода сделать добиться ограничения пропускной способности мпд'шных туннелей без радиуса?

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

Re: MPD + PF + ALTQ

Непрочитанное сообщение mak_v_ » 2008-08-27 9:13:27

Ребята, имя интерфайса заключите в круглые скобки!!!!!

всё будет работать!!!

Аватара пользователя
muzzy
рядовой
Сообщения: 30
Зарегистрирован: 2007-11-26 18:39:04
Откуда: Komkolsgrad

Re: MPD + PF + ALTQ

Непрочитанное сообщение muzzy » 2008-08-27 19:19:08

Браво! Маэстро, а тепрь расскажите, чем это поможет в решении проблемы? Теперь пф будет поднимать правила на несуществующих "округленных" интерфейсах?

И меньше эксперсии, не доверяю я истеричным людям.

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

Re: MPD + PF + ALTQ

Непрочитанное сообщение mak_v_ » 2008-08-27 20:01:11

Браво! Маэстро, а тепрь расскажите....
Именно так использую в ипфв приоритеты в опенвн.


расскажет вам гугл, я рекомендую.. ;-)
а если вы уж такой
Истеричный ЛЮДЬ
Используйте шейп для гре на айпи! ЧЕМ НЕ УСТРАИВАЕТ?

Аватара пользователя
muzzy
рядовой
Сообщения: 30
Зарегистрирован: 2007-11-26 18:39:04
Откуда: Komkolsgrad

Re: MPD + PF + ALTQ

Непрочитанное сообщение muzzy » 2008-08-28 0:10:55

О каком IP на GRE вы говорите, у гре нет адресации, там в соединении всего две точки есть,подробнее ознакомься на http://tools.ietf.org/html/rfc1701 . ALTQ, которым собственно и шейпят траффик имеет класс очередей cbq которые требуют обявление корневой очереди на шепируемом интерфейсе, входящий траффик не шейпится по причине бессмысленности этого занятия, почему это так написано в http://www.opennet.ru/openforum/vsluhfo ... 789.html#9 , а создатель ALTQ для pf написал про это здесь --> http://www.bsdforums.org/forums/showthread.php?t=36706 . Остается только корневая очередь на внутреннем интерфейсе (том на котором абоны связываются с мпд), но и тут проблема ипы динамические и сказать кто из них абон, а кто нет, нельзя, а людям получающим доступ к общедоступным ресурсам сети ограничивать скорость до 15 кБ/с вместо 100 Мб/c не надо, а то они свои патчики к ирушкам будут качать неделю.

Как единственное доступное решение, удовлетворяющее решению задачи (возможно не единственное), было выбрано приведенное выше, с корневой очередью на каждом виртуальном интерфейсе.
mak_v_ писал(а): Именно так использую в ипфв приоритеты в опенвн.
Тему читали? Не про ipfw и не про openvpn. Я не спрашиваю что выбрать, я спрашиваю как справиться с проблемой.

Отступление:
а) про гугл
Меня просто умиляют послания на гугл, нельзя отдифференцировать по нему человека знающего, но ненавидящего тебя за некомпетентность, от человека, просто скрывающего свои неглубокие знания за расхожим фразеологизмом, жертввы б..дь баш.орг, нечего ответить по существу, просто промолчите. Здесь собираются чтобы обсудить решение конкретной проблемы, а не для обмена ссылками на поисковые системы.
б) про исеричность
Когда человек ставит восклицательный знак в конце преложения, читающий такое послание, подразумевает, что в речевой интерпретации это произнес ли бы с повышенной интонацией или прокричали, если знаков несолько, это русский язык, а не шелл или php. Иногда, для того, чтобы выделить часть фразы или предлжения, ставят смысловое ударение, отражая в печатном письме это набором заглавнями букавами выделяемой части. Это норма руского языка, не соблюдая котороую вы рискуете быть неправильно понятым. Взгляните внимательно на ваше первое сообщение в этой теме, там всего два предложения, и в обоих вы орете как больной (не исключено, конечно, что просто кнопка залипла), сходите к психотерпевту, что ли, ваше здоровье, возможно, под угрозой.

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

Re: MPD + PF + ALTQ

Непрочитанное сообщение paradox » 2008-08-28 2:47:32

muzzy писал(а):В попытках побороть наше чудовище поменял мпд на пятый, в основном из за того, что теперь не надо конфигурировать каждый линк отдельно, заглянул в доки и увидел, что шейпинг можно только с помощью радиуса делать, ну или я чего то не догнал, но в конфиге нет никаких мыслей по поводу шейпига без радиуса. Единственная иде это через up/down скрипты пробовать подвесить на создаваемый ng (тепрь то их статически нет) еще по ng_car'у, на манер того как в этой статье --> http://www.metalmind.ru/ogranichenie-sk ... bsd-2.html .
В свете всего сказанного хочется спросить, нет ли еще какого метода сделать добиться ограничения пропускной способности мпд'шных туннелей без радиуса?
тема одна
вопросы другие
ну вы тут все нафлудили))
1 лучше конечно шейпить через up/down ipfw dummy или чем то другим
2 через altq шейпить тоже невижу проблем

правильно задайте вопрос
что бы сразу было понятно что и почему

Аватара пользователя
muzzy
рядовой
Сообщения: 30
Зарегистрирован: 2007-11-26 18:39:04
Откуда: Komkolsgrad

Re: MPD + PF + ALTQ

Непрочитанное сообщение muzzy » 2008-08-28 7:30:39

И правда, много нетого.
Давайте так: если вы считатет, что можете предоставить конфиг pf, который без проблем решает задачу, то пишите, на схеме я, кажется, все указал для этого. А то "не вижу проблем...", "иди в гугл...". А я, тем времнем, попробую это дело адаптировать к ipfw с up/down-скриптами, и если поллучится закрою эту тему.
Кстати, а через ng_car но без радиуса никто не пробовал значит?