Hay muchas preguntas sobre el 'reenvío de puertos' , pero no parece haber una que indique claramente qué es y para qué se utiliza. Entonces:
¿Qué es el reenvío de puertos?
¿Para qué se utiliza y por qué lo necesitaría?
Hay muchas preguntas sobre el 'reenvío de puertos' , pero no parece haber una que indique claramente qué es y para qué se utiliza. Entonces:
¿Qué es el reenvío de puertos?
¿Para qué se utiliza y por qué lo necesitaría?
Respuestas:
Para explicar realmente el reenvío de puertos, primero debe comprender un poco más sobre lo que hace su enrutador . Su proveedor de servicios de Internet asigna una dirección IP a su conexión a Internet. Todas las computadoras en Internet necesitan una dirección IP única, pero tiene varias computadoras en su casa y solo una dirección. Entonces, ¿cómo funciona esto?
Si sabe lo que es y solo quiere saber cómo hacerlo : http://portforward.com/ tiene un tutorial con capturas de pantalla para literalmente cientos de enrutadores diferentes. La documentación está oculta detrás de una página publicitaria para su herramienta de configuración automática de puertos. (Simplemente haga clic un poco y lo encontrará).
Su enrutador doméstico 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 direcciones " privadas " o " reservadas " . La IANA asigna oficialmente estas direcciones para su uso 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 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 direcciones IP privadas no enrutables , 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 una dirección enrutable . La traducción de direcciones de red, como su nombre lo indica, se traduce entre estos dos tipos de direcciones, permitiendo que las múltiples computadoras dentro de su red aparezcan en Internet como una computadora con una sola dirección.
Aunque esto puede sonar 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 que debe enviarla al enrutador porque su parámetro de puerta de enlace predeterminada está configurado en la dirección del enrutador). El enrutador luego toma esa solicitud de conexión (una "solicitud SYN" en TCP / IP) y cambia la dirección de origen (la "respuesta" o la dirección de retorno) 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ó, para que la recuerde más tarde.
Cuando la respuesta regresa de la computadora remota (un "SYN-ACK"), el enrutador mira 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 de ida y vuelta entre las redes, con el enrutador cambiando de forma transparente las direcciones para que funcione. Cuando finaliza la conexión, el enrutador simplemente la elimina de la tabla NAT.
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. Necesitan enviar paquetes a muchos clientes en los EE. UU., Pero es más fácil por razones de aduanas / papeleo enviar paquetes solo a un lugar. Entonces, un paquete le llega 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 la dirección en la caja a la dirección de EE. UU. (Pública), y cambia la dirección de devolución a su propia dirección pública (ya que no puede devolverse directamente a China sin incomodar al cliente) y entregarla al servicio postal . Si el cliente devuelve el producto, se trata de usted. Lo buscas en tus registros y ves de qué compañía en China vino,
Esto funciona muy bien, pero hay un pequeño problema. ¿Qué sucede si un cliente necesita enviar algo a la empresa, digamos un giro postal en pago por algo? O, digamos que una computadora en Internet inicia una conexión con el enrutador (una solicitud SYN), digamos 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 en realidad no sabe dónde enviarla! podría estar destinado a cualquiera de las computadoras en la red privada, o ninguna de ellas. Es posible que haya experimentado este problema cuando llama al teléfono de la casa de alguien; cuando lo llaman no hay problema, pero cuando lo llama no hay forma de que sepa a quién llama, por lo que la persona equivocada puede responder.
Si bien es bastante fácil para los humanos resolver esto, es mucho más complicado para las computadoras, porque no todas las computadoras de su red conocen todas las demás.
El reenvío de puertos es cómo 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 de hacer esto:
Veamos un ejemplo de uso. Muchos videojuegos multijugador (por ejemplo, Counter Strike) te permiten ejecutar un servidor de juegos en tu computadora al que otras personas pueden conectarse para jugar contigo. Su computadora no conoce a todas las personas que quieren jugar, por lo que no puede conectarse a ellas; en cambio, tienen que enviar nuevas solicitudes de conexión a su computadora desde Internet.
Si no tuviera 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 de juego, por lo que simplemente las ignoraría (o, más específicamente, enviaría devuelve un paquete que indica que no se puede conectar). Afortunadamente, sabes el número de puerto que estará en las solicitudes de conexión para el servidor del juego. Entonces, en el enrutador, establece 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 externas podrán conectarse.
Otro ejemplo sería una red local con dos máquinas, donde la segunda con la IP 192.168.1.10 aloja un sitio web con Apache. Por lo tanto, el enrutador debe reenviar las solicitudes del puerto 80 entrante a esta máquina. Mediante el reenvío de puertos, ambas máquinas pueden ejecutarse en la misma red al mismo tiempo.
Los videojuegos son quizás el lugar más común en el que los usuarios de todos los días se encontrarán con 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 cuando quiera poder conectarse directamente a algo en su red (en lugar de hacerlo a través de algún intermediario en Internet). Esto puede incluir ejecutar su propio servidor web o conectarse a través de un Protocolo de escritorio remoto a una de sus computadoras.
Una de las cosas buenas de NAT es que proporciona seguridad incorporada sin esfuerzo. Mucha gente deambula por internet buscando máquinas que sean vulnerables ... y lo hacen intentando abrir conexiones con varios puertos. Estas son conexiones entrantes, por lo tanto, como se discutió anteriormente, el enrutador las desconectará. Esto significa que en una configuración NAT, solo el enrutador 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, es menos probable que sea vulnerable) que una computadora que ejecuta un sistema operativo completo con una gran cantidad de software. Debe tener en cuenta, entonces, que al DMZing una computadora dentro de su red (configurá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 tanto, debe asegurarlo como si estuviera directamente conectado. 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.