QoS no MikroTik RouterOS 7 para priorizar VoIP e RDP: marcação no mangle, queue tree com prioridades, fq-codel e o cuidado com o FastTrack.

Para que serve

Quando alguém do escritório começa um upload grande para a nuvem ou uma atualização do Windows, a ligação do ramal IP picota e a sessão de RDP no servidor trava. Isso acontece porque os pacotes urgentes ficam na mesma fila que os pacotes de transferência. Com QoS no MikroTik você classifica o tráfego e define quem passa primeiro quando o link enche. Este artigo monta um QoS prático para RouterOS 7: VoIP com prioridade máxima, RDP (e a VPN com o servidor dedicado) em seguida e o restante dividindo o que sobra.

Pré-requisitos

  • RouterOS 7 com o firewall base aplicado (artigo «Firewall do MikroTik: regras base de filter e raw comentadas (RouterOS 7)»).
  • Velocidade real do link, medida em horário tranquilo. Exemplo: 300 Mbps de download e 150 Mbps de upload.
  • Exemplo de rede: WAN em ether1, LAN em bridge (192.168.10.0/24), PABX/telefones em 192.168.30.0/24, servidor RDP acessado por 203.0.113.20 ou pelo túnel wg-datacenter.

Dois conceitos antes de começar

  • QoS só funciona onde está o gargalo. Se a fila se forma no modem da operadora, o MikroTik não tem o que priorizar. Por isso as filas são limitadas a cerca de 85% a 90% da velocidade real: o congestionamento passa a acontecer dentro do roteador, onde você manda.
  • FastTrack ignora filas. Pacotes acelerados pelo FastTrack não passam pelas queues nem pelo mangle. Ou você desativa o FastTrack, ou garante que ele só acelere conexões sem marca (filtro connection-mark=no-mark, como no firewall base). Neste artigo marcamos todo o tráfego, então o FastTrack deixa de atuar; em roteadores de CPU fraca com links rápidos, avalie se a CPU aguenta.

Passo 1: classificar o tráfego no mangle

Marque a conexão uma única vez e, a partir dela, os pacotes. É bem mais leve do que inspecionar cada pacote:

/ip firewall mangle
# VoIP: SIP e RTP (ajuste a faixa RTP ao seu PABX; 10000-20000 e comum no Asterisk)
add chain=prerouting action=mark-connection new-connection-mark=con-voip protocol=udp port=5060,5061,10000-20000 \
    connection-mark=no-mark comment="QoS: VoIP"
add chain=prerouting action=mark-connection new-connection-mark=con-voip src-address=192.168.30.0/24 \
    connection-mark=no-mark comment="QoS: tudo da rede dos telefones"
# RDP e o tunel com o datacenter
add chain=prerouting action=mark-connection new-connection-mark=con-rdp protocol=tcp port=3389 connection-mark=no-mark comment="QoS: RDP"
add chain=prerouting action=mark-connection new-connection-mark=con-rdp protocol=udp port=3389 connection-mark=no-mark
add chain=prerouting action=mark-connection new-connection-mark=con-rdp protocol=udp port=51820 connection-mark=no-mark comment="QoS: WireGuard do datacenter"
add chain=prerouting action=mark-connection new-connection-mark=con-rdp protocol=icmp connection-mark=no-mark
add chain=prerouting action=mark-connection new-connection-mark=con-rdp protocol=udp port=53 connection-mark=no-mark comment="QoS: DNS"
# todo o resto
add chain=prerouting action=mark-connection new-connection-mark=con-geral connection-mark=no-mark comment="QoS: geral"

# marcas de pacote separadas por sentido
add chain=forward action=mark-packet new-packet-mark=voip-up connection-mark=con-voip out-interface-list=WAN passthrough=no
add chain=forward action=mark-packet new-packet-mark=voip-down connection-mark=con-voip in-interface-list=WAN passthrough=no
add chain=forward action=mark-packet new-packet-mark=rdp-up connection-mark=con-rdp out-interface-list=WAN passthrough=no
add chain=forward action=mark-packet new-packet-mark=rdp-down connection-mark=con-rdp in-interface-list=WAN passthrough=no
add chain=forward action=mark-packet new-packet-mark=geral-up connection-mark=con-geral out-interface-list=WAN passthrough=no
add chain=forward action=mark-packet new-packet-mark=geral-down connection-mark=con-geral in-interface-list=WAN passthrough=no
Se você já usa PCC (artigo de balanceamento), as marcas de conexão do PCC e as do QoS vão disputar o mesmo campo, pois cada conexão tem uma só marca. Nesse caso, faça o QoS com mark-packet direto por porta/endereço, sem mark-connection, ou combine os nomes (por exemplo link1-voip).

Sobre o RDP pela VPN: quando o RDP passa dentro do túnel WireGuard, o roteador só enxerga UDP 51820 na WAN. Por isso a regra do WireGuard está na mesma classe do RDP. Se outros usuários fazem transferências grandes pelo mesmo túnel (backup, cópia de arquivos), elas também ganham prioridade; separe-as com um túnel ou porta diferente se for o caso.

