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
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.
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!