+ Responder ao Tópico



  1. #1

    Padrão Acelerando os pacotes com SYN, ACK

    Olá!

    Estou procurando otimizar a minha conexão com a internet e vi que se colocar os pacotes com as flags SYN e ACK com prioridade isso vai ajudar na navegacao, mesmo com a banda de upload sendo usada.

    Eu criei no meu HTB uma regra com "prio 0" para todos os pacotes marcados com 20.

    Ai eu fiz a seguintes regras no iptables:

    iptables -t mangle -A POSTROUTING -p tcp -m tcp --tcp-flags ALL SYN -j MARK --set-mark 20
    iptables -t mangle -A POSTROUTING -p tcp -m tcp --tcp-flags ALL SYN -j RETURN
    iptables -t mangle -A POSTROUTING -p tcp -m tcp --tcp-flags ALL SYN,ACK -j MARK --set-mark 20
    iptables -t mangle -A POSTROUTING -p tcp -m tcp --tcp-flags ALL SYN,ACK -j RETURN

    Ai coloco as seguintes regras:

    iptables -A PREROUTING -t mangle -m layer7 --l7proto smtp -j MARK --set-mark 15
    iptables -A PREROUTING -t mangle -m layer7 --l7proto http -j MARK --set-mark 14

    Essas acima para marcar os pacotes SMTP e HTTP para upload, a fim de que o envio de email por SMTP ou HTTP (webmail) fique controlado.

    Ocorre que, se eu nao coloco as regras das "flags" tudo fica bem. Porém ao habilita-las a redefica meio doida... O msn tem hora que nao entra, alguns sites nao abrem, https (bancos) hora entram hora nao entram, etc...
    Alguem saberia dizer o que está havendo?
    Alguem teria uma outra forma de eu dar prioridade aos pacotes SYN e ACK?
    Obrigado
    Fabricio

    PS: Uma coisa que nao entendi direito sobre o iptables: o que é o RETURN. Seria para ele nao parar por ai e continuar a checar outras regras?

  2. #2

    Padrão Acelerando os pacotes com SYN, ACK

    cara o proprio iptables tem um modulo de Qualida de Serviço (TOS), ja viu?

    eu uso o esquema de prio com marcação de pacotes, so pra roteamento e controle de banda, QOS dessa forma que vc falou, uso do proprio iptables msm!

    []´s

  3. #3

    Padrão Acelerando os pacotes com SYN, ACK

    você poderia me mandar alguns exemplos, por favor?
    Valeu!
    Fabricio

  4. #4

    Padrão Acelerando os pacotes com SYN, ACK

    Eu criei uma chain de qos

    $IPTABLES -t mangle -N mangle_qos
    $IPTABLES -t mangle -F mangle_qos
    # dport
    $IPTABLES -t mangle -A mangle_qos -p tcp --dport 21 -j TOS --set-tos 16
    $IPTABLES -t mangle -A mangle_qos -p tcp --dport 66 -j TOS --set-tos 16
    $IPTABLES -t mangle -A mangle_qos -p tcp --dport 23 -j TOS --set-tos 16
    $IPTABLES -t mangle -A mangle_qos -p tcp --dport 25 -j TOS --set-tos 16
    $IPTABLES -t mangle -A mangle_qos -p tcp --dport 53 -j TOS --set-tos 16
    $IPTABLES -t mangle -A mangle_qos -p udp --dport 53 -j TOS --set-tos 16
    $IPTABLES -t mangle -A mangle_qos -p tcp --dport 80 -j TOS --set-tos 8
    $IPTABLES -t mangle -A mangle_qos -p tcp --dport 3128 -j TOS --set-tos 8
    # sport
    $IPTABLES -t mangle -A mangle_qos -p tcp --sport 21 -j TOS --set-tos 16
    $IPTABLES -t mangle -A mangle_qos -p tcp --sport 66 -j TOS --set-tos 16
    $IPTABLES -t mangle -A mangle_qos -p tcp --sport 23 -j TOS --set-tos 16
    $IPTABLES -t mangle -A mangle_qos -p tcp --sport 25 -j TOS --set-tos 16
    $IPTABLES -t mangle -A mangle_qos -p tcp --sport 53 -j TOS --set-tos 16
    $IPTABLES -t mangle -A mangle_qos -p udp --sport 53 -j TOS --set-tos 16
    $IPTABLES -t mangle -A mangle_qos -p tcp --sport 80 -j TOS --set-tos 8
    $IPTABLES -t mangle -A mangle_qos -p tcp --sport 3128 -j TOS --set-tos 8


    Depois chamo ela
    echo " - qos para pacotes saindo nas interfaces"
    $IPTABLES -t mangle -A POSTROUTING -o $IF_ETH0 -j mangle_qos
    $IPTABLES -t mangle -A POSTROUTING -o $IF_ETH1 -j mangle_qos
    $IPTABLES -t mangle -A POSTROUTING -o $IF_ETH2 -j mangle_qos
    $IPTABLES -t mangle -A POSTROUTING -o $IF_ETH3 -j mangle_qos
    $IPTABLES -t mangle -A POSTROUTING -o $IF_ETH4 -j mangle_qos
    echo " - qos para pacotes entrando nas interfaces"
    $IPTABLES -t mangle -A PREROUTING -i $IF_ETH0 -p ALL -j mangle_qos
    $IPTABLES -t mangle -A PREROUTING -i $IF_ETH1 -p ALL -j mangle_qos
    $IPTABLES -t mangle -A PREROUTING -i $IF_ETH2 -p ALL -j mangle_qos
    $IPTABLES -t mangle -A PREROUTING -i $IF_ETH3 -p ALL -j mangle_qos
    $IPTABLES -t mangle -A PREROUTING -i $IF_ETH4 -p ALL -j mangle_qos


    Sera que dei alguma luz?

  5. #5

    Padrão Acelerando os pacotes com SYN, ACK

    Muito interessante!

    É que li sobre os pacotes ACK e SYN, mas nao sei por que porta eles saem ou mesmo qual é o seu protocolo... Mas olhando seu exemplo eu imagino que deve ser pela mesma porta e protocolo pelos quais passam os dados...
    Obrigado!!
    Fabricio

  6. #6

    Padrão Acelerando os pacotes com SYN, ACK

    Rapaz...

    SYN,ACK etc.. São flags, tipo sinalizacao ao envio de pacotes. Como vc vai aplicar um negocio que nem sabe?


    Tipo. quando uma nova solicitacao eh feita, ela vai com flag SYN, responde com um ACK, e depois trocam os dados...

    Protocolo já outra historia, smtp(tcp 25), dns(udp53 e tcp53) etc....

    Vc marcando pelas flags, vc ta generalizando todos os protocolos.

  7. #7

    Padrão Acelerando os pacotes com SYN, ACK

    entao, é que eu queria que acontecesse o seguinte:Ta todo mundo fazendo upload. Quando alguem precisar enviar um pacote ACK ou SYN, eles terao prioridade..

    Realmente nao sou expert nisso, mas falei em protocolos e portas porque é como controlo o tráfego.

    Agora que surgiu essa "possibilidade" de acelerar os pacotes que iniciam uma transmissao, me animei um pouco mais!
    Abraco!