+ Responder ao Tópico



  1. #1

    Padrão HTB para pppoe-server

    Bom dia galera, gostaria de saber quem usa htb, aki com pppoe-server, pois estou montando um pppoe-server, e gostaria de colocar HTB, para controlar a banda dos usuarios, segue meu script abaixo, gostaria de pedir ajuda aos colegas, e opniões pois ele até controla só que as vezes da um pico de 2 a 20 kbps a + da banda fixada

    Obs:testes efetuado na rede LAN, com um micro fazendo nat e um notebook recebendo o ip 10.0.0.2


    REDE=192.168.0.0/24 (ETH0)
    IP=192.168.0.2
    -------------
    ETH1=10.0.0.0/8
    IP=10.0.0.1/8

    Tipo de conexão cabo crossover.
    ################SCRIPT PARA TESTE DO HTB
    #!/bin/sh
    IPTABLES="/usr/local/sbin/iptables"
    TC="/sbin/tc"
    IFC="/sbin/ifup"
    U32="filter add dev eth0 protocol ip parent 1:0 prio 1 u32"


    ###Deleta regras existentes
    $TC qdisc del dev eth0 root
    $TC qdisc del dev eth1 root
    ##Adciona controle root padrão
    $TC qdisc add dev eth0 root handle 1: htb default 10
    $TC class add dev eth0 parent 1: classid 1:1 htb rate 458kbit ceil 512kbit burst 2k quantum 1536
    #$TC class add dev eth0 parent 1:1 classid 1:10 htb rate 512kbit ceil 512kbit prio 4
    $TC class add dev eth0 parent 1:1 classid 1:10 htb rate 458kbit ceil 512kbit burst 2k quantum 1536
    $TC qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 5
    #$TC filter add dev eth0 parent 1:0 protocol ip prio 4 handle 10 fw classid 1:10

    iptables -t mangle -F
    iptables -F FORWARD
    #addrules() {
    #/ permite no firewall
    $IPTABLES -A FORWARD -s 10.0.0.2 -j ACCEPT
    $IPTABLES -A FORWARD -d 10.0.0.2 -j ACCEPT

    # para upload
    $TC class add dev eth0 parent 1:1 classid 1:12 htb rate 64kbit ceil 85kbit burst 2k prio 6 quantum 1536
    #$TC class add dev eth0 parent 1:12 classid 1:13 htb rate 6kbit ceil 8kbit burst 2k prio 1 quantum 1500
    $TC ${U32} match ip src 10.0.0.2/32 flowid 1:12
    $TC qdisc add dev eth0 parent 1:12 handle 12: pfifo limit 5
    #$TC filter add dev eth0 parent 1:0 protocol ip prio 4 handle 12 fw classid 1:12
    $IPTABLES -t mangle -A FORWARD -s 10.0.0.2 -j MARK --set-mark 12
    #$IPTABLES -t mangle -A PREROUTING -p tcp --dport 80 -s 10.0.0.2 -j TOS --set-tos 0x10
    #$IPTABLES -t mangle -A POSTROUTING -p icmp -s 10.0.0.2 -j TOS --set-tos 0x08


    # para download
    #$IFC eth1
    $TC qdisc add dev eth1 root handle 1: htb default 10
    $TC class add dev eth1 parent 1: classid 1:1 htb rate 100kbit burst 2k quantum 1536
    $TC class add dev eth1 parent 1:1 classid 1:10 htb rate 20kbit ceil 100kbit burst 2k prio 6 quantum 1536
    $TC qdisc add dev eth1 parent 1:10 handle 10: pfifo limit 5
    #$TC class add dev eth1 parent 1:1 classid 1:10 htb rate 85kbit ceil 100kbit burst 2k prio 1 quantum 1536
    $TC ${U32} match ip dst 10.0.0.2/32 flowid 1:10
    #$TC qdisc add dev eth1 parent 1:1 handle 10: tbf rate 25kbit burst 2kb latency 70ms peakrate 101kbit minburst 1540
    #$TC qdisc add dev eth1 parent 1:10 handle 10: sfq perturb 5
    $IPTABLES -t mangle -A POSTROUTING -d 10.0.0.2 -j MARK --set-mark 10
    $IPTABLES -t mangle -A FORWARD -d 10.0.0.2 -j MARK --set-mark 10
    $IPTABLES -t mangle -A PREROUTING -d 10.0.0.2 -j MARK --set-mark 10

    #$IPTABLES -t mangle -A POSTROUTING -p tcp --sport 80 -d 10.0.0.2 -j TOS --set-tos 0x10
    #$IPTABLES -t mangle -A POSTROUTING -p icmp -d 10.0.0.2 -j TOS --set-tos 0x08

  2. #2

    Padrão

    E aee!!

    Kra hoje eu estava navegando pelo site do underlinux e achei esse artigo!
    Acho que pode te ajudar bastante!

    https://under-linux.org/5758-pppoe-r...bandlimit.html

    Falows!!



  3. #3

    Padrão

    Pois é kra ae ele mostra como instalar um pppoe-serve, este já até tenho, o meu negocio é com as regras HTB, mesmo.

  4. #4

    Padrão

    Então manow... se tu olhar bem ali ele tem os scripts ip-up e ip-down que você pode dar uma olhada! Eles estão usando CBQ mas ajuda!

    Falows!!



  5. #5

    Padrão

    Brother eu ja fiz um script para controlar as conexoes ppp
    é bom resalvar que vc vai ter que controloar o trafego das ppp+
    faça a marcacao dos pacotes nas interfaces ppp+ e amarre aos endereços
    ips

    o rc.bandlimit nao vai te ajudar, faça seu script na mão.
    o meu funcionou perfeitamente.

    abraços...

  6. #6

    Padrão

    Citação Postado originalmente por 4nderson Ver Post
    Brother eu ja fiz um script para controlar as conexoes ppp
    é bom resalvar que vc vai ter que controloar o trafego das ppp+
    faça a marcacao dos pacotes nas interfaces ppp+ e amarre aos endereços
    ips

    o rc.bandlimit nao vai te ajudar, faça seu script na mão.
    o meu funcionou perfeitamente.

    abraços...
    tem como vc me passar o seu script brother.



  7. #7

    Padrão

    Brother não tenho mais o script...
    acabei perdendo...
    mas é tranquilo de se fazer.
    fiz o seguinte
    criei um arquivo contendo o conteúdo das configuraçoes para cada cliente
    ex. arquivo "usuarios"

    cliente1
    IPown:Uportas/porta:nomedocliente
    192.168.0.1:64:64:80,21,110,25:Cliente1

    caso vc queria restringir tudo independente da porta seria
    192.168.0.1:64:64::Cliente1

    sintaxe é essa.
    e criei um script em htp para ler esse arquivo e cortando o campo delimitador ":" para separar as variaveis.
    com as variaveis capturadas.aplique as regas de
    prerouting e postrouting na interface "ppp+"
    utilize sempre ppp+, pois vc nao sabe em qual interface o cliente vai conectar
    ppp0,ppp1,ppp2,ppp3 .....
    basicamente é somente isso..

    abraços..