+ Responder ao Tópico



  1. Pessoal,

    Precisei alterar algumas coisas nos arquivos ip-up e ip-down do Scorpion para que atendessem melhor as necessidades do meu provedor. Se alguem quiser usar estes arquivos estão a disposição:

    PS.: REPAREM na necessidade de indicar qual interface será usada no upload dos clientes (interface que é a saida para a internet).

    /etc/ppp/ip-up
    Código :
    #!/bin/bash
    #
    #---
    # Variaveis
    #---
    IPT="/usr/local/sbin/iptables"
    TC="/sbin/tc"
     
    UP="eth0"
     
    interface=$1
    remoteIP=$5
     
    download=`grep Download /var/run/radattr.$interface | awk '{ print $2; }'`
    upload=`grep Upload /var/run/radattr.$interface | awk '{ print $2; }'`
    cliente=`grep Cliente /var/run/radattr.$interface | awk '{ print $2; }'`
     
    contamark=`echo $interface | cut -c 4-99`
    mark=`expr $contamark + 500`
     
    echo "$download" > /tmp/$interface.download
    echo "$upload" > /tmp/$interface.upload
    echo "$cliente" > /tmp/$interface.cliente
    echo "$mark" > /tmp/$interface.mark
     
    if [ $download == ]
    then
    download="200"
    upload="100"
    fi
     
    #----
    # DOWNLOAD
    #----
    $TC qdisc del dev $interface root    2> /dev/null > /dev/null
    $TC qdisc add dev $interface root handle 1: htb
    $TC class add dev $interface parent 1: classid 1:1 htb rate "$download"Kbit
    $TC class add dev $interface parent 1:1 classid 1:${mark} htb rate "$download"Kbit ceil "$download"Kbit
    $TC qdisc add dev $interface parent 1:${mark} handle $mark sfq perturb 10
    $TC filter add dev $interface parent 1:0 protocol ip prio 1 u32 match ip dst ${remoteIP}/32 flowid 1:${mark}
     
    #----
    # UPLOAD
    #----
    $TC class add dev $UP parent 1:1 classid 1:${mark} htb rate "$upload"Kbit ceil "$upload"Kbit
    $TC qdisc add dev $UP parent 1:${mark} handle $mark sfq perturb 10
    $IPT -t mangle -A FORWARD -s $remoteIP -j MARK --set-mark $mark
    $TC filter add dev $UP parent 1:0 protocol ip prio 1 handle $mark fw classid 1:${mark}
     
     
    echo "PPP started at $(date):
    interface = $interface
    Remote IP = $remoteIP
    download = $download
    upload = $upload
    mark = $mark
    " >/tmp/$interface

    /etc/ppp/ip-down
    Código :
    #!/bin/bash
    #
    #---
    # Variaveis
    #---
    IPT="/usr/local/sbin/iptables"
    TC="/sbin/tc"
     
    UP="eth0"
     
    interface=$1
    remoteIP=$5
     
    download=`cat /tmp/$interface.download`
    upload=`cat /tmp/$interface.upload`
    cliente=`cat /tmp/$interface.cliente`
    mark=`cat /tmp/$interface.mark`
     
    if [ $download == ]
    then
    download="200"
    upload="100"
    fi
     
    #----
    # DOWNLOAD
    #----
    # Nao e necessario fazer nada ja que a interface ira ser baixada e na
    # subida dela serao apagadas todas as regras que nela existiam
     
    #----
    # UPLOAD
    #----
    $IPT -t mangle -D FORWARD -s $remoteIP -j MARK --set-mark $mark
    $TC class del dev $UP parent 1:1 classid 1:${mark} htb rate "$upload"Kbit ceil "$upload"Kbit
    $TC qdisc del dev $UP parent 1:${mark} handle $mark sfq perturb 10
    $TC filter del dev $UP parent 1:0 protocol ip prio 1 handle $mark fw classid 1:${mark}
     
    rm -rf /tmp/$interface*

  2. #2
    jrlinux
    Queria te agradecer....pois eu usei seu script.....mudei ele bastante para se adequar as minhas necessidades, mas foi por base nele que conseguio que eu queria.
    Mas meu ulload naum funciona ainda..nam sei o que eh.
    eu usei o ip-up apens para setar o downlad.
    o upload to usando htb tools.....mus ips saum fixos , portanto na interface de saida eles sempre seraum os mesmos dispensando colocar eles no ip-up.
    se tivwer um aluza, agradeço..senaum..obrigado kra,



  3. jr,

    Que bom que usou o script. Então o IP-UP pode colocar regras para o upload dos clientes, mas a única forma que realmente funcionou para mim foi usando marcação de pacotes com origem no cliente e destino em qualquer lugar. Algo assim:

    $IPT -t mangle -A PREROUTING -s <seu cliente ou -i interface pppoe do cliente> -j MARK --set-mark XXX

    Depois disso tu direciona esse mark para uma regra de QOS usando ou o CLASSIFY do iptables ou o fwmark do TC.






Tópicos Similares

  1. pppoe (ip-up onde esta no Slackware)
    Por marcelovoax no fórum Servidores de Rede
    Respostas: 2
    Último Post: 27-04-2006, 18:05
  2. Firewall Ip x Mac - IP E MAC EM ARQUIVO SEPARADOS
    Por tianguapontocom no fórum Servidores de Rede
    Respostas: 5
    Último Post: 05-01-2006, 10:13
  3. Scripts ip-up e ipdown scorpion
    Por lanhelp no fórum Redes
    Respostas: 8
    Último Post: 23-12-2005, 23:58
  4. Arquivos de configuração do IP
    Por jadirorza no fórum Servidores de Rede
    Respostas: 7
    Último Post: 23-05-2005, 09:01
  5. PPPoE com mais d um IP
    Por demiurgo no fórum Servidores de Rede
    Respostas: 3
    Último Post: 26-05-2004, 10:11

Visite: BR-Linux ·  VivaOLinux ·  Dicas-L