Перейти к содержимому
Калькуляторы
Существует ли возможность обновлять шейпер без разрыва соединения? Например, пнуть его по snmp?

snmpset -m +ACCEL-PPP-MIB -v 2c -c local 127.0.0.1 ACCEL-PPP-MIB::cli.0 = "shaper change ppp0 1024"

ок, спасибо за ответ. как я понимаю, заставить его повторно считать параметры через радиус нет возможности?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть кого темплейты Cacti для мониторинга accel-ppp, и как задать команду snmpwalk чтобы просмотреть вывод параметров.

Изменено пользователем alexaaa

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

с -lnl-3 тоже столкнулся, но дальше не собирается

 

ядро 3.2.1

 

* Preparing pptp module
make -j1 HOSTCC=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- 'LDFLAGS=-m elf_x86_64' KDIR=/usr/src/linux default 
make -C /usr/src/linux M=/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver modules
make[1]: Entering directory `/usr/src/linux-3.2.1-gentoo-r2'
make[1]: Warning: File `.vmlinux.cmd' has modification time 4657 s in the future
make[2]: Warning: File `include/config/auto.conf' has modification time 4399 s in the future
 CC [M]  /var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.o
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c: In function 'pptp_xmit':
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:388:10: error: unknown field 'oif' specified in initializer
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:388:10: warning: missing braces around initializer
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:388:10: warning: (near initialization for 'fl.u')
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:389:9: error: unknown field 'nl_u' specified in initializer
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:389:9: error: extra brace group at end of initializer
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:389:9: error: (near initialization for 'fl')
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:390:12: error: extra brace group at end of initializer
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:390:12: error: (near initialization for 'fl')
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:392:7: warning: excess elements in struct initializer
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:392:7: warning: (near initialization for 'fl')
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:393:9: error: unknown field 'proto' specified in initializer
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:393:9: warning: excess elements in struct initializer
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:393:9: warning: (near initialization for 'fl')
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:397:3: warning: passing argument 2 of 'ip_route_output_key' from incompatible pointer type
include/net/route.h:123:30: note: expected 'struct flowi4 *' but argument is of type 'struct rtable **'
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:397:3: error: too many arguments to function 'ip_route_output_key'
include/net/route.h:123:30: note: declared here
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:397:11: warning: assignment makes integer from pointer without a cast
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c: In function 'pptp_connect':
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:862:9: error: unknown field 'nl_u' specified in initializer
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:862:9: error: unknown field 'ip4_u' specified in initializer
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:863:12: error: unknown field 'daddr' specified in initializer
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:864:7: error: unknown field 'saddr' specified in initializer
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:865:7: error: unknown field 'tos' specified in initializer
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:866:9: error: unknown field 'proto' specified in initializer
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:866:9: warning: excess elements in struct initializer
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:866:9: warning: (near initialization for 'fl')
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:873:3: warning: passing argument 2 of 'ip_route_output_key' from incompatible pointer type
include/net/route.h:123:30: note: expected 'struct flowi4 *' but argument is of type 'struct rtable **'
/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.c:873:3: error: too many arguments to function 'ip_route_output_key'
include/net/route.h:123:30: note: declared here
make[2]: *** [/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver/pptp.o] Error 1
make[1]: *** [_module_/var/tmp/portage/net-dialup/accel-ppp-9999/work/accel-ppp-9999/driver] Error 2
make[1]: Leaving directory `/usr/src/linux-3.2.1-gentoo-r2'
make: *** [default] Error 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

с -lnl-3 тоже столкнулся, но дальше не собирается

 

ядро 3.2.1

 

Модуль для ядра собирать не обязательно. Он уже идет в стандартном ядре от того же автора.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

заставить его повторно считать параметры через радиус нет возможности?
это как ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

заставить его повторно считать параметры через радиус нет возможности?
это как ?

 

Наверное речь идёт про CoA, правда тогда не ясно при чём тут snmp

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть задача общаться с accel-ем через скрипты, получать списки текущих пользователей и т.п.

 

Есть настройка в конфиге

tcp=127.0.0.1:2001

 

Пытаюсь поговорить через telnet, ругается command unknown.

Может быть есть какая-то документация?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пытаюсь поговорить через telnet, ругается command unknown.

На telnet??? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На telnet??? :)

 

root@nas:~# telnet localhost 2001
Trying ::1...
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
show sessions
command unknown
help
command unknown
?
command unknown

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

телнет вообще-то на 2000-ом порту

