QoS HTB

1. QoS HTB

Daniel
camolez

(usa Debian)

Enviado em 03/04/2012 - 16:19h

Ola,

Apesar de ler muito sobre o assunto e implementar na empresa onde trabalho, não sei mais onde posso alterar para resolver o problemas, então se alguém puder auxiliar na configuração deste agradeço.

Tenho um link de 10MB embratel onde chega a um servidor que contem proxy (squid) junto com dansguardian, como a empresa chegou a aproximadamente 100host's a internet ficou de uma forma inutilizavel em certo momentos do dia, então decidi implementar QOS, mas não sei porque os filtros parecem não funcionar não faz a divisão do link, segue a configuração de como está o meu script

--------- inicio ----------
# eth0 -> interna ip 192.168.0.3
# eth1 -> externa chega o link embratel

/sbin/modprobe iptable_filter
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_nat_irc
/sbin/modprobe iptable_mangle
/sbin/modprobe ipt_TOS
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe ipt_LOG
/sbin/modprobe iptable_nat
/sbin/modprobe sch_htb
/sbin/modprobe sch_sfq
/sbin/modprobe cls_u32

# QOS
######
# eth1 interface externa
########################
/sbin/tc qdisc add dev eth1 root handle 1: htb default 12
/sbin/tc class add dev eth1 parent 1: classid 1:1 htb rate 10240kbps # Aplicando o link de 10MB
/sbin/tc class add dev eth1 parent 1:1 classid 1:10 htb rate 6144kbps prio 1
/sbin/tc class add dev eth1 parent 1:1 classid 1:20 htb rate 3072kbps prio 2
/sbin/tc class add dev eth1 parent 1:1 classid 1:30 htb rate 1024kbps prio 3

# eth0 inteface interna
#########################
/sbin/tc qdisc add dev eth0 root handle 1: htb default 12
/sbin/tc class add dev eth0 parent 1: classid 1:1 htb rate 10240kbps # Aplicando o link de 10MB
/sbin/tc class add dev eth0 parent 1:1 classid 1:10 htb rate 6144kbps prio 1
/sbin/tc class add dev eth0 parent 1:1 classid 1:20 htb rate 3072kbps prio 2
/sbin/tc class add dev eth0 parent 1:1 classid 1:30 htb rate 1024kbps prio 3


# Faz com que as classes dividam o trafego entre si (externa)
#####################################################
/sbin/tc qdisc add dev eth1 parent 1:10 handle 10: sfq perturb 5
/sbin/tc qdisc add dev eth1 parent 1:20 handle 20: sfq perturb 5
/sbin/tc qdisc add dev eth1 parent 1:30 handle 30: sfq perturb 5


# Faz com que as classes dividam o trafego entre si (interna)
#####################################################
/sbin/tc qdisc add dev eth0 parent 1:10 handle 10: sfq perturb 5
/sbin/tc qdisc add dev eth0 parent 1:20 handle 20: sfq perturb 5
/sbin/tc qdisc add dev eth0 parent 1:30 handle 30: sfq perturb 5


# Ativa o roteamento dinamico:
###############################
echo 1 > /proc/sys/net/ipv4/ip_forward

# liberando o acesso entre a duas placa de redes
#################################################
/sbin/iptables -t nat -A POSTROUTING -s $IP_INT -j MASQUERADE
/sbin/iptables -A FORWARD -i $INT_EXT -s $IP_INT -j ACCEPT
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT


# Iptables libera QOS
###############################################
/sbin/iptables -t mangle -A FORWARD -p tcp -m multiport --ports 80,8080,443,5222 -j CLASSIFY --set-class 1:10
/sbin/iptables -t mangle -A FORWARD -p tcp -m multiport --ports 5938,5900 -j CLASSIFY --set-class 1:20
/sbin/iptables -t mangle -A FORWARD -p udp -m multiport --ports 53 -j CLASSIFY --set-class 1:30 # DNS

# Envia as solicitacoes ao Dansguardian
#######################################
/sbin/iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

---------- fim ----------------

Executando os comandos:
tc -s -d qdisc show dev eth0 e eth1 os filtros estão lá aplicados o mesmo vale para as classes (class).

Não entendo porque ele não faz a divisão do link, monitoro utilizando o iptraf e a porta 5938 que esta em uma classe menor e de menor prioridade referente a classe 1:10 o mesmo aparece no top consumindo todo o link no envio por exemplo de um arquivo (5938 porta do teamviewer)

Grato.


  


2. Re: QoS HTB

Eriton Almeida
eritonalmeida

(usa Debian)

Enviado em 03/04/2012 - 17:14h

Eu posso ajudar.

eriton@mundilivre.com.br
Skype: eriton.almeida


3. WebHTB

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 03/04/2012 - 17:59h

eritonalmeida escreveu:

Eu posso ajudar.

eriton@mundilivre.com.br
Skype: eriton.almeida


Tem uma ferramenta com interface web que funciona bem:
http://www.vivaolinux.com.br/artigo/Instalando-o-WebHTB

Resolveu o problema que tinha para controle de upload de imagens aproximadamente 3000/dia (media de 45k cada)



4. Re: QoS HTB

Daniel
camolez

(usa Debian)

Enviado em 04/04/2012 - 08:31h

andrecanhadas escreveu:

eritonalmeida escreveu:

Eu posso ajudar.

eriton@mundilivre.com.br
Skype: eriton.almeida


Tem uma ferramenta com interface web que funciona bem:
http://www.vivaolinux.com.br/artigo/Instalando-o-WebHTB

Resolveu o problema que tinha para controle de upload de imagens aproximadamente 3000/dia (media de 45k cada)


andrecanhadas,
Não conhecia esta opção mas uma coisa me incomoda, instalar um apache, mysql em um servidor de firewall é algo perturbador pelo menos p/ mim.
Vou instalar em um ambiente de teste para conhecer a ferramenta

Valeu.

eritonalmeida,

Entrarei em contato.

Grato


5. WebHTB

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 04/04/2012 - 12:15h

Realmente não é recomendado o uso de apache/mysql em um firewall mas no caso em questão ficaria fechado para o acesso externo, sendo manipulado apenas pela sua rede local.
O webhtb usa uma conexão SSH para o login.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts