Nat e Firewall No Mikrotik
Nat e Firewall No Mikrotik
Nat e Firewall No Mikrotik
Do MikroTik Wiki
< Manual:IP| Firewall
Aviso: Este manual é movido para https://help.mikrotik.com/docs/display/ROS/Firewall
Conteúdo
◾ 1 Resumo
◾ 1.1 Mascarada
◾ 2 Propriedades
◾ 3 Estatísticas
◾ 4 Comandos específicos do menu
◾ 5 Exemplos básicos
◾ 5.1 Fonte NAT
◾ 5.1.1 Mascarada
◾ 5.1.2 Fonte nat para endereço específico
◾ 5.2 Destino NAT
◾ 5.2.1 Encaminhe todo o tráfego para o host interno
◾ 5.2.2 Mapeamento/encaminhamento de portas
◾ 5.2.3 Encaminhamento da porta para servidor FTP interno
◾ 5.3 1:1 mapeamento
◾ 5.4 NAT de grau portador (CGNAT) ou NAT444
Resumo
Sub-menu: /ip firewall nat
A tradução de endereço de rede é um padrão da Internet que permite que os hosts em redes locais usem
um conjunto de endereços IP para comunicações internas e outro conjunto de endereços IP para
comunicações externas. Uma LAN que usa NAT é referida como rede natted. Para o NAT funcionar, deve
haver um gateway NAT em cada rede natted. O gateway NAT (ROTEador NAT) executa a reescrita de
endereço IP na maneira como um pacote viaja de/para LAN.
◾ fonte NAT ou srcnat. Este tipo de NAT é realizado em pacotes originados de uma rede natted.
Um roteador NAT substitui o endereço de origem privada de um pacote IP por um novo endereço
IP público à medida que ele viaja pelo roteador. Uma operação reversa é aplicada aos pacotes de
resposta que viajam na outra direção.
◾ destino NAT ou dstnat. Este tipo de NAT é realizado em pacotes destinados à rede natted. É mais
usado para fazer hosts em uma rede privada para ser acessível da Internet. Um roteador NAT
executando o dstnat substitui o endereço IP de destino de um pacote IP enquanto ele viaja pelo
roteador em direção a uma rede privada.
Os hosts por trás de um roteador habilitado para NAT não têm conectividade verdadeira de ponta a ponta.
Portanto, alguns protocolos de Internet podem não funcionar em cenários com o NAT. Serviços que
requerem o início da conexão TCP de fora da rede privada ou protocolos apátridas, como o UDP, podem
ser interrompidos. Além disso, alguns protocolos são inerentemente incompatíveis com o NAT, um
exemplo ousado é o protocolo AH da suíte IPsec.
Para superar essas limitações, o RouterOS inclui uma série de chamados ajudantes NAT,que permitem a
travessia do NAT para vários protocolos.
Mascarada
Firewall NAT é uma subversão única de , foi projetado para uso específico em situações em que o IP
público pode alterar aleatoriamente, por exemplo, o servidor DHCP altera-lo, ou túnel PPPoE após a
desconexão recebe IP diferente, em suma - quando o IP público é dinâmico.
action=masqueradeaction=srcnat
Toda vez que a interface se desconecta e/ou seu endereço IP mudar, o roteador limpará todas as entradas
de rastreamento de conexão mascaradas que enviam pacotes para fora dessa interface, desta forma
melhorando o tempo de recuperação do sistema após a alteração do endereço ip público.
Infelizmente, isso pode levar a alguns problemas quando é usado em configurações com conexões/links
instáveis que são roteados por diferentes links quando o principal está para baixo. Em tal cenário, seguir
as coisas pode acontecer: action=masquerade
Você pode contornar isso criando a rota do buraco negro como alternativa à rota que pode desaparecer na
desconexão).
Propriedades
Propriedade Descrição
action (nome de ação; Padrão: Ação a ser tomada se o pacote for combinado com a regra:
aceitar)
◾ accept - aceitar o pacote. O pacote não é passado
para a próxima regra NAT.
◾ add-dst-to-address-list - adicionar endereço
de destino à lista de endereços especificada por
parâmetro address-list
◾ add-src-to-address-list - adicionar endereço
de origem à lista de endereços especificada por
parâmetro address-list
◾ dst-nat - substitui o endereço de destino e/ou porta
de um pacote IP para valores especificados por e
parâmetros to-addressesto-ports
◾ jump - saltar para a cadeia definida pelo usuário
especificada pelo valor do parâmetro jump-target
◾ log - adicionar uma mensagem ao log do sistema
contendo os seguintes dados: in-interface, out-
interface, src-mac, protocol, src-ip:port->dst-ip:porta
e comprimento do pacote. Depois que o pacote é
combinado, ele é passado para a próxima regra na
lista, semelhante como passthrough
◾ masquerade - substitui a porta de origem de um
pacote IP para um especificado por parâmetro e
substitui o endereço de origem de um pacote IP para
IP determinado pela facilidade de roteamento. to-
ports Read more >>
◾ netmap - cria um mapeamento estático 1:1 de um
conjunto de endereços IP para outro. Muitas vezes
usado para distribuir endereços IP públicos para hosts
em redes privadas
◾ passthrough - se o pacote for combinado com a
regra, aumente o contador e vá para a próxima regra
(útil para estatísticas).
◾ redirect - substitui a porta de destino de um pacote
IP para um especificado por parâmetro e endereço de
destino para um dos endereços locais do roteador to-
ports
◾ return - passa o controle de volta para a cadeia de
onde o salto ocorreu
◾ same - dá a um cliente em particular o mesmo
endereço IP de origem/destino a partir do intervalo
fornecido para cada conexão. Isso é mais usado para
serviços que esperam o mesmo endereço do cliente
para múltiplas conexões do mesmo cliente
◾ src-nat - substitui o endereço de origem de um
pacote IP para valores especificados por e parâmetros
to-addressesto-ports
address-list (string; Padrão: ) Nome da lista de endereços a ser usado. Aplicável se a ação
for ou add-dst-to-address-listadd-src-to-address-list
address-list-timeout (nenhuma Intervalo de tempo após o qual o endereço será removido da
dinâmica | sem estática | tempo; Padrão: lista de endereços especificado por parâmetro. Usado em
sem dinâmica) conjunto com ou açõesaddress-listadd-dst-to-address-
listadd-src-to-address-list
◾ O valor de () deixará o endereço na lista de endereços
até a reinicialização none-dynamic00:00:00
◾ O valor de deixará o endereço na lista de endereços
para sempre e será incluído na configuração de
exportação/backup none-static
connection-type (ftp | h323 | irc | Corresponde a pacotes de conexões relacionadas com base
pptp | quake3 | gole | tftp; Padrão: ) em informações de seus ajudantes de rastreamento de
conexão. Um auxiliar de conexão relevante deve ser
habilitado sob /ip firewall service-port
content (string; Padrão: ) Pacotes de correspondência que contêm texto especificado
dscp (inteiro: 0.63; Padrão: ) Corresponde ao campo de cabeçalho IP DSCP.
dst-address (IP/netmask | Faixa de Corresponde a pacotes que destino é igual a IP especificado
IP; Padrão: ) ou se encaixa no intervalo IP especificado.
dst-address-list (nome; Padrão: ) Corresponde ao endereço de destino de um pacote com a lista
de endereços definida pelo usuário
dst-address-type (unicast | local | Tipo de endereço de destino de correspondência:
transmissão | multicast; Padrão: )
◾ unicast - Endereço IP usado para transmissão
ponto a ponto
◾ local - se o endereço dst for atribuído a uma das
interfaces do roteador
◾ broadcast - pacote é enviado para todos os
dispositivos em sub-rede
◾ multicast - pacote é encaminhado para grupo
definido de dispositivos
dst-limit Corresponde aos pacotes até que um determinado limite de
(inteiro[/tempo],inteiro,dst-address | pps seja excedido. Ao contrário do matcher, cada endereço IP
dst-port | src-address[/time]; Padrão: ) de destino/ porta de destino tem seu próprio limite. Os
parâmetros são escritos no seguinte formato: .
limitcount[/time],burst,mode[/expire]
ipsec-policy (em | fora, ipsec | Corresponde à política utilizada pelo IpSec. O valor é escrito
nenhum; Padrão: ) no seguinte formato: . A direção é usada para selecionar se
corresponde à política usada para descapsulação ou à política
que será usada para encapsulamento. direction, policy
jump-target (nome; Padrão: ) Nome da cadeia de alvos para saltar. Aplicável apenas se
action=jump
Propriedade Descrição
bytes (Inteiro) Quantidade total de bytes correspondeda à regra
packets (Inteiro) Quantidade total de pacotes correspondedos à regra
Por impressão padrão é equivalente à impressão estática e mostra apenas regras estáticas.
Mascarada
Se você quiser "esconder" a LAN privada 192.168.0.0/24 "atrás" de um endereço 10.5.8.109 dado a você
pelo ISP, você deve usar o recurso de tradução de endereço de rede de origem (mascarado) do roteador
MikroTik. O mascarado alterará o endereço IP de origem e a porta dos pacotes originados da rede
192.168.0.0/24 para o endereço 10.5.8.109 do roteador quando o pacote é roteado através dele.
Para usar máscaras, uma regra NAT de origem com 'máscara' de ação deve ser adicionada à configuração
de firewall:
Todas as conexões de saída da rede 192.168.0.0/24 terão endereço de origem 10.5.8.109 do roteador e
porta de origem acima de 1024. Não será possível acessar a Internet nos endereços locais. Se você quiser
permitir conexões com o servidor na rede local, você deve usar a tradução de endereço de rede de destino
(NAT).
Se você tiver vários endereços IP públicos, o nat de origem pode ser alterado para IP específico, por
exemplo, uma sub-rede local pode ser ocultada atrás do primeiro IP e a segunda sub-rede local é
mascarada atrás do segundo IP.
Destino NAT
Se você quiser vincular o endereço IP Público 10.5.8.200 ao site Local one 192.168.0.109, você deve usar
o recurso de tradução de endereço de destino do roteador MikroTik. Além disso, se você quiser permitir
que o servidor local inicie conexões para fora com o IP público dado, você deve usar a tradução de
endereço de origem, também.
Adicionar regra que permita o acesso ao servidor interno a partir de redes externas:
Mapeamento/encaminhamento de portas
Se você quiser direcionar pedidos para uma determinada porta para uma máquina interna (às vezes
chamada de abertura de uma porta, mapeamento de porta), você pode fazê-lo assim:
/ip firewall nat add chain=dstnat dst-port=1234 action=dst-nat protocol=tcp to-address=192.168.1.1 to-port=1234
Esta regra se traduz em: quando uma conexão de entrada solicitar a porta TCP 1234, use a ação DST-
NAT e redirecione-a para o endereço local 192.168.1.1 e a porta 1234
Como você pode ver na ilustração acima FTP usa mais de uma conexão, mas apenas o canal de comando
deve ser encaminhado pelo Destination nat. O canal de dados é considerado como conexão relacionada e
deve ser aceito com a regra "aceitar relacionado" se você tiver firewall rigoroso. Observe que para que as
conexões relacionadas sejam detectadas corretamente, o auxiliar FTP deve ser ativado.
Observe que o FTP ativo pode não funcionar se o cliente estiver por trás do firewall ou do roteador
NATed, porque o canal de dados é iniciado pelo servidor e não pode acessar diretamente o cliente.
Se o cliente estiver por trás do roteador Mikrotik, certifique-se de que o helper FTP esteja ativado
1:1 mapeamento
If you want to link Public IP subnet 11.11.11.0/24 to local one 2.2.2.0/24, you should use destination
address translation and source address translation features with action=netmap.
Same can be written using different address notation, that still have to match with the described network
To combat IPv4 address exhaustion, new RFC 6598 was deployed. The idea is to use shared 100.64.0.0/10
address space inside carrier's network and performing NAT on carrier's edge router to sigle public IP or
public IP range.
Because of nature of such setup it is also called NAT444, as opposed to a NAT44 network for a 'normal'
NAT environment, three different IPv4 address spaces are involved.
CGNAT configuration on RouterOS does not differ from any other regular source NAT configuration:
Where:
The advantage of NAT444 is obvious, less public IPv4 addresses used. But this technique comes with
mayor drawbacks:
◾ The service provider router performing CGNAT needs to maintain a state table for all the address
translations: this requires a lot of memory and CPU resources.
◾ Console gaming problems. Some games fail when two subscribers using the same outside public
IPv4 address try to connect to each other.
◾ Tracking of users for legal reasons means extra logging, as multiple households go behind one
public address.
◾ Anything requiring incoming connections is broken. While this already was the case with regular
NAT, end users could usually still set up port forwarding on their NAT router. CGNAT makes this
impossible. This means no web servers can be hosted here, and IP Phones cannot receive incoming
calls by default either.
◾ Some web servers only allow a maximum number of connections from the same public IP address,
as a means to counter DoS attacks like SYN floods. Using CGNAT this limit is reached more often
and some services may be of poor quality.
◾ 6to4 requires globally reachable addresses and will not work in networks that employ addresses
with limited topological span.
More on things that can break can be read in this article [1] (http://chrisgrundemann.com/index.php/2011/
nat444-cgn-lsn-breaks/)
Packets with Shared Address Space source or destination addresses MUST NOT be forwarded across
Service Provider boundaries. Service Providers MUST filter such packets on ingress links. In RouterOS
this can be easily done with firewall filters on edge routers:
Service providers may be required to do logging of MAPed addresses, in large CGN deployed network
that may be a problem. Fortunately RFC 7422 suggests a way to manage CGN translations in such a way
as to significantly reduce the amount of logging required while providing traceability for abuse response.
RFC states that instead of logging each connection, CGNs could deterministically map customer private
addresses (received on the customer-facing interface of the CGN, a.k.a., internal side) to public addresses
extended with port ranges.
In RouterOS described algorithm can be done with few script functions. Lets take an example:
Instead of writing NAT mappings by hand we could write a function which adds such rules automatically.
After pasting above script in the terminal function "addNatRules" is available. If we take our example, we
need to map 6 shared network addresses to be mapped to 2.2.2.2 and each address uses range of 100 ports
starting from 2000. So we run our function:
Recuperado de "https://wiki.mikrotik.com/index.php?title=Manual:IP/Firewall/NAT&oldid=34036"
◾ Esta página foi editada pela última vez em 3 de junho de 2020, às 11:02.