на 2001 порту надо по другому: echo show sessions | nc 127.0.0.1 2001

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Протестировал свежую версию из git, значение пришлось cburst увеличить, шейпить начал замечательно!

 

[shaper]

vendor=Cisco

attr=Cisco-AVPair

time-range=1,08:00-23:59

time-range=2,00:00-07:59

#attr=Filter-Id

#down-burst-factor=0.1

#up-burst-factor=1.0

#latency=50

#mpu=0

up-limiter=htb

down-limiter=htb

cburst=153400

ifb=ifb0

r2q=10

quantum=1500

verbose=1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

заставить его повторно считать параметры через радиус нет возможности?
это как ?

snmp команда без параметров. а новые параметры шейпера возьмутся из радиуса.

 

заставить его повторно считать параметры через радиус нет возможности?
это как ?

 

Наверное речь идёт про CoA, правда тогда не ясно при чём тут snmp

Нет, я имел в виду то, что выше. Но этот вариант, наверное, еще лучше.

 

 

В текущем варианте я бы вообще предпочел прямой обмен данными с SQL. Радиус просто лишняя прослойка получается. Разумеется, я понимаю, что многим радиус удобнее. Я как-то под старый pppd правил плагин авторизации под прямую работу с SQL.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Протестировал свежую версию из git, значение пришлось cburst увеличить, шейпить начал замечательно!

 

[shaper]

vendor=Cisco

attr=Cisco-AVPair

time-range=1,08:00-23:59

time-range=2,00:00-07:59

#attr=Filter-Id

#down-burst-factor=0.1

#up-burst-factor=1.0

#latency=50

#mpu=0

up-limiter=htb

down-limiter=htb

cburst=153400

ifb=ifb0

r2q=10

quantum=1500

verbose=1

 

На каких скоростях проверяли? Больше 20 Мегабит работает правильно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Протестировал свежую версию из git, значение пришлось cburst увеличить, шейпить начал замечательно!

 

[shaper]

vendor=Cisco

attr=Cisco-AVPair

time-range=1,08:00-23:59

time-range=2,00:00-07:59

#attr=Filter-Id

#down-burst-factor=0.1

#up-burst-factor=1.0

#latency=50

#mpu=0

up-limiter=htb

down-limiter=htb

cburst=153400

ifb=ifb0

r2q=10

quantum=1500

verbose=1

 

На каких скоростях проверяли? Больше 20 Мегабит работает правильно?

А что Вас так беспокоят большие скорости? У меня аплинк 100Мбит заворачивается на imq интерфейс, на котором htb с нарезкой скоростей по классам. Никаких аномалий незамечено.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

аплинк на 5 гбит/с. тарифы 5-100 мбит/с. На погрешности +-500 кбит/с уже внимания не обращаю )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

телнет вообще-то на 2000-ом порту

на 2001 порту надо по другому: echo show sessions | nc 127.0.0.1 2001

А как бы еще сделать чтобы соединение закрывалось после выполнения команды? А то nc так и остается висеть... Увы, когда применяю подобную конструкцию к telnet 127.0.0.1 2000 то accel-ppp валится, а способ очень востребован

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Эмм.. поставил из гита для тестов и возник вопрос по поводу нового параметра cburst.

По моему некорректно задавать одно единственное значение cburst глобально из конфига. Дело в том, что у различных тарифов различные скорости (что естественно) и логично для каждой скорости расчитывать своё значение burst (в моём случае это делается с помощью Cisco-like атрибутов, что очень удобно) и соответственно cburst. Исходя из рекомендаций компании cisco, значение параметра cburst может быть равно или больше значения параметра burst.

На данный момент я вижу у себя такую картину

root@nas:~# tc class show dev ppp50
class htb 1:1 root prio 0 rate 12288Kbit ceil 12288Kbit burst 750Kb cburst 1531b

На других тарифных скоростях другие значения burst, но cburst везде равен 1531 байт.

До этого нововведения cburst был равен burst.

 

Не знаю... вроде так не должно быть. Поправьте, если я ошибаюсь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А как бы еще сделать чтобы соединение закрывалось после выполнения команды?
echo show sessions | nc -q0 127.0.0.1 2001

 

возник вопрос по поводу нового параметра cburst.
так до недавнего времени он и был равен burst и возникали проблемы со скоростями, хотя не понятно почему он вообще включается в работу, ведь он должен только использоваться когда htb уходит в полосу ceil, а она равна rate и, соответственно, htb не должен задействовывать ceil
Изменено пользователем xeb

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

