Servidor Linux a traves de router / pc

“Suponiendo esta simple estructura de una red: http://www.tuxhuellas.com/2006/02/13/linux-como-router-facil/ en la cual un ordenador con Mandriva hace de router para otras maquinas de la red (Debian en este caso)
Esquema de la red:
192.168.2.33 (eth0)
Mandriva ————————-Debian 192.168.2.20 (eth0)
192.168.1.33 (eth1)
|
|
|
|
192.168.1.1
Router

Configurada como dice el articulo (Comprobemos que tenemos internet desde debian) vamos a hacer que la maquina con debian pueda hacer de servidor (apache, mysql, ssh, dns,.. lo que queramos) y sea acesible al resto de maquinas de la red / Internet. Esto lo haremos con iptables con un simple comando que aplicara la regla, la cual explico a continuación:

iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 22 -j DNAT –to-destination 192.168.2.20

¿Que nos dice esta regla de iptables?

Para todas las operaciones de NAT, usaremos -t nat para la tabla NAT. Ya que lo queremos hacer es que Mandriva haga NAT (Lo que todos los routers hacen) que para que se entienda es que puedan salir varias maquinas de una red con una misma IP. Cambiar la dirección IP de origen o destino por otra dirección definida previamente (IP publica). Los routers sacan las peticiones al exterior con una ip asignada por el isp correspondiente, pero puede tener conectados a ese router 12 maquinas con ip internas distintas logicamente, a eso se le llama hacer NAT).

Con -A PREROUTING podremos modificar los datos destino de la conexión según nos interese y antes de tomar la deción de enrutamiento. Así podremos desviar paquetes que vayan destinados al Mandriva (router) hacia otro host (debian) y viceversa. Sólo tiene sentido en el interfaz de entrada. Esto lo vamos a llamar DNAT “destination NAT” (-j DNAT –to-destination 192.168.2.20)

Con -i eth1 le indicamos el interface del router(Mandriva) por el que entran las peticiones/conexiones a Debian

Puede especificar el destino (–to-destination) de los paquetes sobre los que quiere hacer NAT (En nuestro caso las peticiones a los puertos especificados en los que escuchan los servidores de la maquina debian). Estas opciones pueden ir seguidas por una IP sencilla (192.168.1.1), un nombre (www.tuxhuellas.com), o una dirección de red (192.168.2.0/24 o 192.168.2.0/255.255.255.0)

-p tcp –dport 22 Se le indica el protocolo usado (tcp/udp) para el puerto destino, en este caso 22 y tcp

En el router, si queremos que el servicio salga a internet, fuera de nuestra red debemos habrir los puertos en el router (22 si es ssh, el 80,.. los que se quieran) a la ip 192.168.1.33, es decir a la maquina que hace de router (Mandriva en mi caso). Con esto ya podremos ver los servidores de debian tanto en la red como en internet si se habren los puertos correspondientes

NOTA: Para los casos en que tenemos un Linux embebido en un router (fisico) como Lynksys debemos poner esta regla para que las maquinas de la red que esten conectadas al router con Linux dentro puedas hacer de servidor.

Si el núcleo tiene la implementación de iptables como módulo, necesitará cargar el módulo ip_tables.o antes: insmod ip_tables o modprobe ip_tables. Saludos

Articulo leido en Tux huellas.
Autor: Busindre

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: