miércoles, 25 de mayo de 2011

ENRUTAMIENTO EN centOS

Una de las posibilidades que nos ofrece Centos es la de poder actuar como enrutador, es decir, decidir la ruta de los paquetes que reciba por cualquiera de sus interfaces de red. En este manual veremos un ejemplo de configuración básica fácilmente.

Arquitectura de red
-Supongamos el siguiente caso: disponemos de un servidor en sistema operativo Centos o Redhat ejecutándose sobre una maquina virtual con dos tarjetas de red, que deseamos que actué como router uniendo a una red.

Posteriormente tendríamos que configurar el filtrado para que acepte el re-direccionamiento de paquetes desde dentro hacia fuera de nuestra red y mediante a NAT permita que los PCs de la red interna naveguen con la dirección ip 'Publica' del servidor. E router Centos tiene una tarjeta (eth0) dinámico y por otro lado tenemos otra tarjeta (eth1) configurada con la ip 192.68.1.1/24 conecta a un switch para dar servicio a nuestra red interna que utiliza el rango 192.168.1.0/24.
  • Deberemos permitir que la la subred  192.168.1.0 pueda salir a  Internet. Pasando por el router. Estonces en la maquina de sistema operativo Centos  tenemos dos tarjetas de red  adaptador1 (eth0) esta es la que da salida a Internet adaptador2 (eth1) sera la red interna.




  • En la maquina router ponemos la dirección ip como puerta de enlace en la eth1 en la siguiente ruta:





  • A hora mostraremos como están las tarjetas configuradas
  • En el cliente XP ponemos una dirección de mismo rango.

  • Para activar el enrutamiento en un sistema operativo como centos, solo es necesario poner "1" la variable ip_forwarder del sistema, es decir, basta con ejecutar solo desde la consola de root:
  • //activar el enrutamiento en un sistema linux
  • #echo "1" >/proc/sys/net/ipv4/ip_forwader
  • Router Centos
    Tendriamos que indicar que se acepten todos los paquetes que son para reenviar, aquellos que lleguen a nuestra maquina pero que no es ella la destinataria. Tendríamos que aceptar los paquetes de tipo FORWARD, como veremos a continuacion. Por otro lado, tendiramos que indicar que los paquetes que llegan desde nuestra red interna (192.168.1.0/24) y que salgan por la interfaz eth0 hacia el router (eth0), despúes de enrutarlos en nuestra maquina (POSTROUTING), debemos enmascararlos (MASQUERADE), es decir, hacer NAT. Los comandos a ejecutar serian:

    //haciendo NAT en el servidor


    #iptables -A FORWARD -j ACCEPT

    #iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
  • O podriamos realizar un pequeño ecript que activara el enrutamiento y el NAT y otro para desactivarlo:
////activar-enrutamiento.sh



////desactivar-enrutamiento.sh

  • Nuestro servidor se convertiría en un router. Si todas las comunicaciones de la red pasan por la nuestro servidor, podremos tenerlas controladas, como veremos en las siguientes secciones.Crear y eliminar rutas fijas
  • Cuando activamos el enrutamiento en centos, nuestra maquina se convierte en un router automatico, de forma que todo lo que entre por la interfaz eth1 con destino a una red diferente de la definida en eth1, lo reenviara por la interfaz eth0 y de igual forma, todo lo que entre por la interfaz eth0 con destino a una red diferente de la definida en eth0, lo reenviara por la interfaz eth1. ES el funcionamiento normal de un router, enrutar todo.
  • Lo normal es que la interfaz eth0 tenga una ip dinámica en conexion a Internet, pero la interfaz eth1 deberá tener configurada la puerta de enlace, para que exista una salida a Internet
  • Podemos crear una ruta para una ip concreta para que salga cierto PC

# route add 192.168.1.10 eth0

En lugar de una ip concreta, quizás nos interese crear una ruta para toda una red. Teniendo en cuenta que la red es la 192.168.1.0/24, el comando a ejecutar seria:

//crear una ruta para una red concreta

  • Si queremos eliminar una ruta, utilizaremos el parámetro 'del' seguido de la ip o la red destinataria. Ejecutaríamos el siguiente comando:
///eliminar una ruta
  • Si queremos ver la configuración de la tabla de rutas, debemos ejecutar el comando route sin parámetros:
  • Si hacemos ping desde el cliente XP a su puerta de enlace (gateway) osea el router
  • si le hacemos un ping a www.google.com
  • a hora comprobamos que no haya salida a Internet
  • La maquina no puede resolver nombre. Una solución seria ir instalar un servidor DNS en nuestra red interna en caso de que tengamos mas servicio instalados.Pero si no es asi podemos ponerle a cliente una dirección de DNS publico en este caso pusimos una de los DNS de google.com
  • a hora volvemos hacerle ping a google
  • como podemos ver  ya tenemos conexión a internet

No hay comentarios:

Publicar un comentario