Passo 2: criar o tipo de fila

O fq-codel reduz o "bufferbloat" (latência que dispara quando o link enche) e distribui melhor entre fluxos da mesma classe:

/queue type add name=fq-codel-padrao kind=fq-codel

Passo 3: montar a queue tree para upload e download

O upload é controlado na interface WAN; o download, na interface da LAN. Valores para o exemplo de 150/300 Mbps, limitando a cerca de 90%:

/queue tree
# UPLOAD (saida pela WAN)
add name=up-total parent=ether1 max-limit=135M
add name=up-voip parent=up-total packet-mark=voip-up priority=1 limit-at=5M max-limit=135M queue=fq-codel-padrao
add name=up-rdp parent=up-total packet-mark=rdp-up priority=2 limit-at=20M max-limit=135M queue=fq-codel-padrao
add name=up-geral parent=up-total packet-mark=geral-up priority=8 limit-at=10M max-limit=135M queue=fq-codel-padrao

# DOWNLOAD (saida pela LAN)
add name=down-total parent=bridge max-limit=270M
add name=down-voip parent=down-total packet-mark=voip-down priority=1 limit-at=5M max-limit=270M queue=fq-codel-padrao
add name=down-rdp parent=down-total packet-mark=rdp-down priority=2 limit-at=30M max-limit=270M queue=fq-codel-padrao
add name=down-geral parent=down-total packet-mark=geral-down priority=8 limit-at=10M max-limit=270M queue=fq-codel-padrao
  • priority: de 1 (maior) a 8 (menor). Quando há disputa, a fila de menor número é atendida primeiro.
  • limit-at: banda garantida para a classe mesmo com o link cheio. Calcule o VoIP pela quantidade de chamadas: cerca de 100 kbps por chamada G.711 em cada sentido.
  • max-limit nas filhas igual ao total permite que qualquer classe use o link inteiro quando ele está livre.

Se o link é PPPoE, use parent=pppoe-out1 em vez de ether1. Se a LAN tem várias VLANs, use parent=global para o download, mantendo as marcas separadas por sentido.

Alternativa simples: CAKE numa simple queue

Se você só quer acabar com a latência alta durante uploads, sem classes: o RouterOS 7 tem o CAKE, que entende DSCP e equilibra fluxos sozinho.

/queue type add name=cake-wan kind=cake cake-diffserv=diffserv4 cake-nat=yes
/queue simple add name=link target=ether1 max-limit=135M/270M queue=cake-wan/cake-wan

Telefones que marcam DSCP EF (46) passam a ser priorizados automaticamente pelo diffserv4. Não combine CAKE na simple queue com a queue tree acima no mesmo tráfego.

Como saber se funcionou

  1. /ip firewall mangle print stats: os contadores de VoIP e RDP sobem quando há chamada ou sessão aberta.
  2. /queue tree print stats: cada fila mostra taxa e pacotes. Se tudo estiver zerado, o FastTrack está ignorando as filas.
  3. Teste real: inicie um upload grande e, ao mesmo tempo, faça uma ligação e um ping -t para o servidor. A latência deve subir pouco e a voz deve continuar limpa.

Problemas comuns

  • Filas sem tráfego: FastTrack ativo sem o filtro connection-mark=no-mark, ou nomes de packet-mark digitados diferentes entre mangle e queue.
  • Internet ficou mais lenta que antes: é o efeito do limite em 90%. Se o link real for maior, ajuste o max-limit.
  • Voz ainda picota: verifique se a faixa RTP do PABX bate com a regra e se o problema não é perda no próprio link (veja o artigo de diagnóstico desta categoria).
  • CPU a 100%: sem FastTrack o roteador trabalha mais. Considere um modelo mais forte ou aplicar QoS só no upload, que é onde o problema costuma estar.

Perguntas frequentes

Simple queue ou queue tree no MikroTik?

Simple queue é ótima para limitar por cliente ou por IP. Para priorizar tipos de tráfego no link inteiro, a queue tree com marcas é mais adequada.

QoS no MikroTik melhora a internet do lado da operadora?

Não. O QoS só controla o que sai e o que o roteador entrega. No download, ele funciona limitando um pouco abaixo da velocidade real para que a fila se forme no MikroTik.

Qual porta o RDP usa?

TCP 3389 e, nas versões atuais do Windows, também UDP 3389. Se o RDP vai pela VPN, a prioridade precisa ser dada ao túnel.

Leitura complementar

Precisa de ajuda?

Se o RDP nas VMs do seu servidor continua lento mesmo com QoS no escritório, abra um ticket com o resultado de um mtr ou traceroute do escritório até o servidor, para verificarmos o caminho do lado do datacenter.

Esta resposta lhe foi útil? 0 Usuários acharam útil (0 Votos)

Leia também