Re: Limitar ou balancear link
Lucas Paz wrote:
> Galera, bom dia,
>
> tenho um servidor de e-mail e web que está atraz de um firewall,
> acontece que como a maioria do pessoal tem ADSL 2 pessoas conectadas
> consomem toda a banda do link que é de 512kbps
> vc's conhecem alguma maneira de limitar esse acesso, ou seja, deixar a
> pessoa fazer download no maximo a 20KBps ou algo assim?
Se o script anexo for útil, pode ajustar e usar à vontade.
--
André Carezia
Eng. de Telecomunicações
Carezia Consultoria - www.carezia.srv.br
#!/bin/sh
#
# André Carezia <andre@carezia.srv.br>
export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
IPTABLES="/sbin/iptables"
TC="/sbin/tc"
IFACE=eth0
RATE=512kbit
P_SMTP=25
P_HTTP=80
B_SMTP=64kbit
B_HTTP=64kbit
start_tc() {
$TC qdisc add dev $IFACE root handle 1: htb default 5
$TC class add dev $IFACE parent 1: classid 1:1 htb \
rate $RATE ceil $RATE prio 1
$TC class add dev $IFACE parent 1: classid 1:5 htb \
rate 64kbit ceil 64kbit prio 2
$IPTABLES -t mangle -A POSTROUTING -o $IFACE -p tcp \
--source-port $P_SMTP -j MARK --set-mark $P_SMTP
$TC class add dev $IFACE parent 1:1 classid 1:$P_SMTP htb \
rate $B_SMTP ceil $B_SMTP prio 1
$TC filter add dev $IFACE parent 1: protocol ip prio 1 \
handle $P_SMTP fw flowid 1:$P_SMTP
$IPTABLES -t mangle -A POSTROUTING -o $IFACE -p tcp \
--source-port $P_HTTP -j MARK --set-mark $P_HTTP
$TC class add dev $IFACE parent 1:1 classid 1:$P_HTTP htb \
rate $B_HTTP ceil $B_HTTP prio 1
$TC filter add dev $IFACE parent 1: protocol ip prio 1 \
handle $P_HTTP fw flowid 1:$P_HTTP
}
stop_tc() {
$TC qdisc del dev $IFACE root
$IPTABLES -t mangle -F
}
case "$1" in
start)
echo -n "Iniciando controle de banda..."
start_tc
echo " ok"
;;
stop)
echo -n "Desligando controle de banda..."
stop_tc
echo " ok"
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
Reply to: