Pregunta ¿Qué es el reenvío de puertos y para qué se utiliza?


Hay muchas preguntas sobre 'reenvío de puertos' pero no parece haber una que indique claramente qué es y para qué se usa. Asi que:

  1. ¿Qué es el reenvío de puertos?

  2. ¿Para qué se usa y por qué lo necesitaría?


191


origen


Creo que esto es suficiente: portforward.com/help/portforwarding.htm - Koray Tugay


Respuestas:


Los basicos

Para explicar realmente el reenvío de puertos, primero debe comprender un poco más acerca de lo que router hace. Su proveedor de servicios de Internet asigna uno Dirección IP a su conexión a internet Todas las computadoras en Internet necesitan una dirección IP única, pero usted tiene varias computadoras en su casa y solo una dirección. Entonces, ¿cómo funciona esto?

Si sabes de qué se trata y solo quieres saber cómo hacerlo: http://portforward.com/ tiene un tutorial con capturas de pantalla para literalmente cientos de enrutadores diferentes. La documentación está escondida detrás de una página publicitaria para su herramienta portconfig automática. (Simplemente haga clic un poco y lo encontrará).

NAT - ¿Qué es? ¿Por qué lo usamos?

El enrutador de su hogar tiene una función llamada Traducción de direcciones de red, o NAT, integrada. Dentro de su red, las computadoras tienen direcciones como 192.168.1.100. Todas las direcciones en el rango 192.168. * (O en el rango 10. *) son "privado" o "reservado" direcciones. Estas direcciones son asignadas oficialmente por IANA para ser utilizadas dentro de redes privadas. Su enrutador asigna automáticamente dicha dirección a cada computadora conectada a través de DHCP. Estas direcciones son cómo las computadoras en su red se comunican con el enrutador y entre sí.

Su enrutador tiene una interfaz de red separada que lo conecta a Internet. Esta interfaz tiene una dirección muy diferente que es asignada por su ISP. Esta es la única dirección que mencioné antes, y su enrutador la usa para comunicarse con otras computadoras en Internet. Las computadoras dentro de su red tienen no enrutable direcciones IP privadas, lo que significa que si envían paquetes directamente a Internet, los paquetes se descartarán automáticamente (los paquetes con direcciones privadas no pueden atravesar Internet por razones de estabilidad). Pero su enrutador tiene enrutable dirección. Traducción de direcciones de red, como su nombre indica, traduce entre estos dos tipos de direcciones, permitiendo que las múltiples computadoras dentro de su red aparezcan en Internet como una sola computadora con una sola dirección.

Los detalles

Aunque esto puede parecer complicado, en realidad es bastante simple cómo lo hace su enrutador. Cada vez que una computadora dentro de su red desea conectarse a una computadora en Internet, envía la solicitud de conexión al enrutador (sabe enviarlo al enrutador porque es Puerta de enlace predeterminada parámetro se establece en la dirección del enrutador). El enrutador toma entonces esa solicitud de conexión (una "solicitud SYN" en TCP / IP) y cambia la dirección de origen (la dirección de respuesta o devolución) y la cambia de la IP privada de la computadora a la IP pública del enrutador, para que la respuesta se envíe al enrutador. Luego toma nota en una base de datos (llamada Tabla NAT) que la conexión se inició, por lo que se recuerda más tarde.

Cuando la respuesta regresa de la computadora remota (un "SYN-ACK"), el enrutador busca en su tabla NAT y ve que una conexión a ese host en ese puerto fue iniciada previamente por una computadora privada en su red, cambia el destino dirección a la dirección privada de la computadora, y la reenvía dentro de su red. De esta forma, los paquetes pueden continuar en tránsito entre redes, con el enrutador cambiando las direcciones de forma transparente para que funcione. Cuando la conexión finaliza, el enrutador simplemente la elimina de la tabla NAT.

O piénsalo de esta manera

