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.