хотя не понятно почему он вообще включается в работу, ведь он должен только использоваться когда htb уходит в полосу ceil, а она равна rate и, соответственно, htb не должен задействовывать ceil

Проверяется на практике:

1. Дано: rate = 12288Kbit, burst = 750Kb, cburst = 1531b (в конфиге). Проверяем скорость любой мерилкой. Результат - входящая в среднем на 30% меньше заявленной в rate.

2. Тут же редактируем в accel-ppp.conf параметр cburst = 750000 (делаю burst = cburst), в cli даём команду reload, переподключаем vpn соединение и... скорость равна заявленной!

На всякий случай проделываю сие несколько раз с аналогичным результатом.

 

С предложением сделать в конфиге cburst = 750000 и успокоиться не торопитесь, тарифы то у меня от 512Кбит и если у такого тарифа сделать cburst = 750Kb, то скорость на данном тарифе будет по любому выше 512Кb.

 

Интереснее вариант вынести редактирование cburst из конфига в сторону RADIUS атрибутов, а-ля cisco, там как раз всё очевидно получается и зависит от тарифа. Ну либо как-то доработать в конфиге. А так, как сейчас реализовано - ни куда не годится... Не может cburst быть одинаковым для 512Кбит и для 12288Кбит.

Изменено пользователем lan-viper

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите, пожалуйста, как раздельно шейпить мир/пиринговые ресурсы? Реально ли до определенных подсеток не резать скорость?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Подскажите, пожалуйста, как раздельно шейпить мир/пиринговые ресурсы? Реально ли до определенных подсеток не резать скорость?

Только с помощью внешних скриптов посредством модуля ppp-compat и отключением встроенного шейпера.

 

xeb, заметил незначительный баг:

time-range=1,13:00-01:00
time-range=2,01:00-13:00

атрибуты для входящего шейпа:

lcp:interface-config#1=rate-limit input access-group 1 4096000 256000 256000 conform-action transmit exceed-action drop
lcp:interface-config#1=rate-limit input access-group 2 12288000 768000 768000 conform-action transmit exceed-action drop

Если я будучи в time-range=2,01:00-13:00 даю команду shaper change ppp16 20480, то

root@nas:/etc# tc class show dev ppp16
class htb 1:1 root prio 0 rate 20480Kbit ceil 20480Kbit burst 250Kb cburst 31997b

Обращаю внимание на значение burst - оно из первого time-range=1,13:00-01:00.

Просьба перепроверить.

Изменено пользователем lan-viper

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Проверил нет никаких багов всё нормально отрабатывает, и шейпиться.

 

[shaper]

vendor=Cisco

attr=Cisco-AVPair

time-range=1,08:00-23:59

time-range=2,00:00-07:59

#attr=Filter-Id

#down-burst-factor=0.1

#up-burst-factor=1.0

#latency=50

#mpu=0

up-limiter=htb

down-limiter=htb

cburst=153400

ifb=ifb0

r2q=10

quantum=1500

verbose=1

 

time-range 1

root@debdns:~# tc class show dev ifb0

class htb 1:2 root prio 0 rate 15360Kbit ceil 15360Kbit burst 960000b cburst 153396b

root@debdns:~# tc class show dev ppp0

class htb 1:1 root prio 0 rate 15360Kbit ceil 15360Kbit burst 960000b cburst 153396b

 

time-range 2

root@debdns:~# tc class show dev ifb0

class htb 1:2 root prio 0 rate 35840Kbit ceil 35840Kbit burst 6720000b cburst 153395b

root@debdns:~# tc class show dev ppp0

class htb 1:1 root prio 0 rate 35840Kbit ceil 35840Kbit burst 6720000b cburst 153395b

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

lan-viper, когда писал про cburst я и предполагал отдавать это значение радиус атрибутом, забыл упомянуть. Только не смог рассчитать.

Ушёл в сторону ipfw/dummynet и попал на панику. Шейпит идеально, только в панику ядра падает =) facking BSDM... Рекомендую не использовать dummynet на linux. Сейчас опять курю man по tc.

Изменено пользователем Dimka88

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ушёл в сторону ipfw/dummynet и попал на панику. Шейпит идеально, только в панику ядра падает =) facking BSDM... Рекомендую не использовать dummynet на linux. Сейчас опять курю man по tc.

У многих людей все чуть более чем полностью нормально с dummynet на linux на гигабитных каналах. Ибо tc задолбал.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.