Hairpinning, también conocido como 'NAT loopback' o 'NAT reflection', es un escenario de red donde un cliente intenta acceder a un servidor utilizando la dirección IP pública externa del servidor, pero ambos el cliente y el servidor residen dentro de la misma red local (LAN) y están detrás del mismo dispositivo NAT (Network Address Translation) o firewall. En lugar de que el tráfico se enrute directamente dentro de la LAN, el dispositivo NAT intercepta la solicitud saliente, la traduce a la IP pública, y luego la enruta de vuelta a la interfaz interna, traduciéndola de nuevo a la IP privada del servidor. Esto crea un 'bucle' o 'horquilla' en el flujo de tráfico.

Esta funcionalidad es comúnmente implementada en routers de consumo y dispositivos de firewall empresariales (como pfSense, OPNsense, o firewalls de Cisco/Juniper) que soportan NAT. Por ejemplo, en un entorno doméstico o de pequeña oficina, si un usuario intenta acceder a un servidor web o un NAS (Network Attached Storage) alojado internamente usando su nombre de dominio público (que resuelve a la IP pública del router), el router debe ser capaz de realizar hairpinning para que la conexión funcione. Sin hairpinning, el cliente intentaría enviar el tráfico a la IP pública, el router vería que esa IP pública le pertenece y no sabría cómo enrutarlo internamente, o simplemente descartaría el paquete.

Para un arquitecto de sistemas, el hairpinning es crucial para diseñar infraestructuras que permitan el acceso uniforme a servicios tanto desde dentro como desde fuera de la red local, utilizando la misma URL o dirección IP pública. Sin embargo, introduce una sobrecarga de rendimiento en el dispositivo NAT/firewall, ya que cada paquete debe ser procesado dos veces (salida y entrada). Puede complicar la resolución de problemas de red y la implementación de reglas de firewall, ya que el tráfico interno sigue rutas inesperadas. Los arquitectos deben considerar si el hairpinning es necesario, si el dispositivo NAT tiene la capacidad para manejar el volumen de tráfico, y si existen alternativas como el uso de DNS split-horizon (donde los clientes internos resuelven el nombre de dominio a la IP privada del servidor) para evitar la sobrecarga y simplificar el flujo de tráfico interno.