Интересная проблема!
Интересная проблема!
Есть 2 NAS серввера. Один локальный, второй удаленный. Оба находяться в одной сети. Но на обоих разные каналы интернет. Данные второй сервер берет с радиуса локального через реальные IP адреса интернета. При подключении на локальный сервер создаются тунели с правельным шейпам. А при подключении на удаленный, шейп не передается. Кто нить такое фиксил? Не передается именно размер шейпа. Правила, ип адреса, все как надо. А шейп передается нулевой.
Удаленный сервер:
/etc/radius.conf:
auth xxx.xxx.xxx.xxx:1812 01027 4 4
acct xxx.xxx.xxx.xxx:1813 01027 4 4
/etc/ppp/ppp.conf:
pptp:
set mtu 1492
set mru 1492
allow mode direct
enable lqr
set timeout 1000
disable acfcomp protocomp
deny acfcomp
enable chap
accept dns
set ifaddr 192.168.201.1 192.168.201.2-192.168.201.254
set dns 10.168.0.6
set server +4000 01027
set radius /etc/radius.conf
set rad_service_type 11
set rad_alive 60
set ip-up /etc/ppp/shape.ppp
set ip-down /etc/ppp/shape.ppp
/etc/ppp/shape.ppp:
#!/bin/sh
start_rule=13000
start_pipe=13000
# $1 login
# $2 Start/Stop
# $3 Interface
# $4 Shape/Speed
# $5 Input pipe
# $6 output pipe
# $7 local Ip
# $8 Remote IP
# $9 program type
case $9 in
ppp)
ninf=`echo $3 | sed 's/tun//'`
;;
pppd)
ninf=`echo $3 | sed 's/ppp//'`
;;
esac
s_r=`expr ${ninf} + ${start_rule}`
s_p=`expr ${ninf} + ${start_pipe}`
case $2 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 512Kbits/sec 2>&1
/sbin/ipfw add ${s_r} pipe ${s_p} ip from any to any via ${3} 2>&1
;;
Stop)
/sbin/ipfw -q del $s_r 2>&1
/sbin/ipfw -q pipe del $s_p 2>&1
;;
esac
-----
В этом скрипте указан шейр скорости 512 руками.
Из всех выше описанных параметров не передается именно
$4 Shape/Speed
$5 Input pipe
$6 output pipe
Все остальные параметры получаем с основного сервера без проблем!
Запускается оно вот с такими параметрами:
dimyc Start tun0 0 0 0 192.168.201.1 192.168.249.248 ppp
Как видим 4,5,6 - нули. Почему?
/etc/radius.conf:
auth xxx.xxx.xxx.xxx:1812 01027 4 4
acct xxx.xxx.xxx.xxx:1813 01027 4 4
/etc/ppp/ppp.conf:
pptp:
set mtu 1492
set mru 1492
allow mode direct
enable lqr
set timeout 1000
disable acfcomp protocomp
deny acfcomp
enable chap
accept dns
set ifaddr 192.168.201.1 192.168.201.2-192.168.201.254
set dns 10.168.0.6
set server +4000 01027
set radius /etc/radius.conf
set rad_service_type 11
set rad_alive 60
set ip-up /etc/ppp/shape.ppp
set ip-down /etc/ppp/shape.ppp
/etc/ppp/shape.ppp:
#!/bin/sh
start_rule=13000
start_pipe=13000
# $1 login
# $2 Start/Stop
# $3 Interface
# $4 Shape/Speed
# $5 Input pipe
# $6 output pipe
# $7 local Ip
# $8 Remote IP
# $9 program type
case $9 in
ppp)
ninf=`echo $3 | sed 's/tun//'`
;;
pppd)
ninf=`echo $3 | sed 's/ppp//'`
;;
esac
s_r=`expr ${ninf} + ${start_rule}`
s_p=`expr ${ninf} + ${start_pipe}`
case $2 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 512Kbits/sec 2>&1
/sbin/ipfw add ${s_r} pipe ${s_p} ip from any to any via ${3} 2>&1
;;
Stop)
/sbin/ipfw -q del $s_r 2>&1
/sbin/ipfw -q pipe del $s_p 2>&1
;;
esac
-----
В этом скрипте указан шейр скорости 512 руками.
Из всех выше описанных параметров не передается именно
$4 Shape/Speed
$5 Input pipe
$6 output pipe
Все остальные параметры получаем с основного сервера без проблем!
Запускается оно вот с такими параметрами:
dimyc Start tun0 0 0 0 192.168.201.1 192.168.249.248 ppp
Как видим 4,5,6 - нули. Почему?
да не плюйся ты своими бздёвыми конфигами - линухоид я
но наскоко я понимаю шейпинг должен настраивать скрипт abills/libexec/linkupdown который должен вызываться с соответствующими параметрами откуда-нить при активации клиента/поднятии туннеля. Так вот этот скрипт сам лезет в базу абиллса и достаёт оттуда корректные параметры шейпера (которые меж прочим в общем случае зависят от временных интервалов, подсетей, портов и т. п.). Так вот по-уму на удалённом насе у тебя тоже должен запускаться линкапдаун (или типа того) и брать параметры шейпера из базы абиллса (которая в данном случае находится на удалённом сервере)

можно и не ставить просто примонтировать на чтение через NFS то что нужно с сервера с абиллсом... ну а запросы ессно слать на удалённый мускл. я ща как раз этим и развлекаюсь, отлаживая NAS под pfSensePS: Можэт паставить абилс и на второй сервак и только указать, что база в другом месте?