NAT / PAT Pergunta Teórica

1

Dada a seguinte rede simplista

Rede http://www.vbforums.com/picture.php?albumid=18& pictureid = 47

[IMG] link

Seria possível construir pools NAT / PAT para que os PCs conectados à rede pudessem ser identificados pelo número da porta. Entendo que, se eu atribuir um IP público a cada usuário, posso identificá-los. O que estou tentando fazer é conservar os IPs públicos, mas manter a capacidade de identificar o usuário a partir da rede pública. Se sua resposta for específica do fornecedor, não há problema comigo. Agradecemos antecipadamente.

    
por dbasnett 30.04.2010 / 01:23

3 respostas

1

Em um roteador Cisco, você pode fazer o seguinte:

ip nat log translations syslog

logging <syslog server ip>

Isso fará com que cada tradução seja enviada para o servidor syslog. As entradas serão parecidas com:

Apr 29 21:25:06 rgw-01 233: 000238: Apr 29 21:25:05.858 EDT: %IPNAT-6-CREATED: tcp 192.168.0.254:56334 68.175.123.94:56334 1.1.1.1:80 1.1.1.1:80

que espelha a saída de "show ip nat translation" no roteador. Você deve receber mensagens de log quando uma tradução é criada e excluída.

    
por 30.04.2010 / 03:30
1

Tudo o que você precisa fazer é olhar para a tabela de tradução nat atual no dispositivo nat para ver a porta para a qual o IP mapeia. Por exemplo, em um roteador Cisco 192.168.1.82 conectando-se ao Google via pat para o ip público de 12.12.12.12:

router1#show ip nat trans 
tcp 12.12.12.12:33949  192.168.1.82:33949 66.249.80.104:80 66.249.80.104:80

Atualização:
Eu acho que entendo agora. Eu não sei de nenhuma implementação disso, mas não vejo por que isso não funcionaria. Você poderia, em teoria, mapear cada ip interno para um intervalo de portas diferente. Como a sobrecarga traduz a combinação de portas ip / tcp src internas para uma porta de origem ip / tcp externa, você pode atribuir certos intervalos de portas de fontes externas para cada IP interno (as portas anteriores também podem ser udp). Por exemplo:

32000-33999 public ip's tcp/udp src ports on ip 12.12.12.12. will be used for 192.168.1.2
34000-35999 public tcp/udp ports on ip 12.12.12.12. will be used for 192.168.1.3

O problema com a sobrecarga é que você começa a limitar as conexões possíveis, porque em vez de uma combinação normal de 4 itens para identificar uma sessão (ip de origem, porta de origem, destino ip, porta de destino), você está limitado a 3. Então, quando você restringe um deles ainda mais limitando o intervalo de portas, você limita o número de sessões. Então, no meu exemplo acima, você ip 192.168.1.2 só poderia ter até 2000 conexões com qualquer ip público específico. Eu também não sei se um código de sobrecarga funciona assim, pois ele pode usar apenas a porta de origem para traduzir em vez de o ip de origem / porta de origem (falando sobre pacotes de retorno aqui) ser mais rápido.

Talvez você possa contornar isso com truques de número de sequência, mas acho que isso exigiria muito trabalho de revisão de tcp e abriria brechas de segurança. Se isso tiver sido implementado, ficarei um pouco surpreso. NAT é uma espécie de hack que eu acho para ajudar com a falta de IP. PAT / Overload é mais uma espécie de invasão, tornando-se um hack de um hack. Para começar a identificar sessões por números de seqüência, seria um hack de hack. Nesse momento, é realmente horário IPv6 já :-)

    
por 30.04.2010 / 01:55
0

Ok, então se isso é apenas para o acesso geral de saída da sua rede, tudo o que você realmente precisará é de uma caixa padrão NAT-T + DHCP. Com o DHCP, você pode fazer DHCP estático ou ter altos tempos de concessão, para que as máquinas internas mantenham o mesmo endereço. Então você sempre pode saber quem é quem.

O problema com o uso de portas no lado público para identificar máquinas internas, quando você está apenas fazendo um acesso de saída geral, é que as portas de retorno serão geradas aleatoriamente no servidor ao qual o usuário está se conectando. Portanto, não há como realmente rastrear ou adivinhar o que será.

Se você estava fazendo conexões de entrada, basta configurar o encaminhamento PAT / Port para o endereço interno escolhido, mas esse não é o caso aqui.

Quanto a soluções, praticamente qualquer coisa no mercado fará isso, você também pode configurar o IPtables + dhcpd, no Linux, ou uma solução PF + dhcpd em máquinas BSD.

    
por 30.04.2010 / 02:04

Tags