2. Interconnexió de xarxes privades
2.1. Internets, intranets i extranets
2.2. Xarxes Privades Virtuals (VPN)
2.3. Conversió d’adreces de xarxa (NAT)
2.1. Internets, intranets i extranets
()[03/12]
Debido a la necesidad
de reducir los costes en cuanto a comunicación entre sedes de empresas
e instituciones separadas geográficamente se inició el desarrollo de
las arquitecturas de red multinivel.
La
conexión de las distintas sedes suponen un problema debido al alto
coste de las lineas dedicadas necesarias. Una vez extendida la internet
global, Internet, se estudiaron las posibilidades para poder utilizarla
como si de una red privada fuese.
Los principales problemas encontrados son:
Datos planos (sin cifrar), con los problemas de seguridad que se derivan.
Direccionamiento único, con un gran coste para disponer de direcciones para todas las máquinas.
Infraestructura compartida, problemas de fiabilidad.
Para suplir esta limitaciones se han utilizado dos tecnologías:
Redes Privadas Virtuales ( VPN, Virtual Private Networks )
Conversión de direcciones de red ( NAT, Network Address Translation
Para su uso primero es necesario diferenciar entre dos tipos de comunicaciones:
Comunicaciones internas, datagramas internos
Tienen como origen y destinación la misma organización.Comunicaciones con el exterior, datagramas externos
Tienen como origen o destinación la organización, pero el otro extremo es hacia un host ajeno.
Según estos dos tipos de datagramas se pueden diferenciar las siguientes clases de redes:
internet: Cualquier red que utiliza el 'stack' TCP/IP para la comunicación.
Internet: Red internet global de comunicación por todo el mundo.
intranet: Red internet que transporta tan solo datagramas internos.
extranet: Secciones de una red intranet que mantienen conexiones con el exterior.
Redes Privadas
Características principales
- Todos los routers para realizar el encaminamiento son propios.
Lineas dedicadas exclusivas.
- No hay limitaciones en cuanto a los rangos de direcciones IP a utilizar.
Redes Privadas Híbridas
Disponen de conexión a
Internet y por ello es necesario que toda la red, o la parte que tenga
acceso, dispongan de un direccionamiento válido en Internet.
Para intentar evitar los problemas mencionados se utilizan
Redes Privadas Virtuales
2.2. Xarxes Privades Virtuals (VPN)
1. Que és un VPN?
Una VPN (Virtual Private Network) s'utilitza quan es vol interconectar nodes dispersos en diferents situacions geogràfiques per formar una sola xarxa privada util·litzant com a intereconnexió entre aquestes xarxes el propi Internet. Aquesta interconnexió s'util·litza sovint per a connectar sucursals d'una mateixa empresa que es trovin separades geogràficament.
El principal aventatge de les VPN respecte la línia dedicada és el cost. Les VPN no requereixen la instalació de noves infrestructures de cablejat entre les dues sucursals que es volen conectar. Per altra banda, el princial inconvenient que tenen respecte aquestes és la pèrdua de fiabilitat, la seguretat i tot el que va associat a compartir recursos amb altres Datagrames.
Aquesta imatge mostra de forma il·lustrativa el concepte que es vol reflexar en una VPN. Els 3 nodes estan conectats entre si formant una xarxa privada tot i que els ellaços entre ells siguin Internet.
2. Com es fa una VPN?
Per a fer una VPN entre dues màquines cal combinar dues tècniques:
Tuneling: Tècnica que consisteix en encasular datagrames dins d'altres protocols de comunicació. Un exemple d'aquesta tècnica és GRE o Ip-in Ip. La següent imatge mostra un exemple d'aquesta última en la que em posat un datagrama IP dins d'un datagrama IP. Els routers no veuen els continguts de les capceleres del datagrama que viatja a dins, només veuen les capceleres del datagrama intern:
Xifrat: Si es vol afegir un grau més de seguretat es poden util·litzar tècniques de xifrat per a codificar els datagrames interns del túneling. D'aquesta manera es pot aconseguir que protocols de comunicació que en principi viatgin en clar i per tant no tinguin seguretat, gaudeixin d'un grau de seguretat força elevat.
3. Encaminament en VPN
Per tal de que els datagrames dins d'una organització es puguin moure entre els diferents nodes o subxarxes d'aquesta cal que els routers que les conecten tinguin la informació d'encaminament adequada. Per a fer això a les taules d'enrutament afegirem un nou tipus d'entrada, l'entrada de túneling.
Aquest exemple mostra un escenari en el que hi ha 2 grups de dues xarxes conectades entre elles a traves de VPN. Com es pot veure, el Router3 i el Router4 conecten les seves xarxes respectives de la forma tradicional. Per altra banda els routers 1 i 2 conecten les seves dues xarxes respectives a través de VPN:
Un exemple de la taula d'encaminament el Router1 podria ser la següent:
4. Models de VPN
Overlay
Una xarxa Overlay és una xaraxa que ha estat construida sobre una altra xarxa de més baix nivell. Un exemple clàssic és l'exemple de TCP/IP i Ethernet. En aquest cas el protocol de comunicació universal de TCP/IP funciona sobre un altre protocol de comunicació que és Ethernet.
Fent servir aquest esquema es pot construïr una VPN en la que la capa inferiror sigui la Internet propiament i les capes superiors siguin un altre protocol de comunicació que interconecti els nodes de la nostra VPN. De fet, aquest és el cas de Ip-in-Ip on la xarxa de nivell superior és TCP/IP.
Fonts:
http://en.wikipedia.org/wiki/Overlay_network
http://es.wikipedia.org/wiki/Red_privada_virtual#Tipos_de_RPV
Apunts de l'assignatura
(DavidSánchez)[08/11]
Peer to Peer:
Un altre model de VPN és aquest peer to peer. Es com el model Overley (recordem que es un model on es tenen túnels entre els diferents fragments de la xarxa virtual, exactament de la mateixa manera en que abans es tenien línies dedicades.) amb la diferencia que aquest els routers als extrems s'intercanvien informació d'routing IP. Els protocols que es fan servir en aquest model de VPN són els protocols RIP o els OSPF
Hi han 3 tipus de models peer to peer:
Normal: En aquest model no hi ha cap restricció pels tunels de comunicació. La informació pot anar a qualsevol de les xarxes. Aquest model implica que es pugui donar el cas de tenir xarxes per on puguin passar tot el tràfic de dades.
Amb router comú: Amb aquesta configuració la informació (tràfic) no passarà per les xarxes les quals no estifuin controlades directament. Això s'aconsegueix afegint un element central (colls d'ampolla, receptors d'atacs,etc.).
Amb router dedicat: En cada xarxa hi ha un router, amb protocol BGP entre aquests, al final, es a dir, en la terminació del tunel, el qual està dedicat exclusivament a la xarxa de la que forma part.
- Problemes amb l'enfocament peer to peer:
- Hi ha alguns elements de la xarxa que no son independents.
- Hi ha d'haber una coordinació entre els espais de adreçament dels diferents fragments de la xarxa.
MPLS/VPN(?MultiProtocol Label Switching): És la solució als problemes anteriors que combina les dues aproximacions. Aquest protocol (MPLS) fa millorar el trànsit dels datagrames (desviant-los quan hi ha congestió, fallades o en base a QoS, qualitat de servei) per la xarxa basant-se en la definició de l'IETF i sobre la integració de la informació sobre els links de la xarxa en IP (dins d'un sistema Autònom).
Funcionament: Hi ha una assignació als datagrames d'unes etiquetes (labels), útils per l'encaminament, les quals contenen informació sobre la capa d'enllaç, la de xarxa i la de transport. El sistema de capes que s'ultilitzen per l'encaminament és el següent:
Protocol d'encaminament IP |
Taula d'encaminament IP |
Control d'encaminament IP de MPLS |
Taula d'encaminament per etiquetes |
Es creen VPN "virutals" sempre que s'utilitza MPLS en la creació d'aquesta ==> MPLS/VPN. Això es resultat de l'ús de taules VRF(Virtual Routing and Forwarding) que seran usades per l'encaminament en cada router.
- Els avantatges d'aquestes VPN's és que:
- Poden tenir rangs descoordinats d'adreces IP.
- VRF facilita la granulritat (un host pot estar en diferents VPN virtuals al mateix temps.
A través de MP-BGP, s'intercanvien adreces globalment úniques les quals són utilitzades com a diferenciador de 64 bits, únic en les talues VRF, que cada router té i assigna com a etiquetes de les adreces IP.
2.3. Conversió d’adreces de xarxa (NAT)
Tot i la previsible dessaparició de la tecnología NAT quan aparegui ip v6 amb adreçes de 128 bits, NAT es importantíssim per no esgotar les adreçes IP disponibles a IP v4.
La idea bàsica darrera del NAT és convertir els datagrames que surten i que entren de la xarxa privada substituint l'adreça d'origen en els datagrames que surten i la de destinació dels que entren:
- Els datagrames que surten de la xarxa cap a Internet es canvíen i es posa com a IP d'orígen la IP del host que fa NAT.
- Els datagrames que arriben cap a la xarxa privada es canvíen i es posa com a IP de destí una adreça interna.
El software de NAT ha de mantenir els canvis al llarg de les connexions per tal de que una connexió sempre arribi als mateixos dos extrems.
Amb aquests canvis, com es veuran els datagrames i la subxarxa?:
- Des d'Internet: Tots els datagrames semblen venir des del host que fa NAT. Totes les respostes aniran també cap a aquest host.
- Des de la xarxa privada: De manera transparent al seu funcionament, el host que fa NAT es veu com un router normal que connecta cap a la Internet. El funcionament de la xarxa local no es veu afectat.
Principals avantatges de NAT:
Generalitat: Pot adaptar-se a moltes situacions diferents. Qualsevol host intern podrà utilitzar qualsevol servei d'un host d'Internet, però també serveix per connectar, per exemple, xarxes sol·lapades, questiò que es dona amb freqüència a les fusions empresarials.
Transparència: Els hosts que pertanyen a la xarxa privada no han de tenir coneixement del mecanisme que s'està utilitzant. Poden utilitzar sense problemes les seves adreces internes.
NAT ofereix accés a Internet a nivell d'IP des d'una xarxa privada o altres usos, com la conexió de xarxes sol·lapaes, de manera transparent, codificant els datagrames IP de forma transparent i encarregant-se de mantenir la coheréncia en els canvis realitzats.
COM FUNCIONA NAT?
L'aspecte clau del funcionament és com pot rebre un host de la xarxa privada un datagrama que vingui d'Internet, tenint en compte que no té IP exterior pròpia, sinò que es comparteix amb els altres.
Per a fer això, NAT manté una taula de conversió que utilitzarà per a fer la correspondència.
Cada entrada a la taula conté dos elements:
- L'adreça IP del host a Internet.
- L'adreça IP del host a la xarxa privada.
Quan un datagrama arriba d'Internet es substitueix l'adreça IP de destí segons aquesta taula.
Si
la taula de NAT no conté entrades, els datagrames d'Internet no poden
arribar al destinatari correcte (el host que fa NAT no sap
re-encaminar-lo), a menys que s'estableixi un host de destí per defecte
(DMZ).
COM S'INICIALITZA LA TAULA DE NAT?
Hi ha varies possibilitats:
- Inicialització manual: L'administrador configura aquesta taula abans de que comencin les comunicacions.
- Avantatge: Les correspondències són permanents i per tant els datagrames poden ser enviats sempre en qualsevol direcció.
- Tambè es pot utilitzar per canviar les IPs s'una subxarxa i connectar subxarxes amb el mateix rang:
Subxarxa1 |
< - - - NAT - - - - - > |
Subxarxa2 |
10.0.0.1 |
- - - - NAT - - - - - - > |
10.0.1.1 |
10.0.2.1 |
< - - - NAT - - - - - - - |
10.0.0.1 |
- Per
datagrames de sortida: La taula es contrueix com a efecte dels
datagrames que s'envien. Quan el host que fa NAT rep un datagrama de la
xarxa privada crea l'entrada corresponent. Es el mes comú.
- Avantatges: És automàtic, no cal administrar-la manualment.
- Inconvenients: Les comunicacions no poden ser iniciades des d'Internet. Això es pot sol·lucionar per un host posant-lo per defecte (DMZ), però nomès un.
- Per
búsqueda de domini del host intern: La taula es contrueix com a efecte
de les búsquedes al DNS del nom del host intern. El software de DNS
crea l'entrada a la taula i després ofereix la seva adreça IP.
- Avantatges: És automàtic i permet comunicacions iniciades des d'Internet.
- Inconvenients: S'ha de modificar el software de DNS. Només funciona si l'origen fa una búsqueda del domini abans d'enviar.
El NAT que hem vist fins ara és molt simplístic: només fem una correspondència entre adreces de la xarxa privada i d'Internet (una a una).
Aquest esquema només permet l'accés a un host d'Internet com a molt des d'un host intern!!
Les implementacions que trobem de NAT són més complexes i permeten l'accés concurrent a un determinat host d'Internet.
En veiem dos enfocs diferents per solucionar això: NAT multi-adreça i NAT port-mapped.
NAT MULTI-ADREÇA
Aquest tipus de NAT manté la correspondència 1 a 1 entre adreces internes i adreces Internet, però permet accés concurrent.
En aquest esquema el host que fa NAT té k adreces globals a Internet.
Quan el primer host de la xarxa privada accedeix a un host d'Internet, el host que fa NAT tria una de les k adreces i afegeix l'entrada a la taula. Si un altre host contacta amb el mateix host d'Internet, s'utilitza una altra adreça.
Es permet fins a k hosts interns accedir a la mateixa IP.
Fonts:
http://www.ignside.net/man/redes/ipv6.php
http://antonio_gallego.tripod.com/apuntes/nat.htm
Apunts de clase
(/ DanielMartín)
NAT PORT - MAPPED (con correspondencia de puerto)
La
conversión de direcciones de red (NAT) con correspondencia de puerto es
una de las variante de NAT de enmascaramiento más popular.
Esta variante permite proporcionar concurrencia usando los puertos TCP o UDP junto con las direcciones IP. Junto a las direcciones de origen y destino se guardan los puertos de origen, destino y NAT.
Así se permite al
"cliente" acceder a estaciones de trabajo o servidores dentro de la red
que sólo concidan con la dirección IP y los números de puerto.
Este esquema suele llamarse NAPT ( Network Address Port Translation ).
Ejemplo :
IP int
Port int
IP ext
Port ext
por NAT
10.0.0.5
21023
128.10.19.4
80
14003
10.0.0.1
386
128.10.19.4
80
14010
10.0.2.6
26600
207.2.75.2
21
14012
10.0.0.3
1274
128.210.1.5
80
14007
Para cada entrada se guardaría también el protocolo usado ( UDP / TCP ).
Desde los hosts 10.0.0.5 i 10.0.0.1 se vería n las siguientes conexiones TCP:
( 10.0.0.5, 21023, 128.10.19.4, 80 ) y ( 10.0.0.1, 386, 128.10.19.4, 80 )
Desde el extremo remoto ( 128.10.19.4 ) se verían estas conexiones:
( 159.110.71.161, 14003, 128.10.19.4, 80 ) y ( 159.110.71.161, 14010, 128.10.19.4, 80 )
Siendo 159.110.71.161 la dirección IP del host que hace el NAPT.
VENTAJAS Y DESVENTAJAS DE NAPT :
Ventajas: uso de una única IP global.
Desventajas: es más restrictivo que TCP y UDP.
Este método permite a un host interno a una red privada acceder a diferentes hosts de Internet, y permite también a diferentes hosts de la red interna acceder a un mismo host de Internet, sin que existan interferencias en sus comunicaciones. Ya que el espacio disponible de puertos permite la comunicación de hasta 216parejas de aplicaciones de manera simultánea.
ALGUNAS CARACTERÍSTICAS DE NAPT :
Relación biunívoca.
La comunicación puede iniciarse tanto desde la red interna como desde la externa.
El servidor que realice la conversión NAT debe conocer la dirección IP que "oculta" la dirección IP privada del host interno.
El tráfico IP que no utilice NAT no puede utilizar la dirección IP del punto anterior. Ya que si esta dirección intentase utilizar un número de puerto coincidente con el puerto oculto de la regla de NAT, la interface quedará inutilizada.
- Los números de puerto suelen corresponderse con números de puerto conocidos públicamente, por lo que no es necesaria información adicional. Pero si se desea ocultar un número de puerto interno detrás de otro número de puerto (no usual), es necesario indicar al otro extremo de la comunicación cuál es el valor del número de puerto de destino.
MODOS DE FUNCIONAMIENTO DE NAT
Tradicional o de salida :
Los hosts de la red privada sol los inician la comunicación y el mecanismo de NAT, accediendo así a la red externa de forma transparente.
NAT bidireccional :
La comunicación puede ser iniciada tanto por los hosts internos a la red privada como por los hosts externos. Las direcciones de la red privada se asocian a direcciones globales únicas de manera estática o dinámica según se establecen las conexiones.
Doble NAT :
- Suele utilizarse cuando hay colisiones entre espacios de direccionamiento, para evitarlos son sustituídas tanto la dirección de origen como la de destino, en lugar de una sola.
NAT y ICMP
Para
mantener la transparencia del NAT hay que tener en cuenta ICMP. Por
ejemplo, cuando un host de la red privada hace un ping a un host
externo (Internet), espera que le llegue la respuesta!!
El host encargado de
hacer NAT tiene que enviar la respuesta al host que hizo la petición,
pero no tiene que enviar todo el tráfico ICMP!! ya que algunos mensajes
serán para el propio host NAT.
Antes de reenvia un
mensaje ICMP hacia un host interno, el host que hace NAT debe convertir
las direcciones del mensaje ICMP. Por ejemplo, un mensaje ICMP de "host
unreacheable" lleva la cabecera del datagrama que causó el error, con
las direcciones que el mismo host que hace NAT cambió en su momento!!
El host que hace NAT
debe determinar si el mensaje ICMP que recibe va destinado a la red
privada o no. Para ello debe abrir el mensaje ICMP, comprobar que va
destinado a la red privada, convertir las direcciones según su tabla,
recalcular los checksum y finalmente enviar el mensaje al destinatario
interno.
NAT Y LAS APLICACIONES
La
implementación de NAT no es tan fácil como pueda parecer debido a los
problemas con ICMP, particularmente los protocolos de la capa de
aplicación som los que comportan los problemas más preocupantes.
En general, "NAT no funcionará con las aplicaciones que intercambien direcciones IP o puertos como parte de los datos."
Por ejemplo, podemos
ver el caso del FTP ( File Transfer Protocol ), que envía un puerto
dentro de los datos en formato ASCII. Este puerto enviado es
imprescindible para el protocolo FTP, así que FTP no funcionará bien
con NAT.
Para solucionar este
caso, el host que hace el NAT debería abrir el flujo de datos para
poder así cambiar el puerto enviado por el puerto que realmente será
utilizado.
Como se puede ver las
aplicaciones que intercambian direcciones IP o puertos como parte de
los datos crean un grave problema al NAT, aumentando su complejidad en
dos sentidos:
Nat debería conocer el funcionamiento detallado del protocolo de cada una de estas aplicaciones para poder sustituir esas direcciones IP y puertos por los reales.
Al cambiar los datos ( puertos o direcciones IP ) se podría producir un cambio en el número de bytes a enviar ( p.e. cambiar de puerto 1203 a 28536 ). Pero el host de la red interna no sabrá que ha habido un cambio en el número de bytes y utilizará los número de secuencia originales!! Para que esto no sucediera NAT debería convertir también, durante toda la conexión, los números de secuencia en todos los segmentos de salida y confirmación que se enviasen!!
Éstas
aplicaciones no pueden usar NAT. Aún así, algunas implementaciones de
NAT reconocen algunos de los protocolos más extendidos, como FTP, y
hacen las conversiones necesarias.
NAT MULTI-NIVEL
Hasta
ahora hemos visto como con NAT se puede conectar una red priva a
Internet, pero NAT se puede utilizar para interconectar dos espacios de
direccionamiento cualquiera, como podrían ser dos redes privadas, por
ejemplo.
Nat suele combinarse
con VPN para crear una arquitectura híbrida con direcciones privadas
són usadas dentro de una empresa u organización y para el acceso a
Internet a través de un host NAT.
NAT puede ser usado en múltiples niveles, permitiéndo así una estructura jerárquica.
Ejemplo de NAT a dos niveles:
Fuentes y más información:
http://publib.boulder.ibm.com/infocenter/iseries/v5r4/index.jsp?topic=/rzajb/rzajbrzajb4dportnat.htm
http://ws.edu.isoc.org/workshops/2004/CEDIA/presentaciones/cv/nat/Conceptos-NAT.pdf
http://www.rfc-es.org/rfc/rfc2663-es.txthttp
http://www.monografias.com/trabajos20/traductor-nat/traductor-nat.shtml
Apuntes de clase
IMPLEMENTACIONES DE NAT
En
este punto comentaremos las dos implementaciones de NAT más famosas (o
que más se usan). Esto es debido a que son las que implementan dos de
los sistemas operativos libres más usados; BSD y Linux. Estas dos
implementaciones son SLIRP y Linux Masquerade, SNAT i DNAT
SLIRP:
Esta implementación se originó en el sistema operativo BSD 4.4 y fue diseñada para dar acceso a Internet a los hosts por medio de módem. Funciona como un servidor intermedio, que se encarga de dirigir el tráfico, pero de manera transparente, de modo que el emisor no conoce su dirección real. Podríamos decir que sería un esquema tipo Router, en donde se usaría NAPT para identificar a los hosts que están detrás a partir de los puertos a los que se conecta el servidor SLIRP y usaríamos PPP para encaminar las tramas IP de estos hosts.
Linux Masquerade:
Como su propio nombre indica, esta implementación es propia de Linux. Aquí se pretende dar acceso a Internet a todas las máquinas de una red sin dicho acceso. Estas máquinas se conectan a otra que si que dispone de acceso a Internet y, de manera transparente, consiguen salir al exterior. Así, si tenemos una máquina con acceso a Internet y tres más que no lo tienen, estas últimas pueden tener acceso a través de la que si lo tiene, siempre que esta última active la opción Masquerade. Este proceso tiene que usar NAT para poder aplicar un cambio de IP desde el host de origen de la conexión (sin acceso directo a Internet) hacia la Internet. Se suele usar cuando las direcciones de los hosts que se quieren conectar a Internet son de tipo dinámicas.
A continuación mostramos un ejemplo de una orden en Linux para poder aplicar MASQUERADE:[[BR]]
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
SNAT (Soure NAT):
El router modificará las direcciones de origen. Es decir, enmascaramos los hosts de origen a los hosts externos a la red. Pongamos un ejemplo para verlo más claro. Si tenemos una red interna con direcciones 192.168.1.0/32 conectada a un router con dirección interna 192.168.1.100 y dirección externa 175.77..33.34 y uno de los hosts internos inicia la comunicación con una máquina externa a la red, esta verá que la comunicación se ha iniciado desde la dirección 175.77.33.34 y no desde una máquina de la red 192.168.1.0/32. Se suele usar cuando las direcciones de los hosts que se quieren conectar a Internet son de tipo estáticas.
A continuación mostramos un ejemplo de una orden en Linux para poder aplicar un SNAT:[[BR]]
iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to 195.75.50.1 -192.168.99.1
DNAT (Destiantion NAT):
Se aplica cuando una máquina externa a nuestra red se quiere conectar con un host interno, sin dirección IP pública. Lo que se hace es el proceso inverso al SNAT. Se ha de tener una tabla con la dirección interna del host más un puerto (para poder saber a que maquina se quiere conectar) y este último ha de ser único para cada máquina de la red, ya que sino no sabríamos a que máquina se desea conectar.
A continuación mostramos un ejemplo de una orden en Linux para poder aplicar un DNAT:[[BR]]
iptables -t nat -A PREROUTING -i eth1 -j DNAT --to 192.168.99.1 -195.75.50.1
Resumiendo: Podríamos decir que NAT nos aporta muchas ventajas con todas estas implementaciones. Una de ellas que deriva directamente es la de protección de las redes frente a ataques externos, ya que las máquinas internas no son accesibles directamente desde fuera. Así podríamos entender el NAT como un filtro que solo permite las comunicaciones en un sentido y que no deja que un posible ataque se realice a una máquina concreta de nuestra red interna.
Hasta ahora solo hemos hablado de las ventajas que NAT nos ofrece, pero también tiene un lado negativo, que son los inconvenientes que explicaremos a continuación.
PROBLEMAS CON NAT
A continuación se citan los problemas más habituales que encontraremos al trabajar con NAT:
Aplicaciones p2p:
En este tipo de aplicaciones no interviene ningún servidor, con lo que la comunicación es directa entre los hosts (peer to peer). Esto nos aportará un problema cuando varios hosts de la misma red interna intenten acceder a un host externo mediante este tipo de aplicaciones. ¿Cómo podrá diferenciar el host externo a los internos si están en la misma red (para él serán la misma dirección!? Una posible solución a este problema es mantener una tabla en donde se identifique cada host interno con un puerto, y la comunicación se realice por ese puerto único a cada host.
Datagramas fragmentados:
¿Qué sucede si dos hosts de la misma red interna tienen tráfico con un mismo host externo y ambas comunicaciones se tratan con el mismo IPID? Pues que el host externo no sabrá de quien le llegan los paquetes porque no tendrá forma de distinguirlos.
Aplicaciones con IP o puertos en payload cifrado:
Este tipo de aplicaciones no podrá usar NAT ya que en la comunicación cifrada se intercambian datos de direccionamiento, y estos cambian. Existen varias excepciones que se dan cuando el Router conoce el tipo de aplicación y puede cifrarla (como por ejemplo en protocolo FTP).
Conexiones seguras a redes privadas:
En el caso en que varios hosts de la misma red interna intenten acceder a través de un protocolo seguro (por ejemplo SSH) a una máquina externa, la comunicación podría fallar ya que este última máquina vería ambas conexiones con el mismo origen, y lo podría interpretar como un intento de ataque.
Datagramas IPsec AH, ESP:
Debido a la naturaleza de este estándar, que detecta modificaciones en las cabeceras IP, NAT no es compatible con el, ya que lo que hace es precisamente modificar las cabeceras IP.
Protocolo SNMP:
Este protocolo usa direcciones IP en el payload, con lo que tendríamos el mismo problema que en el caso anteriormente descrito.
Detección de errores:
Debido a que NAT oculta las máquinas que hay detrás de la que tiene acceso, podemos tener serios problemas a la hora de configurar o reparar posibles problemas de comunicación. De igual modo, en el caso de detectar tráfico no deseado desde un host y querer banearlo, corremos el riesgo de banear muchas mas comunicaciones al mismo tiempo.
Abusos de Internet:
Debido al ocultamiento que permite NAT, detectar el origen de un ataque o de un generador de SPAM resulta altamente complicado.
Complejidad en el reenvío:
- Como ahora se ha de gestionar quien es el host que, a través de NAT, ha efectuado la comunicación, la complejidad en los reenvíos aumenta considerablemente pudiendo llegar a ocasionar un cuello de botella.