TC – HTB – IPTABLES
É isto ai controle de trafego fácil fácil.
Já brinquei bastante com esta ferramenta super funciona priorização de pacotes controle de banda e priorização de IP priorização de sites.
Documentação usada para fazer as conf.
https://eriberto.pro.br/wiki/index.php?title=Controle_de_tr%C3%A1fego_com_TC,_HTB_e_Iptables
Esta é uma boa dica.
Exemplos:
Da parte de criar as classes e tudo que tenha relação:
### Download ## LAN - Administrativa ## limpa a configuracao anterior #tc qdisc del dev eth0 root ## Classe root (default) tc qdisc add dev eth0 root handle 1:0 htb default 50 ## Classe filho, definindo velocidade da placa tc class add dev eth0 parent 1:0 classid 1:1 htb rate 1000mbit ## Prioridade para DNS / ACK / SYN / FIN tc class add dev eth0 parent 1:1 classid 1:10 htb rate 1mbit ceil 2mbit prio 0 ## Prioredade para telefones tc class add dev eth0 parent 1:1 classid 1:20 htb rate 10mbit ceil 20mbit prio 1 ## Host com prioridade tc class add dev eth0 parent 1:1 classid 1:30 htb rate 100mbit ceil 300mbit prio 2 ## Site com prioridade tc class add dev eth0 parent 1:1 classid 1:40 htb rate 200mbit ceil 400mbit prio 3 ## Trafego restante geral tc class add dev eth0 parent 1:1 classid 1:50 htb rate 100mbit ceil 278mbit prio 4 ## LAN - Visitante ## limpa a configuracao anterior #tc qdisc del dev eth1 root ## Classe root (default) tc qdisc add dev eth1 root handle 2:0 htb default 50 ## Classe filho, definindo velocidade da placa tc class add dev eth1 parent 2:0 classid 2:1 htb rate 1000mbit ## Prioridade para DNS / ACK / SYN / FIN tc class add dev eth1 parent 2:1 classid 2:10 htb rate 1mbit ceil 2mbit prio 0 ## Prioredade para telefones tc class add dev eth1 parent 2:1 classid 2:20 htb rate 10mbit ceil 20mbit prio 1 ## Host com prioridade tc class add dev eth1 parent 2:1 classid 2:30 htb rate 100mbit ceil 300mbit prio 2 ## Site com prioridade tc class add dev eth1 parent 2:1 classid 2:40 htb rate 200mbit ceil 400mbit prio 3 ## Trafego restante geral tc class add dev eth1 parent 2:1 classid 2:50 htb rate 100mbit ceil 278mbit prio 4 ### Upload ## WAN - Operadora ## limpa a configuracao anterior #tc qdisc del dev eth2 root ## Classe root (default) tc qdisc add dev eth2 root handle 3:0 htb default 110 ## Classe filho, definindo velocidade da classe da administrativa tc class add dev eth2 parent 3:0 classid 3:1 htb rate 500mbit ## Prioridade para DNS / ACK / SYN / FIN da administrativa tc class add dev eth2 parent 3:1 classid 3:10 htb rate 1mbit ceil 2mbit prio 0 ## Prioredade para telefones da administrativa tc class add dev eth2 parent 3:1 classid 3:20 htb rate 10mbit ceil 20mbit prio 1 ## Host com prioridade da administrativa tc class add dev eth2 parent 3:1 classid 3:30 htb rate 50mbit ceil 150mbit prio 2 ## Site com prioridade da administrativa tc class add dev eth2 parent 3:1 classid 3:40 htb rate 100mbit ceil 200mbit prio 3 ## Trafego restante geral da administrativa tc class add dev eth2 parent 3:1 classid 3:50 htb rate 50mbit ceil 128mbit prio 4 ## Classe filho, definindo velocidade da classe do visitante tc class add dev eth2 parent 3:0 classid 3:2 htb rate 500mbit ## Prioridade para DNS / ACK / SYN / FIN do visitante tc class add dev eth2 parent 3:2 classid 3:60 htb rate 1mbit ceil 2mbit prio 0 ## Prioredade para telefones do visitante tc class add dev eth2 parent 3:2 classid 3:70 htb rate 10mbit ceil 20mbit prio 1 ## Host com prioridade do visitante tc class add dev eth2 parent 3:2 classid 3:80 htb rate 50mbit ceil 150mbit prio 2 ## Site com prioridade do visitante tc class add dev eth2 parent 3:2 classid 3:90 htb rate 100mbit ceil 200mbit prio 3 ## Trafego restante geral do visitante tc class add dev eth2 parent 3:2 classid 3:100 htb rate 50mbit ceil 128mbit prio 4 ## Classe filho, definindo velocidade default tc class add dev eth2 parent 3:0 classid 3:3 htb rate 1000mbit ## Trafego restante geral default tc class add dev eth2 parent 3:3 classid 3:110 htb rate 50mbit ceil 100mbit prio 0
E da parte do Iptables
## Habilitando controle de trafego ## Primeiro priorizar pacotes de controle ## DNS ## Rede Administrativa -A FORWARD -d 10.0.0.0/24 -p udp -m multiport --ports 53 -j CLASSIFY --set-class 1:10 -A FORWARD -s 10.0.0.0/24 -p udp -m multiport --ports 53 -j CLASSIFY --set-class 3:10 ## Rede Visita -A FORWARD -d 172.16.0.0/24 -p udp -m multiport --ports 53 -j CLASSIFY --set-class 2:10 -A FORWARD -s 172.16.0.0/24 -p udp -m multiport --ports 53 -j CLASSIFY --set-class 3:60 ## Flags TCP ## Rede Administrativa -A FORWARD -d 10.0.0.0/24 -m length --length 0:60 -j CLASSIFY --set-class 1:10 -A FORWARD -s 10.0.0.0/24 -m length --length 0:60 -j CLASSIFY --set-class 3:10 ## Rede Visita -A FORWARD -d 172.16.0.0/24 -m length --length 0:60 -j CLASSIFY --set-class 2:10 -A FORWARD -s 172.16.0.0/24 -m length --length 0:60 -j CLASSIFY --set-class 3:60 ## Telefones ## Rede Administrativa -A FORWARD -d 10.0.0.0/24 -o eth0 -p udp -m multiport --port 5060 -j CLASSIFY --set-class 1:20 -A FORWARD -s 10.0.0.0/24 -o eth2 -p udp -m multiport --port 5060 -j CLASSIFY --set-class 3:20 ## Rede Visita -A FORWARD -d 172.16.0.0/24 -o eth1 -p udp -m multiport --port 5060 -j CLASSIFY --set-class 2:20 -A FORWARD -s 172.16.0.0/24 -o eth2 -p udp -m multiport --port 5060 -j CLASSIFY --set-class 3:70 ## Site com prioridade ## Rede Administrativa -A POSTROUTING -s jean.tec.br -d 10.0.0.0/24 -o eth0 -p tcp -m multiport --sport 80,443 -j CLASSIFY --set-class 1:40 -A POSTROUTING -s 10.0.0.0/24 -d jean.tec.br -o eth2 -p tcp -m multiport --dport 80,443 -j CLASSIFY --set-class 3:40 ## Rede Visita -A POSTROUTING -s jean.tec.br -d 172.16.0.0/24 -o eth1 -p tcp -m multiport --sport 80,443 -j CLASSIFY --set-class 2:40 -A POSTROUTING -s 172.16.0.0/24 -d jean.tec.br -o eth2 -p tcp -m multiport --dport 80,443 -j CLASSIFY --set-class 3:90 ## Regras de limitacao do trafego Geral #### Rede Administrativa ### Prioridade ## Controle de Download -A FORWARD -d 10.0.0.10 -o eth0 -p tcp -j CLASSIFY --set-class 1:30 -A FORWARD -d 10.0.0.10 -o eth0 -p udp -j CLASSIFY --set-class 1:30 ## Controle de Upload -A FORWARD -s 10.0.0.10 -o eth2 -p tcp -j CLASSIFY --set-class 3:30 -A FORWARD -s 10.0.0.10 -o eth2 -p udp -j CLASSIFY --set-class 3:30 ### Geral ## Controle de Download -A FORWARD -d 10.0.0.0/24 -o eth0 -p tcp -j CLASSIFY --set-class 1:50 -A FORWARD -d 10.0.0.0/24 -o eth0 -p udp -j CLASSIFY --set-class 1:50 ## Controle de Upload -A FORWARD -s 10.0.0.0/24 -o eth2 -p tcp -j CLASSIFY --set-class 3:50 -A FORWARD -s 10.0.0.0/24 -o eth2 -p udp -j CLASSIFY --set-class 3:50 #### Rede Visita ### Prioridade ## Controle de Download -A FORWARD -d 172.16.0.10 -o eth1 -p tcp -j CLASSIFY --set-class 2:30 -A FORWARD -d 172.16.0.10 -o eth1 -p udp -j CLASSIFY --set-class 2:30 ## Controle de Upload -A FORWARD -s 172.16.0.10 -o eth2 -p tcp -j CLASSIFY --set-class 3:80 -A FORWARD -s 172.16.0.10 -o eth2 -p udp -j CLASSIFY --set-class 3:80 ### Geral ## Controle de Download -A FORWARD -d 172.16.0.10 -o eth1 -p tcp -j CLASSIFY --set-class 2:50 -A FORWARD -d 172.16.0.10 -o eth1 -p udp -j CLASSIFY --set-class 2:50 ## Controle de Upload -A FORWARD -s 172.16.0.10 -o eth2 -p tcp -j CLASSIFY --set-class 3:100 -A FORWARD -s 172.16.0.10 -o eth2 -p udp -j CLASSIFY --set-class 3:100