Abills 0.5+mpd5 разделение трафика Wold|UA-IX
Abills 0.5+mpd5 разделение трафика Wold|UA-IX
Надеюсь темы не дублирую, т.к. версия 0.4 и 0.5 разные решил создать отдельную.
Итак имеем:
1 сервер
Freebsd 6.4+apache+perl(остальные модули необх.для работы абиллса)+abills0.5+radiusd+mysql-server
2 сервер
Freebsd 7.2+perl(и сотальные модули необходимые для работы абилса)+abills0.5(для нормальной работы mpd5+linkupdown)
Задача поделить трафик на украину и мир средствами абиллса+mpd5(используя pptp). И обеспечить систематическое обновление UAIX-подсетей.
Сервера разнес, биллинг+mysql+radius на одном, а NAS (mpd5) на втором. Завел сети 1-Global (0.0.0.0/0 была по умолчанию), 2-UAIX (1679 подсетей) добавил через вебморду как положено одной строкой, через ";".
Пред подключением на NAS проверил его доступ к mysql - mysql -hvpn2.mynet.com -uabills -pabillspass abills (т.к. linkupdown подтягивает другие скрипты и без доступа к базе не будет работать)
Дальше при подлкючении ниче не понял, подключается инет раздает, но трафик на ураину и мир не делит.
Хотя помнится Асмодеус говорил что в 0.5 все работает. Ну вот и запнулся я в месте деления трафика .
Честно говоря не совсем понял как настроить связку mpd5+ngcar. Думал заработает на стандартном ipfw.
А вообще опять-же если честно, я не до-конца понимаю как работает linkupdown на NASе отдельном от биллинга с радиусом, т.к. одни и те-же скрипрты (к примеру linkupdown, тестировал в версии 0.4) при разнесении на два сервера ведут себя по разному. На одном создают правила в IPFW(если NAS+RADIUS+ABILLS+MYSQL на одном сервере), а если вынести например exppp+poptop на другой сервер то уже не ipfw правила не создаются...
Кто настраивал деление трафика - таким образом ?
Как я понял NiTr0 отдельный свой скрипт. А sopov я так понял использует родной linkupdown.
В общем, поправьте если где не прав.
Итак имеем:
1 сервер
Freebsd 6.4+apache+perl(остальные модули необх.для работы абиллса)+abills0.5+radiusd+mysql-server
2 сервер
Freebsd 7.2+perl(и сотальные модули необходимые для работы абилса)+abills0.5(для нормальной работы mpd5+linkupdown)
Задача поделить трафик на украину и мир средствами абиллса+mpd5(используя pptp). И обеспечить систематическое обновление UAIX-подсетей.
Сервера разнес, биллинг+mysql+radius на одном, а NAS (mpd5) на втором. Завел сети 1-Global (0.0.0.0/0 была по умолчанию), 2-UAIX (1679 подсетей) добавил через вебморду как положено одной строкой, через ";".
Пред подключением на NAS проверил его доступ к mysql - mysql -hvpn2.mynet.com -uabills -pabillspass abills (т.к. linkupdown подтягивает другие скрипты и без доступа к базе не будет работать)
Дальше при подлкючении ниче не понял, подключается инет раздает, но трафик на ураину и мир не делит.
Хотя помнится Асмодеус говорил что в 0.5 все работает. Ну вот и запнулся я в месте деления трафика .
Честно говоря не совсем понял как настроить связку mpd5+ngcar. Думал заработает на стандартном ipfw.
А вообще опять-же если честно, я не до-конца понимаю как работает linkupdown на NASе отдельном от биллинга с радиусом, т.к. одни и те-же скрипрты (к примеру linkupdown, тестировал в версии 0.4) при разнесении на два сервера ведут себя по разному. На одном создают правила в IPFW(если NAS+RADIUS+ABILLS+MYSQL на одном сервере), а если вынести например exppp+poptop на другой сервер то уже не ipfw правила не создаются...
Кто настраивал деление трафика - таким образом ?
Как я понял NiTr0 отдельный свой скрипт. А sopov я так понял использует родной linkupdown.
В общем, поправьте если где не прав.
http://v-lan.com.ua Выделенные линии в Боярке
Re: Abills 0.5+mpd5 разделение трафика Wold|UA-IX
Очень улыбнула опция $conf{mpd_filters}=1; Которая включает фильтры по сетям. Собственно после перезапуска радиуса он стратрует, при попытке подлючения начинает выплевывать следующее
Дальше выдает ошибку 691 . Обратите мнимание уже на 51 подсети ... Вобщем почему-бы просто не сделать таблицами ?
Да, Автор в предыдущей теме про UAIX говорил, что 0.5 уже давно реализовано, viewtopic.php?f=2&t=4917&start=10 , а в другом месте ии-же написано
Код: Выделить всё
Starting - reading configuration files ...
Using deprecated naslist file. Support for this will go away soon.
Module: Loaded exec
rlm_exec: Wait=yes but no output defined. Did you mean output=none?
Module: Instantiated exec (exec)
Module: Loaded expr
Module: Instantiated expr (expr)
Module: Loaded PAP
Module: Instantiated pap (pap)
Module: Loaded CHAP
Module: Instantiated chap (chap)
Module: Loaded MS-CHAP
Module: Instantiated mschap (mschap)
Module: Loaded System
Module: Instantiated unix (unix)
Module: Loaded eap
rlm_eap: Loaded and initialized type md5
rlm_eap: Loaded and initialized type leap
rlm_eap: Loaded and initialized type gtc
rlm_eap: Loaded and initialized type mschapv2
Module: Instantiated eap (eap)
Module: Loaded preprocess
Module: Instantiated preprocess (preprocess)
Module: Instantiated exec (pre_auth)
Module: Loaded perl
Module: Instantiated perl (perl)
Module: Loaded realm
Module: Instantiated realm (suffix)
Module: Loaded Acct-Unique-Session-Id
Module: Instantiated acct_unique (acct_unique)
Module: Loaded detail
Module: Instantiated detail (detail)
Module: Loaded radutmp
Module: Instantiated radutmp (radutmp)
Initializing the thread pool...
Listening on authentication *:1812
Listening on accounting *:1813
Ready to process requests.
rad_recv: Access-Request packet from host 91.207.105.4:60379, id=7, length=241
NAS-Identifier = "vpn2.v-lan.com.ua"
Acct-Session-Id = "7691539-L-1"
NAS-Port = 1
NAS-Port-Type = Virtual
Service-Type = Framed-User
Framed-Protocol = PPP
Calling-Station-Id = ""
Called-Station-Id = ""
NAS-Port-Id = "vlan1"
mpd-link = "L-1"
Tunnel-Type:0 = PPTP
Tunnel-Medium-Type:0 = IPv4
Tunnel-Server-Endpoint:0 = "10.10.0.3"
Tunnel-Client-Endpoint:0 = "10.10.0.10"
Tunnel-Server-Auth-Id:0 = "vpn2.v-lan.com.ua"
User-Name = "bulka"
MS-CHAP-Challenge = 0xbb1e68d30cc79401994fdbac9e50d4a6
MS-CHAP2-Response = 0x010040a0d3c8ee5f7cea02ef71f59db8d7730000000000000000f563384cb293c0195250682ed478f8da
Exec-Program-Wait: value-pairs: User-Password == "898195"
Exec-Program: returned: 0
Using perl at 0x8142100
User-Password == "898195"rlm_perl: Added pair Session-Timeout = 1937315
rlm_perl: Added pair Framed-IP-Address = 10.123.123.10
rlm_perl: Added pair mpd-filter = 1#1=match dst net 4.3.2.0/24
rlm_perl: Added pair mpd-filter = 2#1=match src net 4.3.2.0/24
rlm_perl: Added pair mpd-filter = 1#2=match dst net 8.8.8.0/24
rlm_perl: Added pair mpd-filter = 2#2=match src net 8.8.8.0/24
rlm_perl: Added pair mpd-filter = 1#3=match dst net 62.16.0.0/19
rlm_perl: Added pair mpd-filter = 2#3=match src net 62.16.0.0/19
rlm_perl: Added pair mpd-filter = 1#4=match dst net 62.64.64.0/18
rlm_perl: Added pair mpd-filter = 2#4=match src net 62.64.64.0/18
rlm_perl: Added pair mpd-filter = 1#5=match dst net 62.72.160.0/19
rlm_perl: Added pair mpd-filter = 2#5=match src net 62.72.160.0/19
rlm_perl: Added pair mpd-filter = 1#6=match dst net 62.80.160.0/19
rlm_perl: Added pair mpd-filter = 2#6=match src net 62.80.160.0/19
*** покусано ***
rlm_perl: Added pair mpd-filter = 2#1664=match src net 217.198.128.0/20
rlm_perl: Added pair mpd-filter = 1#1665=match dst net 217.199.224.0/20
rlm_perl: Added pair mpd-filter = 2#1665=match src net 217.199.224.0/20
rlm_perl: Added pair Framed-IP-Netmask = 255.255.255.255
rlm_perl: Added pair mpd-limit = in#1#1=flt1 pass
rlm_perl: Added pair mpd-limit = out#1#1=flt2 pass
rlm_perl: Added pair mpd-limit = out#2#0=all shape 0 4000
rlm_perl: Added pair mpd-limit = in#2#0=all shape 0 4000
rlm_perl: Added pair User-Password = 898195
rlm_perl: Added pair Auth-Type = MS-CHAP
Sending Access-Accept of id 7 to 91.207.105.4 port 60379
Session-Timeout = 1937315
Framed-IP-Address = 10.123.123.10
mpd-filter += "1#1=match dst net 4.3.2.0/24"
mpd-filter += "2#1=match src net 4.3.2.0/24"
mpd-filter += "1#2=match dst net 8.8.8.0/24"
mpd-filter += "2#2=match src net 8.8.8.0/24"
mpd-filter += "1#3=match dst net 62.16.0.0/19"
mpd-filter += "2#3=match src net 62.16.0.0/19"
*** покусано ***
mpd-filter += "1#50=match dst net 77.120.0.0/19"
mpd-filter += "2#50=match src net 77.120.0.0/19"
mpd-filter += "1#51=match dst net 77.120.32.0/20"
Да, Автор в предыдущей теме про UAIX говорил, что 0.5 уже давно реализовано, viewtopic.php?f=2&t=4917&start=10 , а в другом месте ии-же написано
Скажите, а разве нельзя радиусом передать правило всего всего на одну "таблицу" ??? Зачем в тыщу подсетей передавать каждый раз ??? Или я чего-то не понимаю.Внимание если сетей больше чем 1000 использование фильтров становиться не эфективным, так как все сети RADIUS неуспевает передать MPD. По этому более праивльно при большом количестве сетей использовать схему Dv+IPN
http://v-lan.com.ua Выделенные линии в Боярке
Re: Abills 0.5+mpd5 разделение трафика Wold|UA-IX
Сразу советую добавить в my.cnf для отмены резольвинга имен mysql, иначе если вдруг днс станет недоступным, то база тоже перестанет отвечать
Еще раз повторюсь - настройка отдельного наса ничем не отличается от обычной установки абилса, кроме настроек ip радиуса и мускула в /etc/radius.conf и /usr/abills/libexec/config.pl. Ставите mysql-client и все либы, соответственно mysql-server и radius ставить не нужно. Также необходимо добавить словари вашего наса к настройкам радиуса. Если хотите шейпить через ng_car - на 6.4 нужно ставить /usr/ports/net/ng_car.
Далее при конекте клиента ваш нас спросит у радиуса разрешения на подключение клиента. Радиус, если одобрит подключение, в ответ сообщит насу параметры подключения, которые нужно применить к клиенту (ip, скорость и другие параметры). Дальше насом, на этапе формирования ppp тунеля, отрабатывается скрипт linkupdown и применяются параметры полученые от радиуса. Вот тут-то и происходит ограничение скорости. По идее можно и не брать у радиуса список сетей, а брать, например, из динамически обновляемого текстового файла на насе темже скриптом linkupdown и отдавать ng_car.
Код: Выделить всё
skip-name-resolve
Еще раз повторюсь - настройка отдельного наса ничем не отличается от обычной установки абилса, кроме настроек ip радиуса и мускула в /etc/radius.conf и /usr/abills/libexec/config.pl. Ставите mysql-client и все либы, соответственно mysql-server и radius ставить не нужно. Также необходимо добавить словари вашего наса к настройкам радиуса. Если хотите шейпить через ng_car - на 6.4 нужно ставить /usr/ports/net/ng_car.
Далее при конекте клиента ваш нас спросит у радиуса разрешения на подключение клиента. Радиус, если одобрит подключение, в ответ сообщит насу параметры подключения, которые нужно применить к клиенту (ip, скорость и другие параметры). Дальше насом, на этапе формирования ppp тунеля, отрабатывается скрипт linkupdown и применяются параметры полученые от радиуса. Вот тут-то и происходит ограничение скорости. По идее можно и не брать у радиуса список сетей, а брать, например, из динамически обновляемого текстового файла на насе темже скриптом linkupdown и отдавать ng_car.
-
- Site Admin
- Сообщения: 5746
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация:
Re: Abills 0.5+mpd5 разделение трафика Wold|UA-IX
Не встречал ещё решения чтобы передать одну таблицу и мпд делал фильтр для неё
Зачем опция mpd_filer чтобы как раз эти параметры передавались,
в процесе внедрения было выявленно что если сете больше 200 то они не успевают все передаться на мпд и соответственно ошибка.
Поэтому пока более стабильная схема mpd + ipn
если есть ещё какието идеи я их выслушаю
Зачем опция mpd_filer чтобы как раз эти параметры передавались,
в процесе внедрения было выявленно что если сете больше 200 то они не успевают все передаться на мпд и соответственно ошибка.
Поэтому пока более стабильная схема mpd + ipn
если есть ещё какието идеи я их выслушаю
Re: Abills 0.5+mpd5 разделение трафика Wold|UA-IX
Путем вдумчивого чтения чейнджлогов и документации было нарыто следующее:~AsmodeuS~ писал(а):Не встречал ещё решения чтобы передать одну таблицу и мпд делал фильтр для неё
Зачем опция mpd_filer чтобы как раз эти параметры передавались,
в процесе внедрения было выявленно что если сете больше 200 то они не успевают все передаться на мпд и соответственно ошибка.
Поэтому пока более стабильная схема mpd + ipn
если есть ещё какието идеи я их выслушаю
Код: Выделить всё
set global filter num add fltnum flt
set global filter num clear
These commands define or clear traffic filters to be used by rules submitted by AAA during authentication.
Щас буду смотреть что к чему.
Re: Abills 0.5+mpd5 разделение трафика Wold|UA-IX
Посмотрел. Мне для mpd5 подходит.
Итого есть интерфейс для работы с сетями. Хоть уаикс, хоть франкфурта сети, все скушает. Динамически тоже умеет.
В тарифном плане можно смело задать
Не хватает одного - обсчета классов трафика с такой штукой. Походу, это должно быть быстрее и гибче IPN
Код: Выделить всё
[1:56:22][root][/usr/local/etc/mpd5]#telnet 10.0.0.4 5005
Trying 10.0.0.4...
Connected to pppoe1.local
Escape character is '^]'.
Multi-link PPP daemon for FreeBSD
Username: admin
Password:
Welcome!
Mpd pid 61958, version 5.3 (root@pppoe1.local 23:48 15-Oct-2009)
[] show global
Global settings:
startrule : 2000
startpipe : 2000
startqueue : 2000
starttable : 35
l2tptimeout : 10
l2tplimit : 100
pptptimeout : 10
pptplimit : 100
max-children : 10000
Global options:
tcp-wrapper enable
one-shot disable
Global traffic filters:
1#1 : 'match dst net 10.0.0.0/24'
1#2 : 'match dst net 192.168.3.0/24'
1#3 : 'match dst net xxx.xxx.xxx.xxx/28'
2#1 : 'match src net 10.0.0.0/24'
2#2 : 'match src net 192.168.3.0/24'
2#3 : 'match src net xxx.xxx.xxx.xxx/28'
[] load /usr/local/etc/mpd5/filters.conf uaix
[] show global
Global settings:
startrule : 2000
startpipe : 2000
startqueue : 2000
starttable : 35
l2tptimeout : 10
l2tplimit : 100
pptptimeout : 10
pptplimit : 100
max-children : 10000
Global options:
tcp-wrapper enable
one-shot disable
Global traffic filters:
1#1 : 'match dst net 10.0.0.0/24'
1#2 : 'match dst net 192.168.3.0/24'
1#3 : 'match dst net xxx.xxx.xxx.xxx/28'
1#4 : 'match dst net xxx.xxx.xxx.yyy/28'
2#1 : 'match src net 10.0.0.0/24'
2#2 : 'match src net 192.168.3.0/24'
2#3 : 'match src net xxx.xxx.xxx.xxx/28'
2#4 : 'match src net xxx.xxx.xxx.yyy/28'
[]
[1:57:58][root][/usr/local/etc/mpd5]#cat filters.conf
filters:
set global filter 1 add 1 "match dst net 10.0.0.0/24"
set global filter 1 add 2 "match dst net 192.168.3.0/24"
set global filter 1 add 3 "match dst net xxx.xxx.xxx.xxx/28"
set global filter 2 add 1 "match src net 10.0.0.0/24"
set global filter 2 add 2 "match src net 192.168.3.0/24"
set global filter 2 add 3 "match src net xxx.xxx.xxx.xxx/28"
uaix:
set global filter 1 add 4 "match dst net xxx.xxx.xxx.yyy/28"
set global filter 2 add 4 "match src net xxx.xxx.xxx.yyy/28"
[2:00:51][root][/usr/local/etc/mpd5]#cat mpd.conf | grep filt
load /usr/local/etc/mpd5/filters.conf filters
В тарифном плане можно смело задать
Код: Выделить всё
RAD:mpd-limit+=in#1#1=flt1 pass, mpd-limit+=in#2=all shape 256000 16000, mpd-limit+=out#1#1=flt2 pass, mpd-limit+=out#2=all rate-limit 1024000 192000 384000
Re: Abills 0.5+mpd5 разделение трафика Wold|UA-IX
Задница. Все украинские сети не влазят.
Код: Выделить всё
Nov 20 04:52:37 yashmahead mpd: [B_pptp-5] IFACE: filter 'flt1' compilation error
Nov 20 04:52:40 yashmahead mpd: [B_pptp-5] IFACE: filter 'flt2' compilation error
Re: Abills 0.5+mpd5 разделение трафика Wold|UA-IX
Хитрыми приседаниями загрузил таки в один фильтр over 3400 сетей. МПД 2 минуты жрал 20% проца на обсчет bpf правил, соединение установил, на фильтры не ругнулся. Но передавать данные в туннель отказался. Нда, таки IPN или всякое другое.
-
- Site Admin
- Сообщения: 5746
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация:
Re: Abills 0.5+mpd5 разделение трафика Wold|UA-IX
давно уже написана утилита которая оптимизирует au-ix при добавлении в базу
http://abills.net.ua/misc/traffic_class_add.pl
http://abills.net.ua/misc/traffic_class_add.pl
Re: Abills 0.5+mpd5 разделение трафика Wold|UA-IX
Ненене! Это не наш метод. Я потоптался по всем граблям, и таки научил mpd5 сожрать все украинские сети для фильтров.
Итак, вкратце, пока не забыл - в ядро добавляем BPF_JITTER (если фря - семерка и старше) - сильно успорит обработку bpf.
2 - опытным путем было установлено, что в строка вида match src net 217.175.4.0/22 or src net 217.175.8.0/22 не должна привышать примерно 200 символов.
Быдлоскрипт на баше генерит набор такого вида: и похожего вида, с четными номерами фильтров.
Вот тут первое ограничение ng_bpf - примерно 18к адресов сетей может переварить на входе. Поэтому фильтров много.
Теперь второй финт ушами - снять аккаунтинг со всего этого. И попутно прошейпить.
Вот. Тут есть еще одна интересная штука. Как мне показалась в процессе исследований, биллинг при использовании ng_сar+ng_bpf из коробки траффик по предопределенным направлениям считает правильно по mpd_(input|output)_octets, а дефолтный - по ACCT_(INPUT|OUTPUT) _OCTETS, куда попадает весь траффик, вместе с уже посчитанным.
Мое решение, имхо, будет несколько быстрее, плюс для работающего шейпера по любым направлениям и гибкого сбора статистики только средствами радиуса. Плюс таблицы можно вполне безболезненно грузить прямо на ходу мпд
Итак, вкратце, пока не забыл - в ядро добавляем BPF_JITTER (если фря - семерка и старше) - сильно успорит обработку bpf.
2 - опытным путем было установлено, что в строка вида match src net 217.175.4.0/22 or src net 217.175.8.0/22 не должна привышать примерно 200 символов.
Быдлоскрипт на баше генерит набор такого вида:
Код: Выделить всё
uaix:
set global filter 3 add 1 "match dst net 4.3.2.0/24 or dst net 8.8.4.0/24 or dst net 8.8.8.0/24 or dst net 62.16.0.0/19 or dst net 62.64.64.0/18 or dst net 62.6
set global filter 3 add 2 "match dst net 62.64.104.0/21 or dst net 62.72.160.0/19 or dst net 62.72.183.0/24 or dst net 62.80.160.0/19 or dst net 62.122.0.0/21 o
set global filter 3 add 3 "match dst net 62.122.104.0/21 or dst net 62.122.152.0/22 or dst net 62.122.152.0/21 or dst net 62.122.156.0/22 or dst net 62.122.200.
set global filter 3 add 4 "match dst net 62.182.80.0/21 or dst net 62.182.81.0/24 or dst net 62.182.82.0/24 or dst net 62.182.84.0/24 or dst net 62.182.85.0/24
set global filter 3 add 5 "match dst net 62.182.120.0/21 or dst net 62.205.128.0/19 or dst net 62.216.32.0/22 or dst net 62.216.36.0/22 or dst net 62.216.40.0/2
set global filter 3 add 6 "match dst net 62.221.34.0/24 or dst net 62.221.35.0/24 or dst net 62.221.37.0/24 or dst net 62.221.38.0/24 or dst net 62.221.39.0/24
set global filter 3 add 7 "match dst net 62.221.42.0/23 or dst net 62.221.44.0/24 or dst net 62.221.45.0/24 or dst net 62.221.46.0/24 or dst net 62.221.47.0/24
<...>
set global filter 3 add 77 "match dst net 85.90.211.0/24 or dst net 85.90.212.0/23 or dst net 85.90.214.0/24 or dst net 85.90.216.0/23 or dst net 85.90.218.0/24
set global filter 3 add 78 "match dst net 85.91.123.0/24 or dst net 85.114.192.0/19 or dst net 85.159.0.0/21 or dst net 85.198.128.0/18 or dst net 85.198.130.0/
set global filter 3 add 79 "match dst net 85.198.136.0/23 or dst net 85.198.139.0/24 or dst net 85.198.144.0/21 or dst net 85.198.152.0/21 or dst net 85.198.164
set global filter 3 add 80 "match dst net 85.198.188.0/22 or dst net 85.202.192.0/20 or dst net 85.223.128.0/17 or dst net 85.223.129.0/24 or dst net 85.223.136
set global filter 5 add 1 "match dst net 85.223.165.0/24 or dst net 85.223.188.0/24 or dst net 85.223.189.0/24 or dst net 85.223.190.0/24 or dst net 85.223.191.
set global filter 5 add 2 "match dst net 86.106.83.0/24 or dst net 86.111.64.0/20 or dst net 86.111.64.0/19 or dst net 86.111.80.0/20 or dst net 86.111.224.0/21
set global filter 5 add 3 "match dst net 87.238.157.0/24 or dst net 87.238.159.0/24 or dst net 87.244.128.0/18 or dst net 87.244.175.0/24 or dst net 87.244.192.
set global filter 5 add 4 "match dst net 87.250.252.0/22 or dst net 88.81.224.0/20 or dst net 88.81.240.0/22 or dst net 88.81.244.0/24 or dst net 88.81.244.0/22
set global filter 5 add 5 "match dst net 88.154.0.0/15 or dst net 88.208.8.0/23 or dst net 88.212.0.0/18 or dst net 88.214.64.0/19 or dst net 88.214.64.0/18 or
file "/usr/local/etc/mpd5/uaix_dst.conf", 498 lines
Вот тут первое ограничение ng_bpf - примерно 18к адресов сетей может переварить на входе. Поэтому фильтров много.
Теперь второй финт ушами - снять аккаунтинг со всего этого. И попутно прошейпить.
Код: Выделить всё
RAD:mpd-limit+=in#1#1=flt1 pass,mpd-limit+=in#1#1=flt3 pass,mpd-limit+=in#1#1=flt5 pass,mpd-limit+=in#1#1=flt7 pass,mpd-limit+=in#1#1=flt9 pass,mpd-limit+=in#1#1=flt11 pass,mpd-limit+=in#1#1=flt12 pass,mpd-limit+=in#1#1=flt15 pass, mpd-limit+=in#2=all shape 256000 16000, mpd-limit+=out#1#1=flt2 pass, mpd-limit+=out#1#1=flt4 pass, mpd-limit+=out#1#1=flt6 pass, mpd-limit+=out#1#1=flt8 pass, mpd-limit+=out#1#1=flt10 pass, mpd-limit+=out#1#1=flt12 pass, mpd-limit+=out#1#1=flt14 pass, mpd-limit+=out#1#1=flt16 pass, mpd-limit+=out#2=all shape 256000 16000
Мое решение, имхо, будет несколько быстрее, плюс для работающего шейпера по любым направлениям и гибкого сбора статистики только средствами радиуса. Плюс таблицы можно вполне безболезненно грузить прямо на ходу мпд
Re: Abills 0.5+mpd5 разделение трафика Wold|UA-IX
Итак, по последним изысканиям, штука весьма привередливая. Отсутствие одного символа или подобный недосмотр - не работает ни ng_bpf нода нормально, и у ng_car сносит чердак. Хотя до пары сотен сетей - просто прекрасно. Буду еще копать, может что-то рожу.
Re: Abills 0.5+mpd5 разделение трафика Wold|UA-IX
У меня хоть и не Украинские сети, но схема реализована следующая:
DHCP+MPD+IPFW+NATD
DHCP+MPD+IPFW+NATD
Re: Abills 0.5+mpd5 разделение трафика Wold|UA-IX
а никто не пробовал метить пакеты при помощи ipfw_tag, а потом уже, используя эту метку фильтровать c ng_bpf ?
Re: Abills 0.5+mpd5 разделение трафика Wold|UA-IX
Есть ли какие-то подвижки по теме?
Re: Abills 0.5+mpd5 разделение трафика Wold|UA-IX
а смысл? все давно сделано по другому