No meu caso, tá assim ó: [EMAIL PROTECTED] /etc/ppp]# cat ppp.conf default: set log Chat Command Phase enable pap allow mode direct enable proxy disable ipv6cp set mru 1472 set mtu 1472 set ifaddr 200.xxx.xxx.126 200.xxx.xxx.65-200.xxx.xxx.115 set radius /etc/ppp/radius.conf accept dns enable echo enable lqr echo set lqrperiod 15
[EMAIL PROTECTED] /etc/ppp]# cat ppp.linkup default: bg /etc/ppp/addclient.sh USER connect HISADDR INTERFACE [EMAIL PROTECTED] /etc/ppp]# cat ppp.linkdown default: bg /etc/ppp/removeclient.sh USER connect HISADDR INTERFACE [EMAIL PROTECTED] /etc/ppp]# cat addclient.sh #!/bin/sh user=$1 type=$2 clientip=$3 int=$4 fwcmd=/sbin/ipfw if [ -z $user ]; then echo no user exit fi if [ -z $type ]; then echo no type exit fi if [ -z $clientip ]; then echo no clientip exit fi if [ -z $int ]; then echo no int exit fi usernum1=`echo $clientip | cut -d "." -f 1` usernum2=`echo $clientip | cut -d "." -f 2` usernum3=`echo $clientip | cut -d "." -f 3` usernum4=`echo $clientip | cut -d "." -f 4` usernum=`expr $usernum1 + $usernum2 + $usernum3 + $usernum4` inkbps=`/usr/local/bin/php /etc/ppp/linkdown.php ""$user""` outkbps=`/usr/local/bin/php /etc/ppp/linkup.php ""$user""` initrule=5000 echo $usernum echo $inkbps echo $outkbps pipein=`echo $usernum+$initrule | bc` #the firewall pipe and rule numbers pipeout=`expr $pipein + 1` #get seeded by the usernumber fwrulein=`expr $pipein + 1000` fwruleout=`expr $fwrulein + 1` fwholein=`expr $pipein + 33000` fwholeout=`expr $fwholein + 1` $fwcmd pipe $pipein config bw ${inkbps}Kbit/s #make an inbound pipe of the right size $fwcmd pipe $pipeout config bw ${outkbps}Kbit/s #same for outgoing $fwcmd add $fwrulein pipe $pipein ip from any to $clientip in #force traffic through the correct pipe $fwcmd add $fwruleout pipe $pipeout ip from $clientip to any out #ditto $fwcmd add $fwholein permit ip from any to $clientip #allow that traffic through firewall $fwcmd add $fwholeout permit ip from $clientip to any #ditto echo `date`,$usernum,$user,CONNECT,$clientip,$int,$inkbps,$outkbps >> /var/log/ppp.output #log-o-rama [EMAIL PROTECTED] /etc/ppp]# cat removeclient.sh #!/bin/sh user=$1 type=$2 clientip=$3 int=$4 fwcmd=/sbin/ipfw if [ -z $user ]; then echo no user exit fi if [ -z $type ]; then echo no type exit fi if [ -z $clientip ]; then echo no clientip exit fi if [ -z $int ]; then echo no int exit fi usernum1=`echo $clientip | cut -d "." -f 1` usernum2=`echo $clientip | cut -d "." -f 2` usernum3=`echo $clientip | cut -d "." -f 3` usernum4=`echo $clientip | cut -d "." -f 4` usernum=`expr $usernum1 + $usernum2 + $usernum3 + $usernum4` inkbps=`/usr/local/bin/php /etc/ppp/linkdown.php ""$user""` outkbps=`/usr/local/bin/php /etc/ppp/linkup.php ""$user""` initrule=5000 echo $usernum echo $inkbps echo $outkbps pipein=`echo $usernum+$initrule | bc` pipeout=`expr $pipein + 1` fwrulein=`expr $pipein + 1000` fwruleout=`expr $fwrulein + 1` fwholein=`expr $pipein + 33000` fwholeout=`expr $fwholein + 1` $fwcmd pipe delete $pipein $fwcmd pipe delete $pipeout $fwcmd delete $fwrulein pipe $pipein $fwcmd delete $fwruleout pipe $pipeout $fwcmd delete $fwholein $fwcmd delete $fwholeout echo `date`,$usernum,$user,DISCONNECT,$clientip,$int,$inkbps,$outkbps >> /var/log/ppp.output [EMAIL PROTECTED] /etc/ppp]# cat linkdown.php #!/usr/local/bin/php <?php require('openconexao.php'); $result = mysql_query('SELECT * from radcheck where UserName=\''.$argv[1].'\'') or die('falhou selec?o da tabela '.mysql_error()); while ($row = mysql_fetch_object($result)) { echo $row->linkdown; } mysql_free_result($result); require('closeconexao.php'); ?> [EMAIL PROTECTED] /etc/ppp]# cat linkup.php #!/usr/local/bin/php <?php require('openconexao.php'); $result = mysql_query('SELECT * from radcheck where UserName=\''.$argv[1].'\'') or die('falhou selec?o da tabela '.mysql_error()); while ($row = mysql_fetch_object($result)) { echo $row->linkup; } mysql_free_result($result); require('closeconexao.php'); ?> Entendeu? Eu tenho também na radcheck os campos 'linkdown' e 'linkup'. Abs, Felipe Neuwald. ThOLOko escreveu: > Entao > > Eu tb estou implementando assim... Mas e como farei a limitação??? Se eu nao > sei qual será o IP do user??? > > Abraços... > > > Em 21/05/07, Felipe Neuwald <[EMAIL PROTECTED]> escreveu: > >> Mano, >> >> nops, a cada conexão o usuário obtem um endereço IP. >> >> Abs, >> >> Felipe. >> >> ThOLOko escreveu: >> >>> Certo,,, vc coloca o IP do usuario na tabela radreply correto??? >>> >>> >>> Em 21/05/07, Felipe Neuwald <[EMAIL PROTECTED]> escreveu: >>> >>> >>>> Mano, >>>> atualmente não rodo dhcpd na rede. Veja como está o meu >>>> /etc/ppp/ppp.conf: >>>> [EMAIL PROTECTED] /]# cat /etc/ppp/ppp.conf >>>> default: >>>> set log Chat Command Phase >>>> enable pap >>>> allow mode direct >>>> enable proxy >>>> disable ipv6cp >>>> set mru 1472 >>>> set mtu 1472 >>>> set ifaddr 200.xxx.xxx.126 200.xxx.xxx.65-200.xxx.xxx.115 >>>> set radius /etc/ppp/radius.conf >>>> accept dns >>>> enable echo >>>> enable lqr echo >>>> set lqrperiod 10 >>>> Abs, >>>> Felipe. >>>> ThOLOko escreveu: >>>> >>>> >>>> >>>> >>>> >>> >>> >> ------------------------- >> Histórico: http://www.fug.com.br/historico/html/freebsd/ >> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd >> >> > > > > ------------------------- Histórico: http://www.fug.com.br/historico/html/freebsd/ Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd