Introduction
Este documento descreve como configurar o tráfego TCP de balanceamento de carga do servidor NAT (Network Address Translation) em roteadores Cisco IOS®.
Prerequisites
Requirements
Não existem requisitos específicos para este documento.
Componentes Utilizados
Este documento não se restringe a versões de software e hardware específicas. Este documento se aplica a todos os roteadores e switches Cisco que executam o Cisco IOS.
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.
Informações de Apoio
Propósito
Os usuários que acessam o servidor local de fora da Internet acessarão o servidor usando um único URL ou endereço IP, no entanto, o dispositivo NAT é usado para compartilhar o tráfego do usuário em vários servidores idênticos com conteúdo espelhado.
Descrição
Os usuários externos A e B acessam o conteúdo do servidor Web com o endereço IP visível externo 172.16.2.3 (endereço IP virtual dos servidores). O roteador NAT converte o tráfego destinado para 172.16.1.3 para os endereços IP internos 10.1.1.1, 10.1.1.2 e 10.1.1.3 de forma round robin e o encaminha para o respectivo servidor. Cada nova sessão iniciada do usuário externo é convertida para o próximo endereço IP do servidor físico.
Configurar
Diagrama de Rede
Etapas
- O Usuário A inicia uma conexão TCP com o endereço IP do servidor virtual 172.16.2.3.
- O roteador NAT, ao receber a solicitação de conexão, cria uma entrada de conversão NAT que aloca o próximo endereço IP do servidor real disponível (por exemplo, 10.1.1.1).
- O roteador NAT substitui o endereço IP de destino pelo endereço IP real alocado e encaminha o pacote.
- O servidor recebe o pacote e responde à origem.
- O roteador NAT recebe o pacote retornado do servidor e executa a pesquisa na tabela NAT. Em seguida, o roteador converte o endereço origem para o endereço IP do servidor virtual (172.16.2.3) e encaminha o pacote.
- O Usuário B inicia uma sessão TCP com o endereço IP virtual do servidor 172.16.2.3. Ao receber a solicitação de conexão, o roteador NAT converte isso para o próximo endereço IP do servidor real disponível (por exemplo, 10.1.1.2) e, em seguida, encaminha o pacote para o servidor.
Como o NAT estático é bidirecional na outra direção, o destino do pacote será convertido. Ao fazer essa forma de NAT, ela é acionada pelo envio de pacotes TCP. O envio do ICMP (Internet Control Message Protocol) pode não disparar a conversão de NAT.
O tráfego não-TCP é direcionado ao primeiro endereço no pool.
Ao contrário do NAT de origem interna estático e do PAT de origem interna estático, o roteador não responde a consultas ARP sobre o endereço global, a menos que esse endereço não esteja atribuído à sua interface.Portanto, pode ser necessário adicioná-lo a uma interface como a secundária. Não é possível redirecionar portas com esse método de tradução (por exemplo, 80 e 1087). As portas devem corresponder.
Note: O endereço IP do pool de NAT não precisa ser igual ao endereço IP da interface externa. Para ilustrar o mesmo, o exemplo usa um endereço IP de um bloco 172.16.2.x diferente da sub-rede IP real da interface 172.16.1.x.
- Defina um pool de endereços que contenha os endereços dos servidores reais.
ip nat pool NATPOOL 10.1.1.1 10.1.1.3 prefix-length 24 type rotary
- Defina uma lista de acesso que permita o endereço do servidor virtual.
access-list 1 permit host 172.16.2.3
- Habilite uma tradução dinâmica de endereços de destino internos.
ip nat inside destination list
pool
ip nat inside destination list 1 pool NATPOOL
- Defina as interfaces interna e externa de NAT.
Interface gig0/0
ip address 10.1.1.4 255.255.255.0
Ip nat inside
Interface gig0/1
ip address 172.16.1.1 255.255.255.248
Ip nat outside
Os endereços IP 10.1.1.1, 10.1.1.2 e 10.1.1.3 agora serão distribuídos em rotação quando alguém tentar acessar o endereço IP 172.16.2.3
Verificar
Para verificar isso, inicie várias sessões TCP de hosts externos para o endereço IP virtual. Debug IP NAT ta saída de tradução/show ip nat translation pode ser usada para verificação.
Router#
Router#
*Jul 24 13:27:41.193: NAT*: s=192.168.1.1, d=172.16.2.3->10.1.1.3 [22864]
*Jul 24 13:27:41.196: NAT*: s=10.1.1.3->172.16.2.3, d=192.168.1.1 [18226]
Router#
*Jul 24 13:27:44.329: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35533]
*Jul 24 13:27:44.331: NAT*: s=10.1.1.1->172.16.2.3, d=192.168.2.1 [14573]
*Jul 24 13:27:44.332: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35534]
*Jul 24 13:27:44.332: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35535]
*Jul 24 13:27:44.332: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35536]
*Jul 24 13:27:44.333: NAT*: s=10.1.1.1->172.16.2.3, d=192.168.2.1 [14574]
*Jul 24 13:27:44.365: NAT*: s=10.1.1.1->172.16.2.3, d=192.168.2.1 [14575]
*Jul 24 13:27:44.365: NAT*: s=10.1.1.1->172.16.2.3, d=192.168.2.1 [14576]
*Jul 24 13:27:44.368: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35537]
Router#
*Jul 24 13:27:44.369: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35538]
*Jul 24 13:27:44.369: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35539]
*Jul 24 13:27:44.369: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35540]
*Jul 24 13:27:44.371: NAT*: s=10.1.1.1->172.16.2.3, d=192.168.2.1 [14577]
*Jul 24 13:27:44.574: NAT*: s=10.1.1.1->172.16.2.3, d=192.168.2.1 [14578]
Router#
*Jul 24 13:27:46.474: NAT*: s=10.1.1.1->172.16.2.3, d=192.168.2.1 [14579]
*Jul 24 13:27:46.478: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35541]
*Jul 24 13:27:46.478: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35542]
*Jul 24 13:27:46.479: NAT*: s=10.1.1.1->172.16.2.3, d=192.168.2.1 [14580]
Router#sh ip nat tr
Pro Inside global Inside local Outside local Outside global
tcp 172.16.2.3:23 10.1.1.1:23 192.168.2.1:49703 192.168.2.1:49703
tcp 172.16.2.3:23 10.1.1.2:23 192.168.2.1:50421 192.168.2.1:50421
tcp 172.16.2.3:80 10.1.1.3:80 192.168.1.1:26621 192.168.1.1:26621
Router#
Troubleshoot
Atualmente, não existem informações disponíveis específicas sobre Troubleshooting para esta configuração.
Limitações
- Ele não pode detectar se um servidor interno no grupo falha. Isso significa que o Cisco IOS sempre encaminhará o tráfego para os servidores do grupo, independentemente de seu status operacional.
- Ele não pode determinar as cargas reais dos servidores internos, portanto, não pode executar o balanceamento de carga com eficiência.