Jump to content

Recommended Posts

Posted

Ктонибудь делал?

 

Я смог с RADIUS.

А вот с шэйпингом никак не разберусь. Желательно параметры скорости каждой сессии получать от радиуса на стадии авторизации.

Ну на худой конец всех под одну гребенку зарезать

Posted

пробовал замутить такие строки в ppp.conf

 

set ip-up /etc/ppp/shape.ppp

set ip-down /etc/ppp/shape.ppp

 

и соответствующий скрипт положил:

 

#!/bin/sh

# Номер первого правила в ipfw

start_rule=1000

# Номер первого pipe

start_pipe=100

 

ninf=`echo $2 | sed 's/tun//'`

s_r=`expr ${ninf} + ${start_rule}`

s_p=`expr ${ninf} + ${start_pipe}`

 

case $1 in

Start)

/sbin/ipfw -q del $s_r 2>&1

/sbin/ipfw -q pipe del $s_p 2>&1

/sbin/ipfw -q pipe ${s_p} config bw ${3}Kbits/sec 2>&1

/sbin/ipfw add ${s_r} pipe ${s_p} ip from any to any via ${2} 2>&1

;;

Stop)

/sbin/ipfw -q del $s_r 2>&1

/sbin/ipfw -q pipe del $s_p 2>&1

;;

esac

 

Только вот в логах ругается что неверные команды:

 

Jun 14 21:11:24 test-nas ppp[700]: Warning: set ip-up: Invalid command

Jun 14 21:11:24 test-nas ppp[700]: Warning: set ip-up: Failed 1

Jun 14 21:11:24 test-nas ppp[700]: Warning: set ip-down: Invalid command

Jun 14 21:11:24 test-nas ppp[700]: Warning: set ip-down: Failed 1

Posted
пробовал замутить такие строки в ppp.conf

 

set ip-up /etc/ppp/shape.ppp

set ip-down /etc/ppp/shape.ppp

 

и соответствующий скрипт положил:

 

#!/bin/sh

# Номер первого правила в ipfw

start_rule=1000

# Номер первого pipe

start_pipe=100

 

ninf=`echo $2 | sed 's/tun//'`

s_r=`expr ${ninf} + ${start_rule}`

s_p=`expr ${ninf} + ${start_pipe}`

 

case $1 in

Start)

/sbin/ipfw -q del $s_r 2>&1

/sbin/ipfw -q pipe del $s_p 2>&1

/sbin/ipfw -q pipe ${s_p} config bw ${3}Kbits/sec 2>&1

/sbin/ipfw add ${s_r} pipe ${s_p} ip from any to any via ${2} 2>&1

;;

Stop)

/sbin/ipfw -q del $s_r 2>&1

/sbin/ipfw -q pipe del $s_p 2>&1

;;

esac

 

Только вот в логах ругается что неверные команды:

 

Jun 14 21:11:24 test-nas ppp[700]: Warning: set ip-up: Invalid command

Jun 14 21:11:24 test-nas ppp[700]: Warning: set ip-up: Failed 1

Jun 14 21:11:24 test-nas ppp[700]: Warning: set ip-down: Invalid command

Jun 14 21:11:24 test-nas ppp[700]: Warning: set ip-down: Failed 1

http://shs.rs.net.ua/exppp

Posted

Дело в том что у нас уже есть биллинг. А вот дешевый NAS на платформе PC хотелось бы намутить, чем и занимаюсь.

 

И кстати сразу возник вопрос в процессе испытаний exppp:

 

Он радиус серверу не отдает атрибут NAS-IP-Address. Точнее отдает но только в пакетах авторизации. А надо и в авторизации и в аккаунтинге. Наш биллинг к этому придирается.

 

Эту проблему я решил еще до exppp путем нахождения в недрах сети исходников ppp в которых были добавлены эти атрибуты. Вот если бы теперь заполучить ppp в котором будет и то и другое (шэйпинг и поддержка определенного набора атрибутов RADIUS)

Posted

лучше всего шейпинг получился с PF+ALTQ

пример конфига /etc/pf.conf:

 

altq on int cbq bandwidth 100Mb queue { std_queue_in, alex-g_in, maximus_in }

queue std_queue_in cbq(default)

 

queue alex-g_in bandwidth 176Kb cbq(red ecn)

queue maximus_in bandwidth 176Kb cbq(red ecn)

queue mutabor_in bandwidth 176Kb cbq(red ecn)

 

pass out quick on int from any to 172.16.4.31 queue alex-g_in

pass out quick on int from any to 172.16.0.46 queue maximus_in

pass out quick on int from any to 172.16.0.203 queue mutabor_in

 

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

 

NAT в PF тоже сделать можно, но при больших нагрузках машинке будет плохо.

Posted
лучше всего шейпинг получился с PF+ALTQ

пример конфига /etc/pf.conf:

 

altq on int cbq bandwidth 100Mb queue { std_queue_in, alex-g_in, maximus_in }

queue std_queue_in cbq(default)

 

queue alex-g_in bandwidth 176Kb cbq(red ecn)

queue maximus_in bandwidth 176Kb cbq(red ecn)

queue mutabor_in bandwidth 176Kb cbq(red ecn)

 

pass out quick on int from any to 172.16.4.31 queue alex-g_in

pass out quick on int from any to 172.16.0.46 queue maximus_in

pass out quick on int from any to 172.16.0.203 queue mutabor_in

 

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

 

NAT в PF тоже сделать можно, но при больших нагрузках машинке будет плохо.

 

не для моих мозгов наверное :(

ничего не понял, что за PF и ALTQ

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.