Olá,
Vasculhando a internet, em especial o site do VOL, consegui montar o seguinte script para controle de banda (abaixo)
No que dis respeito a controle de banda ele esta excelente, funcionando conforme o esperado.
O problema se encontra no fato de, ao ativá-lo, alguns sites não abrem (tais como o www.uol.com.br e www.netvibes.com) além do MSN não conseguir logar, nem manter-se logado.
Desde já, obrigado a todos.
### SCRIPT ###
#!/bin/bash
#modprobe sch_htb
#modprobe sch_sfq
#modprobe cls_u32
#modprobe iptable_mangle
echo "Controle de trafico v0.1"
#******************************************************************************
echo "Limpando configuracoes anteriores"
echo "De compartilhamento..."
iptables -t nat F
echo "De upload..."
iptables -t mangle -F #regras de marcacao de pacote (usado em upload)
tc qdisc del dev ppp0 root #regras de controle de upload
echo "De download..."
tc qdisc del dev eth0 root #regras de controle de download
echo "Feito"
#******************************************************************************
echo "Compartilhando a internet..."
iptables -t nat -A POSTROUTING -s 192.168.69.101/32 -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.69.102/32 -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.69.103/32 -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.69.104/32 -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.69.105/32 -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.69.106/32 -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.69.107/32 -o ppp0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.69.108/32 -o ppp0 -j MASQUERADE
#ou apenas:
#iptables -t nat -A POSTROUTING -s 192.168.69.0/24 -o ppp0 -j MASQUERADE
#mas assim evitamos que ips fora da rede nao possam navegar!
#******************************************************************************
echo "Definindo regras de UPLOAD"
echo "Definindo escopo padrao"
#Tudo nao classificado, ou seja, que venha de um ip nao ligado (Veja em:
# "Ligando classes filhas aos ips", logo abaixo), vai para a classe 1:10,
#cujo limite, aqui, eh de 10kbit
tc qdisc add dev ppp0 root handle 1: htb default 10
echo "Definindo classe pai (Link de 320KBps)"
#Forcando um limite ligeiramente menor que o do modem, evitando sobrecarga nele.
tc class add dev ppp0 root classid 1:0 htb rate 320kbit burst 32kbit cburst 64kbit
#DEFAULT
tc class add dev ppp0 parent 1:0 classid 1:10 htb rate 10kbit ceil 100kbit burst 4kbit cburst 2kbit
echo "Definindo classes filhas..."
tc class add dev ppp0 parent 1:0 classid 1:11 htb rate 40kbit burst 16kbit cburst 8kbit ceil 320kbit
tc class add dev ppp0 parent 1:0 classid 1:12 htb rate 40kbit burst 16kbit cburst 8kbit ceil 320kbit
tc class add dev ppp0 parent 1:0 classid 1:13 htb rate 40kbit burst 16kbit cburst 8kbit ceil 320kbit
tc class add dev ppp0 parent 1:0 classid 1:14 htb rate 40kbit burst 16kbit cburst 8kbit ceil 320kbit
tc class add dev ppp0 parent 1:0 classid 1:15 htb rate 40kbit burst 16kbit cburst 8kbit ceil 320kbit
tc class add dev ppp0 parent 1:0 classid 1:16 htb rate 40kbit burst 16kbit cburst 8kbit ceil 320kbit
tc class add dev ppp0 parent 1:0 classid 1:17 htb rate 40kbit burst 16kbit cburst 8kbit ceil 320kbit
tc class add dev ppp0 parent 1:0 classid 1:18 htb rate 40kbit burst 16kbit cburst 8kbit ceil 320kbit
echo "Ligando classes filhas aos ips"
#Marca o pacote que chega do <IP> com <MARK>
#iptables -t mangle -A FORWARD -s <IP> -j MARK --set-mark <MARK>
#Associa o pacote marcado com <MARK> a classe <CLASSID> de upload
#tc filter add dev ppp0 parent 1:0 protocol ip handle <MARK> fw classid <CLASSID>
#Isto eh necessario pois so se pode fazer controle do que se envia, e no envio
#quando roteado, nao se associa com o ip interno
iptables -t mangle -A FORWARD -s 192.168.69.101 -j MARK --set-mark 1
tc filter add dev ppp0 parent 1:0 protocol ip handle 1 fw classid 1:11
iptables -t mangle -A FORWARD -s 192.168.69.102 -j MARK --set-mark 2
tc filter add dev ppp0 parent 1:0 protocol ip handle 2 fw classid 1:12
iptables -t mangle -A FORWARD -s 192.168.69.103 -j MARK --set-mark 3
tc filter add dev ppp0 parent 1:0 protocol ip handle 3 fw classid 1:13
iptables -t mangle -A FORWARD -s 192.168.69.104 -j MARK --set-mark 4
tc filter add dev ppp0 parent 1:0 protocol ip handle 4 fw classid 1:14
iptables -t mangle -A FORWARD -s 192.168.69.105 -j MARK --set-mark 5
tc filter add dev ppp0 parent 1:0 protocol ip handle 5 fw classid 1:15
iptables -t mangle -A FORWARD -s 192.168.69.106 -j MARK --set-mark 6
tc filter add dev ppp0 parent 1:0 protocol ip handle 6 fw classid 1:16
iptables -t mangle -A FORWARD -s 192.168.69.107 -j MARK --set-mark 7
tc filter add dev ppp0 parent 1:0 protocol ip handle 7 fw classid 1:17
iptables -t mangle -A FORWARD -s 192.168.69.108 -j MARK --set-mark 8
tc filter add dev ppp0 parent 1:0 protocol ip handle 8 fw classid 1:18
#******************************************************************************
echo "Definindo regras de DOWNLOAD"
echo "Definindo escopo padrao"
#Tudo nao classificado, ou seja, que venha de um ip nao associado, vai para a
#classe 2:10, cujo limite, aqui, eh de 10kbit
tc qdisc add dev eth0 root handle 2: htb default 1
echo "Definindo classe pai (Link de 4608KBps)"
#Foi separado o Uso interno, que eh quando o acesso eh no servidor, por exemplo:
#SSH, Samba, Squid, ou qualquer coisa, assim, se o usuario estiver usando um
#servido do servidor a internet dele nao sera reduzida.
#Nota, rate do Uso interno = limite fisico (100m) - link da internet (~4m) = 95m
tc class add dev eth0 root classid 2:0 htb rate 4608kbit burst 256kbit cburst 128kbit #Link da internet
#DEFAULT
tc class add dev eth0 root classid 2:1 htb rate 95mbit burst 512kbit cburst 256kbit #Uso interno
echo "Definindo classes filhas..."
#Questiono se faz sentido... (quanto a auxilio de controle de download do usuario)
tc class add dev eth0 parent 2:0 classid 2:11 htb rate 460kbit burst 64kbit cburst 32kbit ceil 4608kbit
tc class add dev eth0 parent 2:0 classid 2:12 htb rate 460kbit burst 64kbit cburst 32kbit ceil 4608kbit
tc class add dev eth0 parent 2:0 classid 2:13 htb rate 460kbit burst 64kbit cburst 32kbit ceil 4608kbit
tc class add dev eth0 parent 2:0 classid 2:14 htb rate 460kbit burst 64kbit cburst 32kbit ceil 4608kbit
tc class add dev eth0 parent 2:0 classid 2:15 htb rate 460kbit burst 64kbit cburst 32kbit ceil 4608kbit
tc class add dev eth0 parent 2:0 classid 2:16 htb rate 460kbit burst 64kbit cburst 32kbit ceil 4608kbit
tc class add dev eth0 parent 2:0 classid 2:17 htb rate 460kbit burst 64kbit cburst 32kbit ceil 4608kbit
tc class add dev eth0 parent 2:0 classid 2:18 htb rate 460kbit burst 64kbit cburst 32kbit ceil 4608kbit
echo "Ligando classes filhas aos ips"
#Cada requisicao vai para a classe referente ao seu ip de destino
tc filter add dev eth0 parent 2:0 protocol ip u32 match ip dst 192.168.69.101/32 flowid 2:11
tc filter add dev eth0 parent 2:0 protocol ip u32 match ip dst 192.168.69.102/32 flowid 2:12
tc filter add dev eth0 parent 2:0 protocol ip u32 match ip dst 192.168.69.103/32 flowid 2:13
tc filter add dev eth0 parent 2:0 protocol ip u32 match ip dst 192.168.69.104/32 flowid 2:14
tc filter add dev eth0 parent 2:0 protocol ip u32 match ip dst 192.168.69.105/32 flowid 2:15
tc filter add dev eth0 parent 2:0 protocol ip u32 match ip dst 192.168.69.106/32 flowid 2:16
tc filter add dev eth0 parent 2:0 protocol ip u32 match ip dst 192.168.69.107/32 flowid 2:17
tc filter add dev eth0 parent 2:0 protocol ip u32 match ip dst 192.168.69.108/32 flowid 2:18
#Verifica se o que esta mandando para o usuario nao eh proveniente de servico interno
#tc filter add dev eth0 parent 2:0 protocol ip u32 match ip src 192.168.69.69/32 flowid 2:1
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Em qual Arquivo colocar as Configurações
Forçar resolução teimosa no Wayland
Como fazer um pendrive bootável utilizando a ferramenta Rufus









