Introducción a NetKit( III ): switches y enrutado

Introducción_a_Netkit(I):Instalación
Introducción_a_NetKit(_II
):creando_redes
Introducción_a_NetKit
(IV):_Un_puente_a_Internet

Bueno, pues seguimos con esto, como dijimos la última vez, ahora lo que queremos es crear una red de 4 máquinas, dos switches conectados entre sí y cada uno a otra máquina, y que se puedan comunicar entre ellos sin problemas, el esquema en general sería este: 

No es tanto un problema con NetKit ya que se puede hacer con lo que ya sabemos, como un ejercicio sobre como hacer tablas de enrutado.

Lo primero es asignar decidir el número de conexiones que requiere cada máquina, así vemos que cada switch tiene dos conexiones, una con el otro switch y otra con la hoja, y cada hoja solo tiene una, con su switch correspondiente, podríamos entonces dividir la red en 3 dominios de colisión:

El archivo "lab.conf" quedaría entonces así:

===============================================================================

hoja_1[0]=rama1 hoja_2[0]=rama2 switch_1[0]=rama1 switch_2[0]=rama2

switch_1[1]=tronco switch_2[1]=tronco

===============================================================================

Nota: las '_' no están permitidas en el nombre de los dominios de colisión.

Y se crearían 4 directorios, hoja_1, hoja_2, switch_1 y switch_2, si ejecutamos el laboratorio( lstart . )

Ahora hay que decidir las IP para establecer las tablas de enrutado, por ejemplo estas:

Hoja 1: En Rama 1: 10.0.1.2

Switch 1: En Rama 1: 10.0.1.1 En Tronco: 10.0.0.1

Hoja 2: En Rama 2: 10.0.2.2

Switch 2: En Rama 2: 10.0.2.1 En Tronco: 10.0.0.2

En este caso, como hay redes que por defecto se consideran /8 es necesario especificar la máscara de red. Por comodidad hacemos que las IP se asignen al iniciar con archivos .startup : hoja_1.startup:

===============================================================================

!/bin/sh

ifconfig eth0 10.0.1.2 netmask 255.255.255.0

===============================================================================

hoja_2.startup:

===============================================================================

!/bin/sh

ifconfig eth0 10.0.2.2 netmask 255.255.255.0

===============================================================================

switch_1.startup:

===============================================================================

!/bin/sh

ifconfig eth0 10.0.1.1 netmask 255.255.255.0 ifconfig eth1 10.0.0.1 netmask 255.255.255.0

===============================================================================

switch_2.startup:

===============================================================================

!/bin/sh

ifconfig eth0 10.0.2.1 netmask 255.255.255.0 ifconfig eth1 10.0.0.2 netmask 255.255.255.0

===============================================================================

Si probamos el laboratorio comprobaremos que solo se pueden comunicar con las máquinas con las que están conectadas directamente, ahora hay que hacer que los switches enruten los paquetes, para esto tenemos que diseñar la tabla de enrutado.

De forma sencilla, los paquetes que salen de hoja_1 por defecto irán hacia switch_1 ( igual si hubiera otras máquinas en la misma red ) , y los de hoja_2 hacia switch_2. Con los que quedan es cuando se pone interesante, tomemos el caso de switch_1.

* Si los paquetes van hacia una de sus IP, los responde automáticamente
( esto lo hace siempre a menos que le digamos lo contrario )

* Si los paquetes van hacia otra dirección del segmento 10.0.0. , se
envían por la interfaz eth1.

* Si los paquetes van hacia el segmento 10.0.1. , se envían por la
interfaz eth0.

* Si van hacia el segmento 10.0.2.* , se le envían a 10.0.0.2, por la
interfaz eth1 .
*

En caso de switch_2, igual:

* Si los paquetes van hacia una de sus IP, los responde automáticamente.

* Si los paquetes van hacia otra dirección del segmento 10.0.0. , se
envían por la interfaz eth1.

* Si los paquetes van hacia el segmento 10.0.2. , se envían por la
interfaz eth0.

* Si van hacia el segmento 10.0.1.* , se le envían a 10.0.0.1, por la
interfaz eth1 .
*

Las tablas se podrían aplicar de esta forma:

hoja_1:

===============================================================================

route add default gw 10.0.1.1

===============================================================================

hoja_2:

===============================================================================

route add default gw 10.0.2.1

===============================================================================

switch_1:

===============================================================================

route add -net 10.0.0.0/24 dev eth1route add -net 10.0.2.0/24 gw 10.0.0.2 dev eth1 route add -net 10.0.1.0/24 dev eth0

===============================================================================

switch_2:

===============================================================================

route add -net 10.0.0.0/24 dev eth1route add -net 10.0.1.0/24 gw 10.0.0.1 dev eth1 route add -net 10.0.2.0/24 dev eth0

===============================================================================

Una vez añadidas a los archivos  *.startup , ya está todo listo:

Y eso es todo, solo queda explicar como hacer una "salida" a Internet, nos vemos.

ps: el laboratorio ya preparado [ labo.tar.gz.b64 ], se puede descomprimir con

===============================================================================

base64 -d labo.tar.gz.b64 |gunzip |tar -x

===============================================================================

untagged

A un día de la 'Ley Sinde' » « Gráficos de tortuga sobre imágenes en Python