Disculpas de antemano por la pregunta relativamente nueva y si esto está fuera de tema aquí (no estoy seguro ...)
La situación es que tengo un cliente UDP y un servidor vinculado al mismo puerto.
Entiendo que NAT es que los paquetes UDP que salen del cliente a un punto final específico darán como resultado una entrada temporal en la tabla NAT que asigna el puerto de origen al punto final de destino. (¿Es esto correcto?)
¿Esto también significa que si un punto final aún desconocido inicia una comunicación UDP con mi servidor a ese mismo puerto por el que pasará el paquete UDP? ¿Hay alguna razón por la cual NAT evitaría esto? ¿NAT incluso figura en bloquear / permitir estos paquetes entrantes?
Respuestas:
El NAT habitual funciona mediante la creación de asignaciones para cada par de hosts en comunicación como una tupla de 5 (protocolo, dirección interna, puerto interno, dirección externa, puerto externo). Normalmente esta entrada se agrega a la tabla por el primer paquete saliente.
Si el host externo aún desconocido aún envía un paquete UDP, no habrá entrada en la tabla y, por lo tanto, el dispositivo NAT normalmente lo descartará, dependiendo de sus capacidades y configuración.
Este tipo de NAT normalmente se denomina "sobrecarga de NAT" o "traducción de dirección de puerto" para distinguirlo de otras variedades. Una buena descripción es http://www.ciscozine.com/nat-and-pat-a-complete-explanation/
Si desea aceptar paquetes entrantes en su servidor, necesitará configurar una entrada estática en el dispositivo NAT para ese servidor en ese puerto. Efectivamente, esto dice que los paquetes entrantes pueden agregar entradas a la tabla NAT.
Los detalles dependen del dispositivo y el software.
fuente
Como señala jonathanjo, una entrada de tabla UDP NAPT consistirá en algo más que un número de puerto UDP (con NAPT, hay tablas separadas para UDP, TCP e ICMP, y el puerto UDP 12345 es diferente del puerto TCP 12345, mientras que ICMP no no use puertos, pero use una ID de consulta en lugar del número de puerto).
Sin la dirección IP externa específica en una entrada de la tabla NAPT, el dispositivo NAPT asumirá que el paquete está destinado a sí mismo porque es el dispositivo que realmente se direcciona con la dirección IP entrante. Si el dispositivo NAPT, en sí mismo, no tiene el puerto UDP abierto, debería descartar el paquete, pero eso depende realmente del sistema operativo del dispositivo NAPT y de cómo está configurado.
Esta es una gran razón por la que NAPT no es seguridad. Realmente también necesitas un firewall. El firewall de manera predeterminada bloqueará todas las conexiones originadas en el exterior, protegiendo el dispositivo NAPT. Si el dispositivo NAPT se ve comprometido, tiene acceso total a la red interna, y un atacante tiene acceso completo a la red interna, incluso si se trata de una red privada.
fuente