Esto podría ser un poco más fácil de visualizar con una metáfora, digamos que usted es un agente de carga en los Estados Unidos que trabaja con clientes chinos. Deben enviar paquetes a muchos clientes en los EE. UU., Pero es más fácil por motivos de aduana / documentación enviar solo paquetes a un solo lugar. Entonces, un paquete viene de uno de sus clientes en China (la red privada, en este ejemplo) con un destino real en algún lugar de los EE. UU. (Internet). Cambia la etiqueta de dirección en la casilla a la dirección estadounidense (pública), y cambia la dirección de devolución a su propia dirección pública (ya que no se puede devolver directamente a China sin molestar al cliente) y se la entrega al servicio postal . Si el cliente devuelve el producto, se trata de usted. Lo busca en sus registros y ve de qué compañía proviene China, y cambia el destino a esa compañía (su dirección privada) y la dirección de retorno a su dirección privada, para que puedan enviar un reemplazo a través de usted.

Esto funciona genial, pero hay un pequeño problema. ¿Qué pasa si un cliente necesita enviar algo a la empresa, digamos un giro postal en pago por algo? O bien, digamos que una computadora en Internet inicia una conexión con el enrutador (una solicitud SYN), por ejemplo, a un servidor web que está en la red. La carta / paquete solo tiene la dirección pública del enrutador, por lo que el enrutador no sabe dónde enviarlo. podría estar destinado a cualquiera de las computadoras en la red privada, o para ninguna de ellas. Es posible que haya experimentado este problema cuando llama al teléfono de la casa de alguien, cuando lo llaman no es un problema, pero cuando los llama no hay forma de que ellos sepan quién llama, para que la persona equivocada responda.

Si bien es bastante fácil para los humanos resolver esto, es mucho más complicado para las computadoras, porque no todas las computadoras en su red conocen todas las otras computadoras.

Y finalmente llegamos a Port Forwarding

Port Forwarding es la forma en que solucionamos este problema: es una forma de decirle a su enrutador a qué computadora dentro de la red deben dirigirse las conexiones entrantes. Tenemos tres formas diferentes en que podemos hacer esto:

  • Faux-DMZ: muchos enrutadores tienen una función llamada DMZ. Esto significa Zona Desmilitarizada, que es un tipo de configuración de seguridad de red. La DMZ en los enrutadores domésticos a menudo se denomina falsa DMZ porque carece de las características de una DMZ real. Lo que hace es el tipo más simple de manejo de conexión entrante: todas las solicitudes de conexión entrantes se enviarán a una especificada dentro de su red. Es muy simple: escribe una dirección IP en la configuración de su enrutador y todas las conexiones entrantes van allí. Sin embargo, esto no siempre funciona porque es posible que tenga varias computadoras que necesiten aceptar conexiones entrantes. Para eso, tenemos ...
  • Reenvío de puertos: todas las solicitudes de conexión de red incluyen un "puerto". El puerto es solo un número, y es parte de cómo una computadora sabe cuál es el paquete. IANA ha especificado que el puerto 80 se usa para HTTP. Esto significa que un paquete entrante que dice número de puerto 80 debe ser una solicitud destinada a un servidor web. El reenvío de puertos en su enrutador le permite ingresar un número de puerto (o posiblemente un rango o combinación de números, según el enrutador) y una dirección IP. Todas las conexiones entrantes con un número de puerto coincidente se reenviarán a la computadora interna con esa dirección.
  • El puerto UPnP se reenvía: el reenvío UPnP funciona exactamente de la misma manera que el reenvío de puertos, pero en lugar de configurarlo, el software en una computadora dentro de la red configura automáticamente el enrutador para reenviar el tráfico en un puerto determinado.


Un ejemplo

Veamos un ejemplo de uso. Muchos videojuegos multijugador (por ejemplo, Counter Strike) le permiten ejecutar un servidor de juegos en su computadora al que otras personas pueden conectarse para jugar con usted. Su computadora no conoce a todas las personas que quieren jugar, por lo que no se puede conectar a ellos; en su lugar, tienen que enviar nuevas solicitudes de conexión a su computadora desde Internet.

