Gerador de port forwarding MikroTik
Liste as portas que quer publicar e os servidores por trás delas e receba regras dst-nat do RouterOS v7, com hairpin NAT para que os clientes da LAN também usem o endereço público.
Roda no navegador; nada do que você digita sai do seu dispositivo
Gera sintaxe RouterOS v7 (também válida na v6) para IPv4. As portas e os endereços são verificados, mas não testados no seu roteador. MikroTik e RouterOS são marcas registradas da SIA Mikrotīkls. Esta ferramenta é independente e não é afiliada nem endossada pela MikroTik.
Como redirecionar uma porta em um roteador MikroTik
- Escolha como a regra reconhece o tráfego destinado ao seu endereço público: a interface list WAN, um IP público fixo ou qualquer endereço do roteador.
- Adicione uma linha por serviço: protocolo, porta pública, o IP do servidor interno e, se for diferente, a porta interna dele.
- Marque hairpin NAT se os clientes da LAN devem acessar o serviço pelo endereço público, depois copie o script ou baixe o arquivo .rsc.
Como funciona o port forwarding no RouterOS
Um port forward é uma regra dst-nat na chain dstnat de /ip firewall nat. Quando chega uma nova conexão que casa com a regra (protocolo, porta de destino e a interface WAN ou o seu endereço público), o RouterOS reescreve o destino dela para o endereço do servidor interno e, opcionalmente, para a porta. O connection tracking lembra da tradução, então as respostas são reescritas de volta automaticamente; você nunca precisa de uma regra correspondente para o tráfego de retorno.
A tradução acontece antes de a forward chain do filter ver o pacote. É por isso que a regra forward padrão da MikroTik só descarta novas conexões da WAN quando connection-nat-state=!dstnat: uma conexão que uma regra dst-nat traduziu é marcada como dstnat'ed e liberada, enquanto qualquer outra coisa vinda da internet é descartada.
Hairpin NAT
Quando um computador da LAN se conecta ao endereço público de um servidor que também está na LAN, a regra dst-nat envia o pacote ao servidor, mas o servidor vê o endereço privado do cliente e responde diretamente a ele. O cliente então recebe uma resposta de um endereço com o qual nunca conversou e a descarta. A regra de hairpin faz masquerade do tráfego da sub-rede da LAN para o servidor, de modo que o servidor responde ao roteador, que traduz a resposta de volta. O custo é que os logs do servidor mostram o endereço do roteador para os clientes da LAN. Um registro DNS de split-horizon apontando o nome para o endereço interno evita o NAT por completo e costuma ser a correção mais limpa.
Dicas
- Confira se o seu firewall descarta o que deveria com o auditor de firewall MikroTik.
- O acesso remoto é mais seguro por uma VPN; o gerador de WireGuard monta uma em poucas linhas.
- Vai restringir um redirecionamento a muitas redes de origem? Monte a lista com o gerador de address list.
Perguntas frequentes
Por que não consigo acessar meu port forward de dentro da LAN?
Um cliente da LAN envia para o seu IP público, o roteador traduz o destino para o servidor, e o servidor responde diretamente ao cliente porque ambos estão na mesma sub-rede. O cliente esperava a resposta vinda do IP público e por isso a descarta. O hairpin NAT faz masquerade desse tráfego de LAN para LAN, de modo que a resposta volte pelo roteador. Só funciona quando a regra dst-nat casa com o endereço público em vez da interface WAN, porque o pacote chega pela interface da LAN.
A regra deve casar por in-interface ou por dst-address?
Casar com a interface list WAN é o mais simples e sobrevive a uma mudança de IP público, mas não permite hairpin NAT. Casar com dst-address funciona com hairpin, mas precisa ser atualizado se o IP mudar. O dst-address-type=local casa com qualquer endereço do roteador, o que resolve IPs dinâmicos e hairpin de uma vez; o porém é que ele também captura essas portas no endereço LAN do próprio roteador.
Preciso também de uma regra no firewall filter?
Com a configuração padrão da MikroTik, não: a forward chain dela só descarta novas conexões da WAN quando elas são "not DSTNATed", então as conexões redirecionadas passam. Se você escreveu uma forward chain mais rígida, aceite connection-nat-state=dstnat antes do seu drop final.
Como redireciono uma faixa de portas?
Informe a faixa, como 50000-50100, ou uma lista, como 80,443, e deixe a porta interna vazia. As portas são redirecionadas sem alteração. A tradução de portas (pública 8443 para interna 443) funciona para portas únicas.
É seguro redirecionar RDP, SSH ou Winbox?
Expor serviços de acesso remoto para toda a internet atrai tentativas de força bruta. Preencha as redes de origem permitidas para limitar um redirecionamento a endereços conhecidos, ou coloque o serviço atrás de uma VPN como o WireGuard.
Minha configuração é enviada para algum lugar?
Não. As regras são geradas por JavaScript nesta página, e nada do que você digita é enviado, armazenado ou registrado.