+ Responder ao Tópico



  1. #1
    ecbr
    Visitante

    Padrão HTB com problema....???

    ola a todos
    pessoal tenho o seguinte script de htb logo abaixo, e ta me ocorrendo o seguinte.

    essa regra filter:
    tc filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip dst 192.168.0.8 flowid 1:10
    tc filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip src 192.168.0.8 flowid 1:10

    deveria de sair pela essa classe:
    tc class add dev ppp0 parent 1:0 classid 1:10 htb rate 15kbps ceil 35kbps

    so que nao esta, essa regra filter ta saindo pelo default sendo que o flowid é 1:10, e detalhe o restante das outra classes e filtes estao funcionando normal, so essa ai que nao esta, e ja mexi, remexi e nao resolve, se que tem algo de errado???alguem ja passou por esse problema? que possa me da uma dica?

    ###########
    tc qdisc del dev ppp0 root

    tc qdisc add dev ppp0 root handle 1: htb default 50

    tc class add dev ppp0 root classid 1:0 htb rate 35kbps ceil 35kbps

    tc class add dev ppp0 parent 1:0 classid 1:10 htb rate 15kbps ceil 35kbps
    tc class add dev ppp0 parent 1:0 classid 1:20 htb rate 5kbps ceil 20kbps
    tc class add dev ppp0 parent 1:0 classid 1:30 htb rate 5kbps ceil 20kbps
    tc class add dev ppp0 parent 1:0 classid 1:40 htb rate 5kbps ceil 10kbps
    tc class add dev ppp0 parent 1:0 classid 1:50 htb rate 5kbps ceil 5kbps

    tc qdisc add dev ppp0 parent 1:10 handle 10: sfq perturb 10
    tc qdisc add dev ppp0 parent 1:20 handle 20: sfq perturb 10
    tc qdisc add dev ppp0 parent 1:30 handle 30: sfq perturb 10
    tc qdisc add dev ppp0 parent 1:40 handle 40: sfq perturb 10
    tc qdisc add dev ppp0 parent 1:50 handle 50: sfq perturb 10

    tc filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip tos 0x10 0xff flowid 1:10
    tc filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip dst 192.168.0.8 flowid 1:10
    tc filter add dev ppp0 parent 1:0 protocol ip prio 1 u32 match ip src 192.168.0.8 flowid 1:10
    tc filter add dev ppp0 parent 1:0 protocol ip prio 3 u32 match ip dport 25 0xfff flowid 1:20
    tc filter add dev ppp0 parent 1:0 protocol ip prio 3 u32 match ip dport 53 0xfff flowid 1:20
    tc filter add dev ppp0 parent 1:0 protocol ip prio 3 u32 match ip dport 110 0xfff flowid 1:20
    tc filter add dev ppp0 parent 1:0 protocol ip prio 3 u32 match ip dport 2095 0xfff flowid 1:20
    tc filter add dev ppp0 parent 1:0 protocol ip prio 2 u32 match ip dport 80 0xfff flowid 1:30
    tc filter add dev ppp0 parent 1:0 protocol ip prio 2 u32 match ip dport 443 0xfff flowid 1:30
    tc filter add dev ppp0 parent 1:0 protocol ip prio 4 u32 match ip src 192.168.0.5 flowid 1:40
    tc filter add dev ppp0 parent 1:0 protocol ip prio 4 u32 match ip dst 192.168.0.5 flowid 1:40
    tc filter add dev ppp0 parent 1:0 protocol ip prio 4 u32 match ip src 192.168.0.6 flowid 1:40
    tc filter add dev ppp0 parent 1:0 protocol ip prio 4 u32 match ip dst 192.168.0.6 flowid 1:40

    ###########

  2. #2
    ecbr
    Visitante

    Padrão Re: HTB com problema....???

    alguma dica galera?

  3. #3

    Padrão Re: HTB com problema....???

    Eu acho que o problema no seu caso é que vc está colocando uma regra de filter relacionada a interface ppp0 com um ip que já não passa por ela 192.168.0.8.
    Se vc tá fazendo o masquerade pelo que sai pela interface ppp0 o ip que passa por essa interface já não é mais o 192.168.0.8, é na verdade apenas o ip da interface ppp0.

    Uma solução seria vc marcar com o iptables o pacote que vc quer com algo do tipo

    Código :
     iptables -t filter -A FORWARD -s 192.168.0.8 -j MARK --set-mark 3

    e depois pegar essa marcação com uma regra de filter

    Código :
     tc filter add dev ppp0 parent 1:0 protocol ip prio 1 handle 3 fw flowid 1:10

    Isso deve resolver pra vc.
    Eu costumo usar um interface virtual chamada imq para fazer meus controles de banda. Se vc der uma estudada nisso vc vai achar bem interessante.

  4. #4
    ecbr
    Visitante

    Padrão Re: HTB com problema....???

    Citação Postado originalmente por joseguilherme
    Eu acho que o problema no seu caso é que vc está colocando uma regra de filter relacionada a interface ppp0 com um ip que já não passa por ela 192.168.0.8.
    Se vc tá fazendo o masquerade pelo que sai pela interface ppp0 o ip que passa por essa interface já não é mais o 192.168.0.8, é na verdade apenas o ip da interface ppp0.

    Uma solução seria vc marcar com o iptables o pacote que vc quer com algo do tipo

    Código :
     iptables -t filter -A FORWARD -s 192.168.0.8 -j MARK --set-mark 3

    e depois pegar essa marcação com uma regra de filter

    Código :
     tc filter add dev ppp0 parent 1:0 protocol ip prio 1 handle 3 fw flowid 1:10

    Isso deve resolver pra vc.
    Eu costumo usar um interface virtual chamada imq para fazer meus controles de banda. Se vc der uma estudada nisso vc vai achar bem interessante.
    valeu pela dica, vou fazer isso, e tambem vou dar uma olhada nesse imq, pois ja ouvi falar dele.

    e so uma pequena correcao, a regra de iptables teria que ser assim. pois mark so funciona no mangle.

    iptables -t mangle -A FORWARD -s 192.168.0.8 -j MARK --set-mark 3

    grato.


  5. #5

    Padrão Re: HTB com problema....???

    Aproveitando a resposta do colega joseguilherme, qual a quantidade de marcas pode ser feita:
    Ex:
    --set-mark 1
    --set-mark 2
    --set-mark 3
    ...
    de quanto até quanto pode ir esse número da marcação?