Si no tenía nada configurado en el enrutador, recibiría estas solicitudes de conexión pero no sabría qué computadora dentro de la red tenía el servidor del juego, por lo que simplemente las ignoraría (o, más específicamente, enviaría respalda un paquete que indica que no se puede conectar). Afortunadamente, usted sabe el número de puerto que estará en las solicitudes de conexión para el servidor del juego. Por lo tanto, en el enrutador, configura un puerto hacia adelante con el número de puerto que espera el servidor del juego (por ejemplo, 27015) y la dirección IP de la computadora con el servidor del juego (por ejemplo, 192.168.1.105).
El enrutador sabrá reenviar las solicitudes de conexión entrantes a 192.168.1.105 dentro de la red, y las computadoras de afuera podrán conectarse.

Otro ejemplo sería una red local con dos máquinas, donde la segunda con IP 192.168.1.10 aloja un sitio web usando Apache. Por lo tanto, el enrutador debe reenviar las solicitudes del puerto 80 entrante a esta máquina. Al usar el reenvío de puertos, ambas máquinas pueden ejecutarse en la misma red al mismo tiempo.

Port Forwarding Example

Los videojuegos son quizás el lugar más común donde los usuarios habituales encontrarán el reenvío de puertos, aunque la mayoría de los juegos modernos usan UPnP para que no tenga que hacerlo manualmente (en cambio, es completamente automático). Sin embargo, deberá hacer esto siempre que desee poder conectarse directamente a algo en su red (en lugar de hacerlo a través de un intermediario en Internet). Esto puede incluir ejecutar su propio servidor web o conectarse a través de Remote Desktop Protocol a una de sus computadoras.

Una nota sobre seguridad

Una de las cosas buenas de NAT es que brinda cierta seguridad incorporada sin esfuerzo. Mucha gente deambula por Internet en busca de máquinas que son vulnerables ... y lo hacen al intentar abrir conexiones con varios puertos. Estas son conexiones entrantes, por lo tanto, como se mencionó anteriormente, el enrutador las eliminará. Esto significa que en una configuración de NAT, solo el enrutador en sí mismo es vulnerable a los ataques que involucran conexiones entrantes. Esto es algo bueno, porque el enrutador es mucho más simple (y por lo tanto, menos vulnerable) que una computadora que ejecuta un sistema operativo completo con una gran cantidad de software. Debe tener en cuenta, entonces, que al deshabilitar una computadora dentro de su red (estableciéndola como el destino DMZ) pierde esa capa de seguridad para esa computadora: ahora está completamente abierta a las conexiones entrantes de Internet, por lo que necesita asegúrelo como si estuviera conectado directamente. Por supuesto, cada vez que reenvía un puerto, la computadora en el extremo receptor se vuelve vulnerable en ese puerto específico. Por lo tanto, asegúrese de ejecutar un software actualizado que esté bien configurado.


282



+1. Muchas gracias por un curso tan corto. Saludos, - Xavierjazz
¡Ahora agreguemos algunos gráficos! - slhck
Buenos gráficos Buen trabajo, slhck. - jcrawfordor
Lo mencionaste brevemente, pero es posible que desees exponer la importancia de los usos al estilo DMZ del reenvío de puertos. No puedo pensar en una sola instancia en la que sería una buena idea, en un entorno de producción, exponer algo como un servidor sql (o lo que sea) al mundo exterior. El reenvío de puertos puede permitir acceder a los recursos protegidos sin comprometer seriamente la seguridad. - Brian Vandenberg
Un detalle no ampliado en la sección NAT es el hecho de que si las computadoras en su red usan DHCP para obtener sus direcciones IP privadas no enrutables internas, es posible que la que se les asignó varíe y si eso sucede, el reenvío de puertos se realizará. desordenarse. Lo mejor es evitar eso configurando el direccionamiento de red de cada computadora manualmente. portforward.com enfatiza la importancia de esto y tiene una guía que describe cómo configurar una dirección IP estática en un sistema, sin embargo, no mencionan la necesidad de configurar también el DHCP del enrutador para evitar estas direcciones NAT ahora reservadas. - martineau