[FUG-BR] PPPoE em Rede Wireless

Felipe Neuwald felipe em neuwald.biz
Quinta Maio 24 15:34:32 BRT 2007


Mano, manda email aqui pra lista. É melhor por que tod at s ficam sabendo à 
respeito dos problemas e das soluções.

Abs,

Felipe.

ThOLOko escreveu:
> Felipe... vc vai salvar minha vida!!! Valeu,, vc tem msn para gente trocar
> umas ideias em pvt??? abraços...
>
> 2007/5/23, Felipe Neuwald <felipe at neuwald.biz>:
>   
>> No meu caso, tá assim ó:
>>
>> [root at venus /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
>>
>> [root at venus /etc/ppp]# cat ppp.linkup
>> default:
>> bg /etc/ppp/addclient.sh USER connect HISADDR INTERFACE
>> [root at venus /etc/ppp]# cat ppp.linkdown
>> default:
>> bg /etc/ppp/removeclient.sh USER connect HISADDR INTERFACE
>> [root at venus /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
>> [root at venus /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
>> [root at venus /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');
>> ?>
>> [root at venus /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 <felipe at neuwald.biz> 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 <felipe at neuwald.biz> escreveu:
>>>>>
>>>>>
>>>>>           
>>>>>>    Mano,
>>>>>>    atualmente não rodo dhcpd na rede. Veja como está o meu
>>>>>>    /etc/ppp/ppp.conf:
>>>>>>    [root at venus /]# 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
>>
>>     
>
>
>
>   



Mais detalhes sobre a lista de discussão freebsd