Controle de tráfego com TC, HTB e Iptables

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

Related Posts

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *