Entradas populares

martes, 22 de marzo de 2011

Protocolo de Enrutamiento Estático

Los routers pueden propagar la información de las rutas disponibles hacia otras redes, esta tarea puede ser configurada manualmente por el administrador de la red detallando las redes que desea alcanzar. Este es el tipo de enrutamiento estático.

El enrutamiento estático se puede implementar en redes pequeñas porque el proceso de configuración suele ser fácil, pero a medida que las redes crecen se vuelve complicado mantener la tabla de enrutamiento. Una desventaja de este tipo de enrutamiento es que si las redes cambian, entonces la información en la tabla de enrutamiento del router queda desactualizada.

El protocolo de enrutamiento estático se deben usarse en los siguientes casos:

Una red está compuesta por unos pocos routers solamente. En tal caso, el uso de un protocolo de enrutamiento dinámico no representa ningún beneficio sustancial. Por el contrario, el enrutamiento dinámico agrega más sobrecarga administrativa.

Una red se conecta a Internet solamente a través de un único ISP. No es necesario usar un protocolo de enrutamiento dinámico a través de este enlace porque el ISP representa el único punto de salida hacia Internet.

Una red extensa está configurada con una topología hub-and-spoke. Una topología hub-and-spoke comprende una ubicación central (el hub) y múltiples ubicaciones de sucursales (spokes), donde cada spoke tiene solamente una conexión al hub. El uso del enrutamiento dinámico sería innecesario porque cada sucursal tiene una única ruta hacia un destino determinado, a través de la ubicación central.

Para crear una ruta estática, es en modo configuración global, y el comando IOS es el siguiente

ip route [ip red destino][mascara de subred][ip siguiente salto]

ejemplo:

router(config)#ip route 200.0.0.0 255.255.255.0 130.0.0.2

o también puede ser;

ip route [ip red destino][mascara de subred][interfaz de salida]

ejemplo: 

router(config)#ip route 200.0.0.0 255.255.255.0 s0/2

Rutas Estaticas por Defecto
Las rutas estáticas por defecto, son una ruta estática especial, se crean para enrutar el trafico de internet, ya que es imposible crear rutas a hacia las redes que estan en internet.

¿Y cómo funcionan?
Cualquier ip de una red destino que el router no tenga ninguna coincidencia en su tabla de enrutamiento, este ocupará la ruta por defecto y mandara el paquete hacia donde se le indicó en esta. Las rutas estáticas por defecto también se crean en modo configuración Global.

La estructura es la siguiente:

ip route 0.0.0.0 0.0.0.0 [ip interfaz siguiente salto]

Ejemplo:

router(config)#ip route 0.0.0.0 0.0.0.0 120.0.0.2

o tambien puede ser;

ip route 0.0.0.0 0.0.0.0 [interfaz de salida]

Ejemplo: 

router(config)#ip route 0.0.0.0 0.0.0.0 s0/1

En el siguiente ejemplo daremos los pasos para configurar rutas estáticas en el router, tomando como base el diseño de la red que se muestra en la topología de la siguiente figura:


Topología a utilizar para enrutamiento estático

Ahora vamos a configurar básicamente, y más abajo será la configuración de rutas estáticas de cada uno de esos Routers Tumbes, Lima y Tacna:

Configuración básica Router Tumbes:

Router>enable 
Router#configure terminal 
Router(config)#hostname TUMBES
TUMBES(config)#interface fastEthernet 0/0
TUMBES(config-if)#ip address 172.16.0.1 255.255.0.0
TUMBES(config-if)#no shutdown 
TUMBES(config-if)#exit
TUMBES(config)#interface serial 0/0/0
TUMBES(config-if)#ip address 200.100.100.1 255.255.255.0
TUMBES(config-if)#clock rate 64000
TUMBES(config-if)#no shutdown 
TUMBES(config-if)#end
TUMBES#copy running-config startup-config 
TUMBES#exit

Configuración básica Router LIMA

Router>enable 
Router#configure terminal 
Router(config)#hostname LIMA
LIMA(config)#interface fastEthernet 0/0
LIMA(config-if)#ip address 120.0.0.1 255.0.0.0
LIMA(config-if)#no shutdown 
LIMA(config-if)#exit
LIMA(config)#interface serial 0/0/0
LIMA(config-if)#ip address 200.0.10.1 255.255.255.0
LIMA(config-if)#clock rate 64000
LIMA(config-if)#no shutdown 
LIMA(config-if)#exit
LIMA(config)#interface serial 0/0/1
LIMA(config-if)#ip address 200.100.100.2 255.255.255.0
LIMA(config-if)#no shutdown 
LIMA(config-if)#end
LIMA#copy running-config startup-config 
LIMA#exit

Configuración básica Router TACNA

Router>enable 
Router#configure terminal 
Router(config)#hostname TACNA
TACNA(config)#interface fastEthernet 0/0
TACNA(config-if)#ip address 190.60.0.1 255.255.0.0
TACNA(config-if)#no shutdown 
TACNA(config-if)#exit
TACNA(config)#interface serial 0/0/1
TACNA(config-if)#ip address 200.0.10.2 255.255.255.0
TACNA(config-if)#no shutdown 
TACNA(config-if)#end
TACNA#copy running-config startup-config 
TACNA#exit

Viste lo que hemos configurado básicamente (nombre, interface, etc), no es tan difícil, ese es el inicio del estudio de la configuración de router con comandos de Cisco IOS.

Bueno el siguiente explicación, se tratara acerca de configuración estática de la topología que les mostré en la figura de arriba.


Configuración estática Router TUMBES:

En este router voy a aplicar una ruta estática por defecto (ruta predeterminada), ya que siempre los paquetes van a tener una salida que es el router LIMA, por lo tanto , cualquiera que sea la ip de la red destino esta ruta por defecto la enviara hacia dicho router, bien vamos con la configuración.

TUMBES>enable
TUMBES#configure terminal
TUMBES(config)#ip route 0.0.0.0 0.0.0.0 200.100.100.2

Aqui ya he creado la ruta por defecto, en mi caso estoy acostumbrado a ocupar la ip del salto siguiente (200.100.100.2), pero también en vez de esa ip podría haber ido ahi la interfaz local del router TUMBES en este caso la serial serial0/0/0. Si vemos la tabla de enrutamiento del router TUMBES, con el comando show ip route veremos lo siguiente:

TUMBES>enable
TUMBES#show ip route 
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is 200.100.100.2 to network 0.0.0.0

C    172.16.0.0/16 is directly connected, FastEthernet0/0
C    200.100.100.0/24 is directly connected, Serial0/0/0
S*   0.0.0.0/0 [1/0] via 200.100.100.2

Las rutas que tienen una “C”, son las interfaces directamente conectadas al router, y la “S*”, indica que es una ruta estática por defecto, que es la ruta que creamos, por lo tanto cualquier paquete hacía una IP destino que el router no tenga en esta tabla de enrutamiento, lo enviara hacía la interfaz 200.100.100.2.


Configuración estática Router LIMA:

Este router tendrá que tener una ruta estática para saber llegar tanto a la LAN de router TUMBES como la de TACNA.

Vamos a crear la configuración:

LIMA>enable 
LIMA#configure terminal 
LIMA(config)#ip route 172.16.0.0 255.255.0.0 200.100.100.1
LIMA(config)#ip route 190.60.0.0 255.255.0.0 200.0.10.2

He creado las 2 rutas estáticas:

La primera es para llegar a la LAN  del router TUMBES (IP 172.16.0.0/16), que saldrá por la IP de la interfaz del salto siguiente osea 200.100.100.1 (Teniendo en cuenta que estamos parados en el router LIMA).

La segunda es para llegar a la LAN  del router TACNA (IP 190.60.0.0/16), que saldrá por la ip de la interfaz del salto siguiente osea 220.0.10.1 (Teniendo en cuenta que estamos parados en el router LIMA).

Si aplicamos el comando show ip route en modo de privilegio.  veremos:

LIMA>enable 
LIMA#show ip route 
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is not set

C    120.0.0.0/8 is directly connected, FastEthernet0/0
S    172.16.0.0/16 [1/0] via 200.100.100.1
S    190.60.0.0/16 [1/0] via 200.0.10.2
C    200.0.10.0/24 is directly connected, Serial0/0/0
C    200.100.100.0/24 is directly connected, Serial0/0/1

Vemos la IP de la 3 interfaces conectadas directamente, y también las rutas estáticas creadas para que el router LIMA “sepa”  llegar a las Lan de TUMBES y TACNA.


Configuración estática Router TACNA:

Por último nos queda configurar el router TACNA, que es el mismo caso del router TUMBES, osea una ruta por defecto, ya que siempre va a tener como salida el router LIMA, por lo tanto con la ruta por defecto le decimos que cualquier IP que no conozca la envíe hacia el router LIMA.

La configuración sería:

TACNA>enable 
TACNA#configure terminal 
TACNA(config)#ip route 0.0.0.0 0.0.0.0 200.0.10.1

Y para ver la tabla de enrutamiento:

TACNA>enable 
TACNA#show ip  route 
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
       i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
       * - candidate default, U - per-user static route, o - ODR
       P - periodic downloaded static route

Gateway of last resort is 200.0.10.1 to network 0.0.0.0

C    190.60.0.0/16 is directly connected, FastEthernet0/0
C    200.0.10.0/24 is directly connected, Serial0/0/1
S*   0.0.0.0/0 [1/0] via 200.0.10.1

Ya con esto todos los routers conocen sus LAN.

A modo de ejemplo voy a hacer un tracert (comando para hacer el seguimiento de todos los routers por los que pasa un paquete), desde PC5 que está en la LAN de
 TACNA a PC0, que se encuentra en la LAN del router TUMBES y cuya ip es 172.16.0.2, en donde se puede ver las interfaces por las que pasa el paquete en los routers






RAID (discos redundantes) en Linux

RAID (Redundant Array of Inexpensive Disks) por software es una forma barata de obtener discos duros grandes, rápidos y seguros. Aprovechamos la potencia de la CPU para tareas que necesitarían circuitería especializada y cara.
Vamos a ver cómo instalar un RAID-1 (mirror) con dos discos que contienen exactamente lo mismo, un sistema que nos proporciona tolerancia a fallos de disco duro. Aunque falle un disco:
  1. no perderemos datos, ya que tenemos redundancia.
  2. el sistema seguirá funcionando. Mientras sobreviva un disco el sistema no se cae.
  3. el sistema podrá bootear, ya que arranca desde el RAID y desde cualquiera de los discos.

La manera más sencilla y eficaz de instalar RAID-1 es durante la instalación del Sistema Operativo. Lo haremos en el particionado:
  1. particionamos los dos discos con el mismo esquema de particiones, marcadas todas ellas como particiones RAID:

  2. seleccionamos Configurar RAID software (antes de pasar a configurar el RAID el instalador particionará los discos):

  3. tenemos que crear un dispositivo RAID para cada partición, incluyendo la swap (incluimos la swap para intentar evitar un cuelgue si falla un disco):

  4. seleccionamos el tipo de RAID, RAID1:

  5. le decimos que estará formado por 2 particiones:

  6. sin discos de reserva:

  7. seleccionamos la pareja de particiones correspondientes:

  8. y repetimos este proceso con todas las particiones. Una vez definidos todos los dispositivos RAID:

  9. les asignamos punto de montaje y formato:

  10. comprobamos que todo esté correcto:

  11. grabamos los cambios y listo:

  12. el gestor de arranque GRUB lo instalaremos en el MBR.

Nota: Error 22, Error 15
En ocasiones GRUB no se instala bien y da problemas al reiniciar. El equipo no arranca y tira un Error 22 o un Error 15. En ese caso, reiniciaremos desde el CD en Graphical Rescue Mode y probaremos la opción Reinstalar GRUB pero esta vez en:
(hd0,0)
Si esto no resuelve el problema, volveremos a reiniciar desde el CD en Graphical Rescue Mode, abriremos una terminal y editaremos con nano el archivo/boot/grub/menu.lst:
# nano /boot/grub/menu.lst
... donde reemplazaremos la línea:
root          (hd1,0)
... por:
root          (hd0,0)
Si esto no resuelve el problema, a googlear...
Veremos los RAIDs como si fuesen particiones normales:
# df
S.archivos 1K-blocks Used Available Use% Mount
/dev/md0 2885664 121800 2617280 5% /
/dev/md2 2885664 32872 2706208 2% /home
/dev/md3 1829037 887074 844376 52% /usr
/dev/md4 918229 47973 821264 6% /var
/dev/md5 1309703 8245 1231583 1% /tmp
Para consultar el estado de los RAID ejecutaremos:
# cat /proc/mdstat
Personalities : [raid1]
md1 : active raid1 hda5[0] hdd5[1]
289024 blocks [2/2] [UU]
md2 : active raid1 hda6[0] hdd6[1]
2931712 blocks [2/2] [UU]
md3 : active raid1 hda7[0] hdd7[1]
1951744 blocks [2/2] [UU]
md4 : active raid1 hda8[0] hdd8[1]
979840 blocks [2/2] [UU]
md5 : active raid1 hda9[0] hdd9[1]
1397504 blocks [2/2] [UU]
md0 : active raid1 hda1[0] hdd1[1]
2931712 blocks [2/2] [UU]
unused devices: none
Todavía no hemos terminado, nos falta configurar el sistema para que sea capaz de bootear desde ambos discos. Si simulamos un fallo del segundo disco desconectándolo (con el ordenador apagado), comprobaremos que la máquina arranca. Pero si desconectamos el primer disco veremos que no arranca, porque en el MBR del segundo disco no hay nada. Por tanto, para que la máquina pueda bootear desde cualquiera de los discos tenemos que instalar GRUB también en el MBR del segundo disco. Para ello:
# grub
grub> device (hd0) /dev/hdd
grub> root (hd0,0)
grub> setup (hd0)
grub> quit
Por último, veamos cómo actuar cuando un disco del RAID falle (no lo dudes, tarde o temprano fallará). Utilizaremos las herramientas mdadm (multiple device administer,paquete mdadm), que han reemplazado a las clásicas raidtools.
  1. detectaremos que un disco RAID ha fallado mirando en /proc/mdstat:
    # cat /proc/mdstat
    md3 : active raid1 hda7[0]
    1951744 blocks [2/1] [U_]
  2. apagaremos el ordenador, reemplazaremos el disco averiado y arrancaremos de nuevo.
  3. formatearemos el nuevo disco con fdisk, marcando las particiones como fd (Linux RAID autodetect).
  4. el nuevo disco no se inserta automáticamente en el RAID, ya que está marcado como erróneo. Lo insertaremos ejecutando:
    # mdadm /dev/md3 -a /dev/hdd7
    mdadm: hot added /dev/hdd7
    Y comenzará la reconstrucción del RAID. Lo comprobaremos con:
    # cat /proc/mdstat
    md3 : active raid1 hda7[0] hdb7[1]
    1951744 blocks [2/1] [U_]
    [====>.....] resync = 33.1% finish=34.3min speed=59895K/sec
    Podemos monitorizar el proceso de reconstrucción con:
    # watch -n1 'cat /proc/mdstat'