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?
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
Acelerando os pacotes com SYN, ACK
você poderia me mandar alguns exemplos, por favor?
Valeu!
Fabricio
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?
:D
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