Por: @cdiego
Publicado em: 2018-10-10
FireQoS
FireQoS precisa ser instalado com o pacote do firehol, mas firewall vem conf vazio que não tem risco de iniciar
Tem pacote, mas não tem repositório
Sintaxe mais simples que o HTB e tudo feito num arquivo só /etc/fireqos.conf
Tem dependência de um pacote iprange que é um acessório que faz cálculo de redes
Tem vários sinônimos para as mesmas configurações
rate = min = commited
ceil = max
port = ports
Se usar percentuais, tem como tratar upload e download numa classe
Exemplo de up e down com classes com %:
interface wan0 bidirecional unifique input rate 35Mbit output rate 10Mbit
class voip prio 0 rate 15% ceil 90% pfifo
match udp ports 4569 # IAX
match udp ports 10000:10100 # SIP-RTP
match udp ports 9082 # SKYPE
Exemplo de up e down separados:
interface wan0 unifique-in input rate 35Mbit
class ...
match ...
interface wan0 unifique-out output rate 10Mbit
class ...
match ...
Ele cria automaticamente as interfaces ifb
/etc/init.d/fireqos
tem opções interessantes, até tcpdump, mas é perigoso, cria uma interface virtual para monitoramento da classe
match permite classificação avançada, resolve o problema de range de portas
https://firehol.org/fireqos-manual/fireqos-params-match/
Referência do match:
at { root | name }
class name
syn|syns
ack|acks
{ proto|protocol protocol [,protocol...] } |tcp|udp|icmp|gre|ipv6|ip
{ tos | priority } tosid [,tosid...]
{ DSCP } classname [,classname...]
mark mark [,mark...]
connmark mark [,mark...]
rawmark mark [,mark...]
custommark name mark [,mark...]
{ port | ports } port[:range] [ ,port[:range]... ]
{ sport | sports } port[:range] [ ,port[:range]... ]
{ dport | dports } port[:range] [ ,port[:range]... ]
{ ip | net | host } net [,net...]
src net [,net...]
dst net [,net...]
{ srcmac | smac } mac
{ dstmac | dmac } mac
prio id
input
output
custom 'custom tc parameters'
estimator interval decay
police police
insidegre
Pode ter duas condições na mesma linha
match host 200.200.189.189 port 1234 # Will never match
Exemplo completo iTFLEX
# --------
# Unifique
# --------
# Download
interface wan0 unifique-in input rate 35Mbit
class voip prio 0 rate 15% ceil 90% pfifo
match udp ports 4569 # IAX
match udp ports 10000:10100 # SIP-RTP
match udp ports 9082 # SKYPE
class hipri prio 1 rate 15% ceil 90% pfifo
match ip 8.8.8.8
match ip 200.160.2.3
class vpn prio 1 rate 15% ceil 90%
match udp ports 1193:1196 # Instâncias openvpn iTFLEX
class suporte prio 3 rate 15% ceil 90%
match tcp ports 22,23,24,26 # SSH
match tcp ports 22957:22958 # SSH
match tcp ports 2201,2202,2222 # SSH
match tcp ports 3389 # WTS
match tcp ports 5900:5900 # VNC
match tcp ports 10000:10003 # WEBMIN
match tcp ports 10050:10051 # Zabbix
class web prio 3 rate 15% ceil 90%
match tcp sports 80,443 # Cliente de Navegação
match tcp sports 20,21 # Cliente de download
class mx prio 4 rate 15% ceil 90%
match tcp ports 25 # SMTP
match tcp ports 587 # Submision
match tcp ports 110 # POP
match tcp ports 143 # IMAP
match tcp ports 993 # IMAPS
match tcp ports 995 # POP3S
class default prio 7 rate 10% ceil 80%
# Upload
interface wan0 unifique-out output rate 10Mbit
class voip prio 0 rate 15% ceil 90% pfifo
match udp ports 4569 # IAX
match udp ports 10000:10100 # SIP-RTP
match udp ports 9082 # SKYPE
class hipri prio 1 rate 15% ceil 90% pfifo
match ip 8.8.8.8
match ip 200.160.2.3
class vpn prio 1 rate 15% ceil 90%
match udp ports 1193:1196 # Instâncias openvpn iTFLEX
class suporte prio 3 rate 15% ceil 90%
match tcp ports 22,23,24,26 # SSH
match tcp ports 22957:22958 # SSH
match tcp ports 2201,2202,2222 # SSH
match tcp ports 3389 # WTS
match tcp ports 5900:5900 # VNC
match tcp ports 10000:10003 # WEBMIN
match tcp ports 10050:10051 # Zabbix
class sites prio 3 rate 15% ceil 90%
match tcp sports 80,443 # Fornecendo HTTP
match tcp sports 20,21 # Fornecendo FTP
class mx prio 4 rate 15% ceil 90%
match tcp ports 25 # SMTP
match tcp ports 587 # Submision
match tcp ports 110 # POP
match tcp ports 143 # IMAP
match tcp ports 993 # IMAPS
match tcp ports 995 # POP3S
class default prio 7 rate 10% ceil 80%
# ---
# GVT
# ----
# Download
interface wan1 gvt-in input rate 15Mbit
class voip prio 0 rate 15% ceil 90% pfifo
match udp ports 4569 # IAX
match udp ports 10000:10100 # SIP-RTP
match udp ports 9082 # SKYPE
class hipri prio 1 rate 15% ceil 90% pfifo
match ip 8.8.8.8
match ip 200.160.2.3
class vpn prio 1 rate 15% ceil 90%
match udp ports 1193:1196 # Instâncias openvpn iTFLEX
class suporte prio 3 rate 15% ceil 90%
match tcp ports 22,23,24,26 # SSH
match tcp ports 22957:22958 # SSH
match tcp ports 2201,2202,2222 # SSH
match tcp ports 3389 # WTS
match tcp ports 5900:5900 # VNC
match tcp ports 10000:10003 # WEBMIN
match tcp ports 10050:10051 # Zabbix
class web prio 3 rate 15% ceil 90%
match tcp sports 80,443 # Cliente de Navegação
match tcp sports 20,21 # Cliente de download
class mx prio 4 rate 15% ceil 90%
match tcp ports 25 # SMTP
match tcp ports 587 # Submision
match tcp ports 110 # POP
match tcp ports 143 # IMAP
match tcp ports 993 # IMAPS
match tcp ports 995 # POP3S
class default prio 7 rate 10% ceil 80%
# Upload
interface wan1 gvt-out input rate 1Mbit
class voip prio 0 rate 15% ceil 90% pfifo
match udp ports 4569 # IAX
match udp ports 10000:10100 # SIP-RTP
match udp ports 9082 # SKYPE
class hipri prio 1 rate 15% ceil 90% pfifo
match ip 8.8.8.8
match ip 200.160.2.3
class vpn prio 1 rate 15% ceil 90%
match udp ports 1193:1196 # Instâncias openvpn iTFLEX
class suporte prio 3 rate 15% ceil 90%
match tcp ports 22,23,24,26 # SSH
match tcp ports 22957:22958 # SSH
match tcp ports 2201,2202,2222 # SSH
match tcp ports 3389 # WTS
match tcp ports 5900:5900 # VNC
match tcp ports 10000:10003 # WEBMIN
match tcp ports 10050:10051 # Zabbix
class sites prio 3 rate 15% ceil 90%
match tcp sports 80,443 # Fornecendo HTTP
match tcp sports 20,21 # Fornecendo FTP
class mx prio 4 rate 15% ceil 90%
match tcp ports 25 # SMTP
match tcp ports 587 # Submision
match tcp ports 110 # POP
match tcp ports 143 # IMAP
match tcp ports 993 # IMAPS
match tcp ports 995 # POP3S
class default prio 7 rate 10% ceil 80%