EdgeMAX - gancho de cabelo NAT (Nat Inside para dentro / Loopback / reflexão)

Visão geral


Leitores aprenderão sobre o grampo de NAT para EdgeRouter.

Normalmente, uma regra NAT Port Forwarding é usada a partir do fora da rede chegar a um servidor com o dentro da rede usando o endereço público do roteador (ou hostname).  Mas em casos onde o mesmo endereço de servidor local deve ser acessado de dentro da rede local, se aplica a NAT Hairpin.

Gancho de cabelo NAT é também conhecido como "NAT dentro para dentro," ou, "NAT Loopback," ou, "Reflexão de NAT" e provavelmente alguns outros.

Nota : a partir da versão v 1.4.0 agora há um assistente para a frente de porta na interface gráfica que facilita muito a prendendor NAT (hairping é uma caixa de seleção).

Passos


Para este exemplo vamos começar com o exemplo de configuração de SOHO , como pode ser visto no diagrama a seguir.

Diagrama de exemplo SOHO para ser usado na configuração de NAT gancho de cabelo.


Primeiro vamos adicionar uma regra de NAT de destino (ou seja, porta para a frente) para que porta 2222 Obtém encaminhada para 192.168.1.10 na porta TCP 22. Este é o pedido NAT de fora para dentro de pacotes WAN chegando na interface voltados para o público, eth2 (Hairpin NAT é mais tarde).

Nota : O endereço de destino (inferior) não é necessário se o traduzido endereço é o mesmo antes e depois da NAT.

Em seguida, precisamos adicionar uma regra de firewall para WAN_IN para permitir que este fluxo. Uma das coisas mais confusas com a adição de uma regra de firewall para destino NAT é aquele DNAT acontece antes do firewall, então a regra de firewall deve coincidir com o traduzido endereço (e Porto). Por exemplo:

Agora, quando testamos a nossa porta para a frente da fora rede, podemos ver tanto o pacote de firewall estatísticas aumentam assim como a contagem NAT.

Nota : estatísticas de Firewall são os contadores de pacotes/byte enquanto contagem NAT está de acordo com a sessão.

Da CLI podemos ver também a tradução de ativa:

ubnt@ubnt:~$ show nat translations
Pre-NAT Post-NAT Type Prot Timeout
204.11.231.181:2222 192.168.1.10:22 dnat tcp 3321 

Agora nós queremos adicionar regras NAT Hairpin. Basicamente temos:

  1. Uma cópia da regra inicial DNAT modificada para a interface LAN. Este é o pedido NAT de dentro para dentro de pacotes de LAN chegando na interface local, eth0.
  2. Uma nova regra de NAT Masquerade para a interface LAN.

Com estas 2 novas regras NAT, poderemos usar o mesmo endereço público para voltar para o servidor interno. No meu exemplo, meu endereço público é 104.15.231.18, então o fluxo original parece

192.168.1.11 --> 104.15.231.18 TCP 2222

Em seguida, a regra DNAT converte-lo para:

192.168.1.11 --> 192.168.1.10 TCP 22

Em seguida, a regra SNAT converte-lo para:

192.168.1.1 --> 192.168.1.10 TCP 22

Desde que as regras DNAT 2 são idênticas, exceto para a interface, podemos excluir a 2ª regra DNAT e modificar a primeira de "eth2" para o caractere curinga ethernet de "eth +" (quando outros Interface de entrada é selecionado) como visto abaixo:

 A configuração final para este exemplo pode ser baixada: NAT Hairpin Config