Este documento explica como o uso de listas de acessos em oposição aos mapas de rotas altera a funcionalidade da NAT (Conversão de endereço de rede). Para obter mais informações sobre NAT, consulte NAT do Cisco IOS.
Não existem requisitos específicos para este documento.
As informações neste documento são baseadas nestas versões de software e hardware:
Cisco 2500 Series Routers.
Software Cisco IOS® versão 12.3(3).
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos.
O NAT só usa as listas de acesso e mapas de rota quando precisa criar uma entrada de tradução. Se já existir uma entrada de conversão que corresponda ao tráfego, a entrada de conversão será usada; as listas de acesso ou os mapas de rotas não serão consultados. A diferença entre usar uma lista de acesso ou um mapa de rota é o tipo de entrada de conversão que será criada.
Ao utilizar um mapa de rotas para criar uma entrada de conversão, o NAT sempre criará uma entrada de conversão fully extended. Essa entrada de conversão conterá as entradas de endereço interno e externo (local e global) e qualquer informação de porta TCP ou UDP. Consulte o NAT: Definições locais e globais para obter mais informações sobre endereços internos e externos (locais e globais).
Quando o NAT usa uma lista de acesso para decidir criar uma entrada de tradução, ele cria uma entrada de tradução "simples". Essa entrada "simples" apenas conterá entradas de endereços IP globais para apenas a parte interna ou externa, dependendo de o comando ip nat inside ou ip nat outside estar ou não configurado. Além disso, não incluirá nenhuma informação de porta TCP ou UDP.
Quando o NAT usa uma lista de acesso e a sobrecarga também foi especificada, ele cria uma entrada de tradução "totalmente estendida". (Ver Nota 1). A operação é semelhante ao caso do mapa de rotas, exceto que o mapa de rotas tem alguns recursos adicionais. Ver a Nota 2 para mais pormenores. Você pode ver um exemplo de uma entrada de tradução NAT simples e uma entrada de tradução NAT totalmente estendida selecionando um destes links:
Este é um diagrama de rede de exemplo usado para ilustrar a diferença entre usar um mapa de rota e uma lista de acesso com NAT:
Neste diagrama de rede de exemplo, é necessário que os hosts em 10.1.1.0 sejam convertidos para o seguinte:
131.108.2.0 quando estiver indo para 131.108.1.0
131.118.2.0 quando estiver indo para 131.118.1.0
Com um método de lista de acesso, você faria o seguinte para converter os hosts no 10.1.1.0:
ip nat pool pool108 131.108.2.1 131.108.2.254 prefix-length 24 !--- Defines a pool of global addresses to be allocated as needed. ip nat pool pool118 131.118.2.1 131.118.2.254 prefix-length 24 ip nat inside source list 108 pool pool108 !--- Establishes dynamic source translation, specifying the !--- access list defined below. ip nat inside source list 118 pool pool118 interface ethernet0 ip address 10.1.1.1 255.255.255.0 ip nat inside !--- Marks the interface as connected to the inside. interface ethernet1 ip address 10.1.2.1 255.255.255.0 ip nat outside !--- Marks the interface as connected to the outside. access-list 108 permit ip 10.1.1.0 0.0.0.255 131.108.1.0 0.0.0.255 !--- Defines the access-list mentioning those addresses !--- that are to be translated. access-list 118 permit ip 10.1.1.0 0.0.0.255 131.118.1.0 0.0.0.255
Consulte Endereçamento IP e Comandos de Serviços para obter mais informações sobre esses comandos.
É isto que acontece quando o Host 1 se conecta como telnet com o Host 2.
Packet on (Network 1) s:10.1.1.2(1024) d:131.108.1.2(23) Packet on (Network 2) s:131.108.2.1(1024) d:131.108.1.2(23) (after NAT)
Como uma lista de acesso foi usada pelo NAT para corresponder a esse tráfego, uma entrada de conversão simples é criada, o que inclui somente informações de tradução internas e nenhum protocolo ou informação de porta:
inside outside local global global local 10.1.1.2 131.108.2.1 ---- ----
Pacote de retorno: Host 2 para Host 1:
Packet on (Network 2) s:131.108.1.2(23) d:131.108.2.1(1024) Packet on (Network 1) s:131.108.1.2(23) d:10.1.1.2(1024) (after NAT)
Com a conversão simples acima ocorrendo, isto é o que acontece quando o Host 1 também aplica Telnet ao Host 3:
Packet on (Network 1) s:10.1.1.2(1025) d:131.118.1.2(23) Packet on (Network 2) s:131.108.2.1(1025) d:131.118.1.2(23) (after NAT)
Você pode ver que há um problema. Pacotes indo de hosts 10.1.1.0 para hosts 131.118.1.0 devem ser convertidos em 131.118.2.0, não em 131.108.2.0. Isso ocorre porque já existe uma entrada de tradução NAT para 10.1.1.2 <—> 131.108.2.1 que também corresponde ao tráfego entre o Host 1 e o Host 3. Portanto, essa entrada de conversão será usada e as listas de acesso 108 e 118 não serão verificadas.
Embora a entrada de conversão simples esteja na tabela de conversão de NAT, ela pode ser usada por qualquer usuário externo em qualquer host externo para enviar um pacote ao Host 1, desde que o usuário externo use o endereço global interno (131.108.2.1) para o Host 1. Normalmente, uma conversão de NAT estático é necessária para permitir isso.
A maneira correta de configurar o exemplo deste documento é por meio da utilização de mapas de rotas. Com o método de mapa de rotas, você deve adotar o seguinte procedimento para converter os hosts em 10.1.1.0:
ip nat pool pool-108 131.108.2.1 131.108.2.254 prefix-length 24 ip nat pool pool-118 131.118.2.1 131.118.2.254 prefix-length 24 ip nat inside source route-map MAP-108 pool pool-108 !--- Establishes dynamic source translation, specifying !--- the route-map MAP-108 which is defined below. ip nat inside source route-map MAP-118 pool pool-118 !--- Establishes dynamic source translation, specifying the route-map MAP-118. !--- Here, the route-maps are consulted instead of !--- access-lists (as in the previous case). interface ethernet0 ip address 10.1.1.1 255.255.255.0 ip nat inside interface ethernet1 ip address 10.1.2.1 255.255.255.0 ip nat outside access-list 108 permit ip 10.1.1.0 0.0.0.255 131.108.1.0 0.0.0.255 access-list 118 permit ip 10.1.1.0 0.0.0.255 131.118.1.0 0.0.0.255 route-map MAP-108 permit 10 !--- Defines the Route-map MAP-108. match ip address 108 !--- Specifies the criteria for translation. Here, the IP !--- address mentioned in the access-list 108 is translated. !--- The translation is defined in the !--- ip nat inside source route-map MAP-108 pool pool-108 command. route-map MAP-118 permit 10 !--- Defines the Route-map MAP-108. match ip address 118 !--- The IP address mentioned in the access-list 118 is translated. !--- The translation is defined in the !--- ip nat inside source route-map MAP-118 pool pool-118 command.
Consulte Endereçamento IP e Comandos de Serviços para obter mais informações sobre esses comandos.
Eis o que acontece quando o host 1 usa o Telnet para o host 2:
Packet on (Network 1) s:10.1.1.2(1024) d:131.108.1.2(23) Packet on (Network 2) s:131.108.2.1(1024) d:131.108.1.2(23) (after NAT)
Nesse caso, como o mapa de rotas foi usado pelo NAT para corresponder ao tráfego a ser convertido, o NAT criará uma entrada de conversão completamente estendida, que inclui informações de conversão internas e externas.
inside outside local global global local 10.1.1.2:1024 131.108.2.1:1024 131.108.1.2:23 131.108.1.2:23
Pacote de retorno: Host 2 para Host 1:
Packet on (Network 2) s:131.108.1.2(23) d:131.108.2.1(1024) Packet on (Network 1) s:131.108.1.2(23) d:10.1.1.2(1024) (after NAT)
Agora, quando o Host 1 envia um pacote ao Host 3, isso é o que aparece:
Packet on (Network 1) s:10.1.1.2(1025) d:131.118.1.2(23) Packet on (Network 2) s:131.118.2.1(1025) d:131.118.1.2(23) (after NAT)
A conversão funcionou corretamente porque o pacote em (N1) não corresponde à entrada de tradução totalmente estendida que foi usada para o tráfego do Host 1 para o Host 2. Como a tradução existente não corresponde, o NAT cria outra entrada de conversão para o tráfego do Host 1 para o Host 3.
Estas são as entradas de conversão totalmente estendidas no roteador NAT:
inside outside local global global local 10.1.1.2:1024 131.108.2.1:1024 131.108.1.2:23 131.108.1.2:23 10.1.1.2:1025 131.118.2.1:1025 131.118.1.2:23 131.118.1.2:23
Como a tabela de conversão NAT possui duas entradas completas, ela converterá corretamente o tráfego que vai para os dois destinos diferentes da mesma origem.
Ao contrário da entrada de conversão simples que foi criada através da lista de acesso, a entrada de conversão totalmente estendida criada através do mapa de rotas não pode ser usada por nenhum outro usuário externo para enviar um pacote ao Host 1. É necessária uma conversão de NAT estático para permitir isso.
No caso de lista de acesso com sobrecarga, a configuração é semelhante à lista de acesso sem caso de sobrecarga. A exceção é que você precisa adicionar a palavra-chave overload ao comando ip nat inside source list 108 pool pool108 e ip nat inside source list 118 pool pool118.
A vantagem de usar mapas de rota é que, sob o comando match, você pode ter mais opções que o endereço IP de origem. Por exemplo, sob o mapa de rota, interface de correspondência ou próximo salto ip de correspondência podem ser especificados. Usando mapas de rota, você pode especificar o endereço IP, bem como a interface ou o endereço do próximo salto para o qual o pacote deve ser encaminhado. Portanto, os mapas de rota com NAT são usados em um cenário em que o assinante está fazendo multi-homing em ISPs diferentes.
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
10-Aug-2005 |
Versão inicial |