Post on 21-Oct-2015
UNIVERSIDAD DE EL SALVADORFACULTAD MULTIDISCIPLINARIA DE OCCIDENTE
DEPARTAMENTO DE INGENIERIA Y ARQUITECTURA
TEMA:MANUAL DE CONFIGURACION DE ROUTING ALTERNATIVO
CATEDRA:COMUNICACIONES I
CATEDRATICO:ING. JUAN CARLOS PEÑA
PRESENTADO POR:➢ CARCAMO RAMIREZ, JODIE TATIANA➢ FLORES CASTRO, FRANCISCO ALEXANDER➢ VALLE CASTILLO, ROCIO NATALIA
SANTA ANA 28 DE NOVIEMBRE DE 2011
CONTENIDO
Introducción 1
Routing Alternativo 2
Caso Planteado 2
Solucion Propuesta 2
¿Qué es RIP? 2
Soluciones Posibles 3
Opciones Elegidas 4
Quagga 4
Instalando Quagga 5
Configurando Zebra. 14
Configurando RIP 18
Vyatta 19
Instalando Vyatta 20
Configurando las interfaces en Vyatta 26
Configurando RIP en Vyatta 27
Verificando las rutas aprendidas 28
Zeroshell 29
Instalando Zeroshell 30
2
Como configurar ZeroShell 31
Configurando Tarjetas de Red (Network) 32
Configurando Ripv2 33
Opciones en CLI 34
Activando dhcp en quagga y zeroshell 35
Configurando DHCP en Quagga 35
Configurando DHCP en Zeroshell 37
Configuración Basica De un Router Cisco 39
Configuración Básica de un Switch Cisto 42
Configuración Basica de un Switch DLINK 43
Topologia Planteada Como Solución al Caso Previo 45
Plan de Direccionamiento 46
3
INTRODUCCION
Los Routers o enrutadores son conmutadores de paquetes que operan en la capa de red del modelo OSI
(Open Sistems Interconnection). Los enrutadores son los encargados de interconectar redes LAN y
WAN; cuando existe más de una ruta entre dos puntos finales de la red, son ellos los que proporcionan
control de tráfico y filtrado de funciones, dirigiendo los paquetes a través de las rutas más eficientes o
económicas dentro de la malla de redes, que tiene caminos redundantes a un destino.
Debido a la importancia que los routers tienen en la comunicación de redes es imprescindible su
presencia. Como alternativa a la falta de este equipo se encuentra la emulación de un router desde un
ordenador con cualquier sistema operativo que se desee.
Siendo GNU/Linux uno de los sistemas que más opciones brinda en el Routing alternativo hemos
abordado 3 de los emuladores más conocidos que nos brinda como lo son Quagga, Vyatta y Zeroshell
como solución al proyecto planteado en clases.
En el siguiente documento se presenta la información necesaria para la instalación y configuración de
cada emulador y de los protocolos RIP y DHCP ; así como también la información sobre la creación de
VLANs en los switch DLINK y CISCO utilizados para el desarrollo del proyecto..
1
ROUTING ALTERNATIVO
CASO PLANTEADO
Una pequeña empresa desea mejorar sus procesos y mover su infraestructura a sistemas distribuidos en
la red. El problema, es que recientemente hizo inversión en equipo informático para las oficinas, pero
olvidó incluir en su presupuesto equipo activo de red. En vista de lo anterior le contrata como asesor
para buscar alternativas a los enrutadores y puntos de acceso de estilo "caja negra" que le permitan
desplegar la infraestructura de red requerida. Cada enrutador debe al menos soportar enrutado estático,
RIP y el despliegue de VLANs. Como extras puede presentarse un esquema de red híbrido
incorporando distintas marcas de equipos, realizar pruebas de estres y hacer comparativas entre las
distintas soluciones, etc.
SOLUCIONES PROPUESTAS
Según la información que nos provee el caso planteado la empresa recientemente adquirio equipo
informatico pero no incluyo equipo activo de red en su presuspuesto, razón por la cual solo puede
contar el equipo que ya tenia previamente, pero supone que este equipo no es suficiente para cubrir las
necesidades de la empresa.
Para solucionar este problema hay varias opciones siempre recordando que todas las soluciones
planteadas (routers emulados) puedan cumplir con los requerimientos presentados en el problema asi
como también deben de ser completamente compatibles con el equipo de red activo de la empresa es
decir (Routers y Switch Reales)
¿QUE ES RIP?
RIP son las siglas de Routing Information Protocol (Protocolo de Enrutamiento de Información). Es un
protocolo de puerta de enlace interna ó IGP (Internal Gateway Protocol) utilizado por los routers ó
enrutadores pudiendo actuar tambien en equipos, para intercambiar información acerca de redes IP.
2
En la actualidad existen 3 versiones diferentes de RIP las cuales son:
1) Ripv1: No soporta subredes ni redireccionamiento CIDR (Classless Inter-Domain Routing).
2) Ripv2: Soporta Subredes, CIDR y VLSM (Variable length subnet mask ó mascaras de subred de
tamaña variable).
3) Ripng: Rip para IPv6
Ventajas de Rip
Es mas facil de configurar que otros protocolos.
Es un protocolo abierto (admite versiones derivadas aunque no necesariamente compatibles)
Es soportado por la mayoria de fabricantes.
Desventajas de RIP
Su principal desventaja consiste en que para determinar la mejor métrica unicamente toma en cuenta el
número de saltos, descartando otros criterios como lo son el Ancho de Banda, congestion, carga etc...
Como funciona:
Cuando Rip se inicia, envia un mensaje a cada uno de sus vecinos (puerto 520) pidiendo una copia de
la tabla de encaminamiento del vecino. Este mensaje es una solicitud los routers vecinos devuelven una
copia de sus tablas de encaminamiento.
Cuando RIP esta en modo activo envia toda o una parte de su tabla de encaminamiento a todos los
vecinos a través de broadcast o con enlaces punto a punto. Esto se realiza cada 30 segundos. Cuando
descubre que una metrica ha cambiado la difunde por broadcast a los demas routers.
SOLUCIONES POSIBLES
a) SmoothWall: Una distribución de GNU/Linux que tiene por objetivo proporcionar un
Firewall/Enrutador de facil administración e instalación.
b) Gibraltar: Es un sistema operativo basado en Debian usado para implementar seguridad y
caracteristicas de enrutamiento.
3
c) Quagga: es una suite de software libre para poder usarse en la familia de sistemas operativos
Unix como enrutadores. Está diseñado especialmente para NetBSD, FreeBSD, Solaris y Linux.
Actúa como conmutador del GNU Zebra, el cual a su vez es un demonio que se encarga de
manejar las tablas de ruteo del núcleo. Algunas de sus funciones están mejor adaptadas a Linux,
es decir, lo maneja completamente como el demonio conmutador que es.
d) Vyatta: es un sistema operativo de red basado en software Open Source. Es portable tanto a
cualquier hardware con arquitectura estandar x86 como a plataformas comunes de
virtualización y cloud computing, convirtiéndose así en una revolución en la industria del
networking.
e) Zeroshell: es una distribución Linux para servidores y dispositivos integrados destinados a
proporcionar los servicios de red principal que una LAN requiere.
f) XORP: Distribución basada en Free BSD destinada a enrutamiento y firewall.
OPCIONES ELEGIDAS
Para el desarrollo del caso planteado se elegieron las siguientes opciones, una vez se comprobo la
compatibilidad entre los routers emulados y los SO propios de enrutadores reales:
Quagga, Vyatta y Zeroshell.
QUAGGA
Quagga es una suite de software libre para poder usarse en la familia de sistemas operativos Unix como
enrutadores. Está diseñado especialmente para NetBSD, FreeBSD, Solaris y Linux. Actúa como
conmutador del GNU Zebra, el cual a su vez es un demonio que se encarga de manejar las tablas de
ruteo del núcleo. Algunas de sus funciones están mejor adaptadas a Linux, es decir, lo maneja
completamente como el demonio conmutador que es.
Otra definición es la que dice que quagga es un software libre de enrutamiento avanzado que
4
proporciona todos los protocolos de enrutamiento (routing) basados en TCP/IP:
● RIPv1 (Routing Information Protocol)
● RIPv2 (Routing Information Protocol)
● OSPF v2/v3 (Open Shortest Path First)
● BGP -4 y BGP-4 + (Border Gateway Protocol)
● IS/IS (Intermediate System to Intermediate System)
Soporta tanto IPV4 como IPV6 Posee una arquitectura avanzada que le proporciona una gran calidad y
potencia, con un motor multiservidor de encaminamiento.
Quagga en un fork de GNU/Zebra.
Instalando Quagga:
Quagga viene en los repositorios de la mayoria de las distribuciones de linux, para el caso estaremos
trabajando todos los enrutadores sobre Debian Wheezy.
Para instalar sin tener que estar haciendo su constantemente y proveendo la contraseña nos
loguearemos como usuario root, claro esta que no es una buena practica, pero si se desea ahorra tiempo
puede hacerse.
1) Como primer paso se ejecuta aptitude para instalar quagga.
aptitude install quagga.
Se instalarán los siguientes paquetes NUEVOS:Quagga Preconfigurando paquetes …Seleccionando el paquete quagga previamente no seleccionado.(Leyendo la base de datos …100348 ficheros y directorios instalados actualmente.)Desempaquetando quagga (de …/quagga_0.99.6-2ubuntu3.1_i386.deb) …grep: /etc/quagga/*.conf: No existe el fichero ó directorioConfigurando quagga (0.99.6-2ubuntu3.1) …Loading capability module if not yet done.Starting Quagga daemons (prio:10):.
2) Como segundo paso ponemos los ficheros de configuración de quagga en el lugar que les
corresponde:
5
cd /usr/share/doc/quagga/examples/
cp * /etc/quagga/
3) Renombramos los ejemplos de configuración, para usarlos y activar Quagga con la
configuración por defecto.
cd /etc/quagga/
cp zebra.conf.sample zebra.conf
cp ripd.conf.sample ripd.conf
4) Configuramos los demonios para que active zebra, y RIP, aunque se hace de igual modo para
los demás protocolos.
nano daemons
y editamos las siguientes lineas aparecen casi hasta el final del archivo de configuraciónÑ
zebra=yes
ripd=yes
5) Así hemos marcado que queremos que Quagga arranque los demonios zebra y ripd (Que se
encarga de RIP). Para que cargue de nuevo la configuración, reiniciamos Quagga.
Podemos reiniciar quagga de la siguiente manera:
/etc/init.d/quagga restart ó bien service quagga restart
Stopping Quagga daemons (prio:0): (ripd) (zebra) (bgpd) (ripngd) (ospfd) (ospf6d) (isisd).Removing all routes made by zebra.Nothing to flush. Loading capability module if not yet done. Starting Quagga daemons (prio:10): zebra ripd.
6) Ahora podremos acceder por separado con una interfaz interactiva a cada uno de los demonios.
Para acceder a Zebra (Password por defecto zebra):
telnet localhost 2601
6
7) Para acceder al demonio de RIP (ripd) y configurarlo:
telnet localhost 2602
Antes de empezar a configurar zebra y rip, hemos de remarcar los siguiente:
a) El proyecto pide que los enrutadores emulados sean capaces de soportar el despliegue de
VLANs.
b) Enrutamiento Estatico y Dinamico.
Por esta razón se eligió a quagga como el encargado de gestionar el despliegue de VLAN aunque es
posible hacerlo en cualquiera de los otros 2 opciones elejidas, por razones de tiempo y a efectos de
demostración implementaremos VLANs solamente en quagga.
Es de recalcar que hay varios requisitos para que el despliegue de VLANs sea posible a través del uso
de enrutadores emulados. En primer lugar hay que verificar que la tarjeta ethernet de la maquina que se
usara para el despliegue de VLANs tenga la capacidad o soporte para implementar el despliegue para
ello hay que verificar el modelo de la tarjeta, buscar la versión del chipset y corroborar si esta es capaz
o no.
En segunda instancia hay que aprender tambien que las VLANs no son implementadas o manejas por
ningún router emulado, si no mas bien el encargado de la gestión de las VLANs es el SO en si. Para el
caso Linux será el encargado de la gestion de estas.
Una vez hemos corroborado el soporte de VLANs por la tarjeta es necesario instalar el siguiente
paquete:
1) aptitude install vlan (para el caso de la mayoria de distribuciones Linux) ó vlan_utils (Para el
caso de Red Hat y Slackware).
2) Una vez se ha instalado el paquete es necesario comprobar si tenemos corriendo el modulo
8021q a través del comando
7
lsmod
3) Buscamos el modulo, si comprobamos que no esta corriendo, debemos de levantar el modulo de
forma manual ya que este modulo es el que se encarga del trafico etiquetado de ahi el nombre
8021q (802.1q) para levantarlo usamos el siguiente comando
modprobe 8021q
8
Despues de ejecutar modprobe verificamos nuevamente si el modulo ha sido levantado a través
de lsmod nuevamente
lsmod
9
4) Ahora que ya tenemos listo el sistema para la implementación de VLANs vamos a aprender la
forma en la que debemos de agregar cada una de ellas al sistema, esto lo hacemos de la
siguiente manera:
vconfig: Permite configurar y chequear el estado de las vlans agregadas al sistema, una vez que
se agrega una vlan al sistema esta aparece como interfaz de red.
Vconfig add eth0 50 (agrega la interfaz eth0 a la vlan con TAG 50, creando la interfaz virtual
“eth0.50” interfaz que queda administrativamente desactivada al momento de definirla)
Para levantar la interfaz se hace como se haría con cualquier otra interfaz se le da una ip y se
cambia el estado a up.
ifconfig eth0.50 192.168.10.5/24 up
5) Ahora bien hay un pequeño problema en la implementación de las VLANs desde el sistema
operativo y este es que cada vez que se reinicie el sistema se debera de volver a seguir los
mismos pasos, es decir levantar el modulo agregar las vlans, asignarles ip y levantar la interfaz
etc.... aunque la gestion del enrutamiento sea hecha de forma automatica a través de quagga.
Para evitar este problema la solución mas sencilla es cargar el modulo desde que se inicie la
maquina y a su vez cargar las interfaces virtuales, esto lo hacemos de la siguiente manera:
Para Cargar el modulo de forma automatica editamos el siguiente archivo modules y
agregamos el modulo/s deseado.
10
nano /etc/modules
para agregar la configuración de la interfaz que servirá como entrada y salida de las VLANs y
las VLANs mismas editamos el archivo interfaces:
nano /etc/network/interfaces
11
Es en este archivo donde agregamos los dispositivos que vamos a utilizar para levantarlos de
forma automatica y es tambien donde agregamos la definición de las VLANs, pudiendo agregar
ademas rutas estatica, cosa que por el momento no enseñaremos pero que vale la pena conocer:
Para agregar una interfaz lo hacemos de la siguiente manera:
Antes de empezar a configurar las interfaces hemos de recordar detener el network-manager
para evitar tener complicaciones de perdida de ip etc...
#Para el caso la primera interfaz va a ser la encargada de servir de camino de entrada y salida de
las vlans razon por la cual no tendra una direccion ip definida:
auto eth0iface eth0 inet staticaddress 0.0.0.0netmask 0.0.0.0
esta es la definición normal de una interfaz:
auto eth3iface eth3 inet staticaddress 172.16.20.18netmask 255.255.255.252network 172.16.20.16broadcast 172.16.20.19
Ahora para definir las VLANs que queremos levantar:
auto eth0.10auto eth0.20
#vlan10iface eth0.10 inet staticaddress 192.168.10.1netmask 255.255.255.224network 192.168.10.0broadcast 192.168.10.31mtu 1500vlan_raw_device eth0
12
#vlan20iface eth0.10 inet staticaddress 192.168.10.65netmask 255.255.255.224network 192.168.10.64broadcast 192.168.10.95mtu 1500vlan_raw_device eth0
Haciendo esto tenemos configuradas nuestras interfaces desde un inicio y al igual tenemos
configuradas las VLANs.
El archivo quedará mas o menos de la siguiente manera.
13
Configurando Zebra
Zebra es el demonio gerente. Los demonios que se encargan de los protocolos de enrutamiento son:
1) ripd.
2) ripngd
3) ospfd
4) ospf6d
5) bgpd
Podemos configurar Zebra editando el fichero de configuración “zebra.conf” o bien accediendo al
demonio y por diversos comandos.
Antes que nada con el signo de interrogación “?” obtenemos una ayuda contextual de las posibilidades
que se va clasificando, es decir, si ponemos ? nada más entrar, nos dice los posibles comandos que
tenemos
14
Ahora bien si escribimos
debug ?
15
Nos informa sobre los modificadores del comando debug en concreto. Esto es importante que quede
claro, porque nos va a servir de mucho al principio, hasta que vayamos aprendiendo las principales
instrucciones.
Para configurar zebra en consola y con comando lo hacemos a través de:
telnet localhost 2601
nos va a aparecer la pantalla de logueo la clave para loguearse por defecto es:
zebra
digitamos el comando enable para entrar al modo de administrador:
luego para empezar las configuraciones nos ingresamos al modo de configuración global esto a través
del comando configure terminal o su forma abreviada conf t.
16
es en este modo donde configuramos las direcciones ip que tendra cada una de las interfaces que seran
administradas por quagga. Hasta este momento podemos ver que las configuraciones en quagga y un
router cisco son muy similares, sin embargo hay que tener presente que no son iguales.
Para asignar la direccion ip a una interfaz en especifico usamos el siguiente comando:
interface ethx (ethx.x)
ip address 172.16.20.18/30
no shutdown
quit
Cuando hemos terminado de definir las direcciones ip y hemos levantado las interfaces nos salimos al
modo administrador usando el comando:
end
Guardamos las configuraciones a través del comando:
write memory ó copy run start.
Si queremos ver el archivo de configura lo podemos hacer a través del comando:
show running-config
17
Por ultimo reiniciamos quagga para que aplique las nuevas configuraciones.
Configurando Rip
Rip es un protocolo de enrutamiento dinamico basado en el algoritmo de vector-distancia, calculando
de esa forma el camino mas corto hacia la red destino.
Para configurar Rip al igual que zebra ingresamos usando el siguiente comando comando:
telnet localhost 2602
imagen
Despues de loguearnos en rip, escribimos el comando enable para ingresar al modo administrador.
Usamos el comando configure terminal ó conf t para entrar en el modo de configuración global.
En el modo de configuracion global usamos el comando router rip para empezar a configurar a rip
directamente:
una vez nos encontramos dentro de router rip configuramos rip de la siguiente forma:
network 172.16.20.12/30 (red que se estara anunciando)
network ethx (interfaz por la que se anuncia la red ingresada)
network 172.16.20.32/30 (red que se estara anunciando)
network ethx (interfaz por la que se anuncia la red ingresada)
usamos tambien el comando:
redistributed connected para distribuir todas las redes que tenemos conectadas a los routers vecinos.
Tambien activamos la opción:
version 2 y no auto-summary
ya que hasta este momento solo habiamos estado configurando rip que en su defecto es ripv1, el cual
summariza las redes.
Ya con esto nos salimos al modo administrador escribiendo el comando
18
end
y guardamos las configuraciones atraves del comando:
write memory ó copy run start
si queremos observar el archivo de configuración lo hacemos a través del comando:
show running-config
Por ultimo reiniciamos quagga nuevamente.
VYATTA
Vyatta es un sistema operativo de red basado en software Open Source. Es portable tanto a cualquier
hardware con arquitectura estandar x86 como a plataformas comunes de virtualización y cloud
computing, convirtiéndose así en una revolución en la industria del networking.
Las capacidades de Vyatta son muy amplias, router, firewall, IDS, IPS, balanceador de carga, Proxy
web, VPN, Filtro de URL, alta disponibilidad… y todo en una suite de software Open Source basado
en Debian que permite integrar un económico appliance de red de clase empresarial, comparable a
cualquier solución propietaria, en todo entorno de producción.
En resumen, Vyatta puede ayudarte a:
– Prever conexiones seguras a oficinas remotas con VPN.
– Escalar de DSL a 10 Gbps con un paquete de software.
– Evitar costes en actualizaciones propietarias.
– Ofrecer servicios de seguridad gestionada basados en red.
– Dotar de redundancia de red con independencia de los fabricantes de hardware.
19
Instalando Vyatta
Hay varios Tipos de instalación de Vyatta:
La instalacion basada en Imagen y la instalacion basada en disco.
Para el presente caso veremos la instalación basada en disco, que utiliza un diseño tradicional de los
archivos en el disco para lo cual seguiremos los siguientes pasos:
1) Creamos un Live CD y arrancamos desde el mismo
20
2) Aparecera la Pantalla de inicio de sesion de vyata
3) Vamos a acceder a dicha sesión utilizando:
usuario: vyatta.
password: vyatta.
Una vez hayamos entrado a la sesion ingresamos el comando
sudo su (para iniciar la session como usuario root)
21
4) Ahora que hemos ingresado como administrador estamos listos para iniciar la instalación de
nuestro sistema operativo vyatta.
En primer lugar usamos el comando install-system
5) A continuación nos saldra un mensaje de aviso que indicara que como minimo para realizar la
instalacion de vyata necesitamos 1GB de espacio en disco y que el particionado del disco se
puede hacer de forma automatica o manualmente.
22
6) Luego se muestra la confirmación de el disco en el cual se van a crear las particiones:
7) El tamaño de las particiones que se van a crear para la partición raíz:
23
8) Luego de esto vendra la copia de el sistema a la particion y la instalacion del config.boot que
guardara las opciones y configuraciones de inicio:
9) Una de las opciones mas importantes es el seteo o establecimiento de las opciones por defecto
como son los de password y usuarios pues constituyen opciones importantes de seguridad:
24
10) Continua con la instalación del cargador de inicio de sistema. Vyatta usa el grub como su motor
de inicio de sistema.
11) Inmediatamente despues de que termina la instalacion nos mostrara la consola de
administracion la cual podemos editar ingresando el comando: configure. Al dar configure
tenemos la opcion de modificar y mostrar como esta configurado nuestro router.
Para configurar las interfaces de red primero hay que ver que interfaces poseemos. Para ello
ejecutamos el comando ifconfig.
25
12) Ahora bien ya que tenemos instalado vyatta en una maquina es momento de empezar a llenar
las diferentes configuraciones
Primero hay que saber que en el CLI de vyatta hay 2 modos uno es el modo operativo y el otro
es el modo de configuracion.
En el modo Operativo tenemos acceso a los comandos para mostrar, limpiar, habilitar y
deshabilitar información de debug asi como comandos para configurar terminales a un estado
encendido ó apagado, ademas de poder apagar el sistema o reiniciarlo según la necesidad que se
presente.
El modo de configuracion provee acceso a comandos para crear, modificar, borrar, concretar y
mostrar información. Para entrar al modo de configuración se utiliza el comando:
configure
es en este modo donde establecemos las direcciones ip de los dispositivos que tenemos
conectados, las configuraciones de los protocolos que vamos a establecer, dhcp y dhcp relay
etc...
Para salir de este modo solo digitamos el comando exit.
13) Si deseamos crear un nuevo usuario administrador lo hacemos en el modo de configuración a
través de los siguiente comandos:
vyatta@vyatta# set system login user user‐name level admin vyatta@vyatta# set system login user user‐name authentication plaintext‐password password vyatta@vyatta# commit
Configurando las Interfaces en Vyatta
En el modo operacional verificamos cuales son las interfaces que tenemos disponibles usando el
comando ifconfig para establecer las direcciones que tendran nos cambiamos al modo de configuración
y seguimos la siguiente secuencia de comandos:
26
vyatta@R1# configure
vyatta@R1# set interfaces ethernet eth2 address 192.168.1.100/24
vyatta@R1# commit (este comando siempre debe de ejecutarse para que los cambios sean aplicados
permanentemente).
De esta forma establecemos las direcciones ip de cada interfaz si cometemos un error y deseamos
quitar la ip que acabamos de asignar simplemente cambiamos el comando set por delete.
Si lo que deseamos es observar como esta el archivo de configuracion una vez hemos establecido las
ips lo hacemos de forma individual o observamos todo el bloque a través de los siguientes comandos:
vyatta@R1# show configuration (Para ver todas las interfaces a la vez)
vyatta@R1# show interfaces ethernet ethx (Para ver una interfaz en especifico)
Configurando Rip en Vyatta
Cuando activamos Rip en Vyatta este por defecto activa RIPv2 es decir por defecto trae activadas las
opciones que normalmente se establecen de forma manual según la necesidad, entre dichas opciones
encontramos, Version 2, no auto-summary.
Para activar y configurar RIPv2 en Vyatta se usa la siguiente serie de comandos:
vyatta@R1# configure
vyatta@R1# set protocols rip network 10.0.40.0/24
vyatta@R1# set protocols rip network 10.0.50.0/24
vyatta@R1# set protocols rip redistribute connected
vyatta@R1# commit
Para ver el archivo de configuración del protocolo rip lo hacemos a través del siguiente comando:
vyatta@R1# show protocols
27
Con lo cual se nos muestra una salida de este tipo:
rip {
network 10.0.40.0/24
network 10.0.50.0/24
redistribute {
connected {
}
}
}
Verificando las rutas aprendidas
Una vez hemos configurado las interfaces y RIPv2 en vyatta lo unico que nos queda es verificar el
correcto funcionamiento al ponerlo a producción con otros routers. Para verificar las rutas aprendidas
podemos usar los siguientes comandos estando en el modo operacional:
vyatta@R3:~$ show ip route
Codes: K ‐ kernel route, C ‐ connected, S ‐ static, R ‐ RIP, O ‐ OSPF,
I ‐ ISIS, B ‐ BGP, > ‐ selected route, * ‐ FIB route
R>* 10.0.20.0/24 [120/3] via 10.0.50.2, eth5, 00:20:16
R>* 10.0.30.0/24 [120/3] via 10.0.50.2, eth5, 00:34:04
R>* 10.0.40.0/24 [120/2] via 10.0.50.2, eth5, 02:15:26
C>* 10.0.50.0/24 is directly connected, eth5
C>* 10.0.60.0/24 is directly connected, eth6
C>* 127.0.0.0/8 is directly connected, lo
28
Tenemos tambien la opción de:
vyatta@R3:~$ show ip rip
Codes: R ‐ RIP, C ‐ connected, S ‐ Static, O ‐ OSPF, B ‐ BGP
Sub‐codes:
(n) ‐ normal, (s) ‐ static, (d) ‐ default, (r) ‐ redistribute,
(i) ‐ interface
Network Next Hop Metric From Tag Time
R(n) 10.0.20.0/24 10.0.50.2 3 10.0.50.2 0 00:23
R(n) 10.0.30.0/24 10.0.50.2 3 10.0.50.2 0 00:23
R(n) 10.0.40.0/24 10.0.50.2 2 10.0.50.2 0 00:23
C(i) 10.0.50.0/24 0.0.0.0 1 self 0
C(r) 10.0.60.0/24 0.0.0.0 1 self (connected:1) 0
ZEROSHELL
Zeroshell es una distribución Linux para servidores y dispositivos integrados destinados a proporcionar
los servicios de red principal que una LAN requiere. Las principales características de esta distribución
de Linux para aplicaciones de red son:
• Enrutador con rutas estáticas y dinámicas (RIPv2).
• NAT para utilizar las direcciones privadas de cada clase.
• Cliente de DNS dinámico.
• Equilibrio de Carga y Conmutación.
• Implementación de VLANs y punto de acceso inalámbrico.
• DHCP.
• Otros servicios como Servidor Radius para proporcionar una autenticación segura, Portal
Cautivo y otros mas.
Zeroshell es una distribución Live CD, es decir, que no es necesario instalarlo en el disco duro, ya que
puede operar directamente desde el CD-ROM en el que se distribuye razon por la cual es necesario
29
guardar los archivos de configuración en discos externos y cargarlos cada vez que se inicie Zeroshell.
Por otro lado para evitar el problema de carga de archivos de configuracion o perdida de estos, tambien
es posible instalarlo sobre una maquina de forma directa la cual detallaremos a continuación:
Instalación de Zeroshell
Para realizar la instalación en un Disco duro es necesario disponer en primer lugar del Live CD
y arrancar con este la maquina donde se realizara la instalacion.
Es necesario ademas descargar el archivo Image per Compact Flash desde el sitio Web.
www.zeroshell.net dado que el nombre es bastante grande es conveniente cambiarle por uno
mas pequeño como zeroshell.img.gz.
1. Una vez se ha descargado el archivo se copia este en una pendrive para montar el dispositivo
cuando se ha cargado zeroshell desde el Live CD previamente.
Ya con esto procedemos a la instalación de Zeroshell desde la consola.
2. Primero verificamos los discos usando el comando
* fdisk -l
con lo cual aparecera una entrada de este tipo:
Aquí podemos obsevar que nos aparecen nuestros Discos Duros en caso de tener mas de uno y
otros dispositivos como la memoria usb, reconocida en este caso como sda1.
30
3. El siguiente paso consiste en preparar el destino donde Zeroshell será instalado, para hacer esto
primero montaremos la usb. Luego, nos cambiamos al directorio /mnt, se crea una carpeta
destino para los archivos de la memoria en la cual se encuentra la imagen y se procede a montar
el dispositivo de la siguiente manera:
Una vez montado el dispositivo el directorio esta listo para ser usado para instalar Zeroshell
para lo cual ejecutamos la siguiente secuencia de comandos.
COMO CONFIGURAR ZEROSHELL
Despues de realizar la instalacion de Zeroshell en el disco duro o arrancar el mismo desde un Live CD
este nos permite 2 opciones para su configuración la primera y mas amigable de usar es através de la
interfaz web a la cual nos conectamos por defecto asignandonos una direccion ip del rango
192.168.0.0/24, para luego cargar en un navegador la dirección:
https: / / 192.168.0.75
Hecho esto se nos despliega la interfaz con la opcion de logueo, por defecto las opciones para loguearse
31
son las siguientes:
Usuario: admin
Contraseña: zeroshell
Para el presente proyecto se utilizaron las siguientes Herramientas de configuración:
Se usa una combinación de configuración a través de la interfaz web y a través de la consola,
empezaremos por mostrar las configuraciones hechas usando la interfaz web.
Configurando Tarjetas de Red (Network)
32
En primer lugar se asignan las diferentes direcciones IP para cada uno de los dispositivos (tarjetas de
red) a través del menú Network donde se nos depliega la lista de tarjetas que tenemos disponibles para
la configuración.
Para nuestro caso tenemos 3 interfaces cada una con las siguientes direcciones ip estaticas.
ETH00 : 172.16.20.22/30
ETH01: 172.16.20.29/30
ETH02: 192.168.10.192/27
GATEWAY: 192.168.10.193
Configurando Ripv2
Por ultimo veremos como configurar Ripv2 desde la interfaz web:
Para configurar Ripv2 nos vamos a la pestaña Router dentro de network dentro de esta hay otra serie de
pestañas de la cual elejimos RIPv2 Chequeamos Enabled con lo cual estaremos activando el servicio y
elejimos las interfaces que estaran hablando RIPv2. Todas las configuraciones extras que hay que
hacer se hacen en la CLI de Zeroshell aunque por defecto este ya trae una serie de caracteristicas
activadas tales como, no autosummary, redistribute connected etc.....
33
Opciones en CLI
En el CLI de Zeroshell tenemos varias opciones que podemos usar para la configuracion por ejemplo si
deseamos ver las configuraciones delas tarjetas de red que disponemos presionamos N que nos lleva a
un informe de todos los dispositivos de Red, La letra T nos sirve para ver la tabla de rutas actual de
nuestro router, la letra S nos sive para activar una consola desde la cual podemos asignar direcciones ip
a los dispositivos, activar o desactivar los mismos, apagar el sistema etc...
Tenemos la Opcion de Perfiles si deseamos tener varias configuraciones etc.....
34
ACTIVANDO DHCP EN QUAGGA Y ZEROSHELL
Configurando DHCP en Quagga.
Para poder repartir DHCP usando quagga realmente se ocupa linux, quagga solo gestiona los
protocolos de enrutamiento.
Para resolver el caso de impartir dhcp en linux de distintas redes se utilizo el paquete dhcp3-server
dado que no viene nativo se debe instalar usando el siguiente comando:
aptitude install dhcp3-server
Una vez lo hemos instalado debemos de realizar las configuraciones respectivas:
1) En primer lugar debemos de configurar la interfaz o interfaces a través de las cuales se va a
estar repartiendo el dhcp.
Para configurar las interfaces escuchas debemos de editar el archivo:
nano /etc/default/isc-dhcp-server
En la linea INTERFACES=” ” se configuran las interfaces escucha, digitando en ella el nombre
de la interfaz por ejemplo eth0.
Si se desean poner varias interfaces para repartir dhcp solamente se escriben separadas por una
“,” por ejemplo INTERFACES=”eth0 eth1 eth2”
35
2) Una vez se han definido las interfaces se procede a definir el pool o los pools de direcciones
para repartir dhcp. Esto se hace editando el archivo:
nano /etc/dhcp/dhcpd.conf
Un pool de direcciones se define de la siguiente manera:
subnet 192.168.10.0 netmask 255.255.255.224 {option routers 192.168.10.1;option subnet-mask 255.255.255.224;range dynamic-bootp 192.168.10.2 192.168.10.30;option domain-name-servers 8.8.8.8, 8.8.4.4;option domain-name “Disque.Mi.Dominio.org”;
}
36
Si se quieren definir varios pools de direcciones deben de definirse varios como el anterior.
3) Una vez hemos definido los pools de direcciones y hemos definido las interfaces escucha solo
queda iniciar el servicio, usando el siguiente comando:
service isc-dhcp-server start
Configurando DHCP en Zeroshell
Activando servicio DHCP
Zeroshell funciona también como un servidor DHCP, de esta manera los clientes de nuestra red interna
37
no necesita la configuración de IP estática. Para ello elegimos la opción DHCP dentro de NETWORK,
Le damos crear nueva y elegimos la interfaz de red en donde Zeroshell distribuirá las direcciones IP:
Ahora elegimos el rango de IP disponibles para distribuir:
Le damos guardar y Listo!
38
CONFIGURACIÓN BASICA DE UN ROUTER CISCO
Cuando se va a configurar un router cisco por primera vez hay una serie de configuraciones iniciales
que se deben de seguir no son una norma pero si evitan tener cualquier clase de problema.
En primer lugar:
Borramos la configuración del Router
Nos logueamos en Modo de Administrador y borramos las configuraciones del router usando la
siguiente secuencia de comandos:
• enable (entrando en modo administrador)
• erase startup-config (Borrando la configuración de fabrica o la configuracion previa)
• reload (recargando el router a las configuraciones iniciales listos para empezar a ser
configurado)
• no aceptar la configuracion inicial.
Pasamos a la configuracion propia del router
• Configure Terminal (entrando a modo de configuracion global)
• hostname “xxxxx” (estableciendo un nombre para el router)
• no ip domain-lookup (deshabilitando la busqueda de DNS).
Establecer contraseñas para el modo privilegiado
• Estando en modo de configuración global (conf term)
• enable secret “xxxx” (estableciendo contraseña)
Configurando un mensaje del dia (para poder distinguir a que router se esta conectando cuando
inicie una coneccion remota)
• Acceder hasta el modo de configuración global.
39
• Banner motd & (enter) (Pedira que se introduzca el mensaje, que se será delimitado por el
simbolo &)
Configurar la constraseña de la consola en el router.
• Estar en modo de configuracion global
• line console 0
• password “xxxx”
• login
• exit
Configurar la contraseña para las lineas de terminal virtual (Telnet)
• line vty 0 4
• password “xxxx”
• login
• exit
Configurando una interfaz FastEthernet x/x
• interface fastethernet 0/0
• ip address “xx.xx.xx.xx”(ip) “xx.xx.xx.xx”(netmask)
• no shutdown
Configurando una interfaz serial x/x/x
• interface serial 0/1/0
• ip address “xx.xx.xx.xx” “xx.xx.xx.xx”
• clock rate 64000 (estableciendo la velocidad de comunicación entre los DCE (equipos de
40
comunicación de datos))
• no shutdown
• end.
Guardar la configuración dada para el Rx
• copy running-config startup-config ó
• write memory
Verificando las tablas de Enrutamiento
• Show ip route
• Show ip interface brief (para verificar la configuración de la interfaz de cada router, ver si estan
configuradas o activas)
Configuración Básica de RIP
Estando en modo de configuracion global ejecutamos la siguiente secuencia de comandos:
• router rip
• Estando en el modo de configuracion de enrutamiento, ingresar la direccion de red con clase
para cada red conectada directamente por medio del comando network
network 192.168.1.0
network 192.168.2.0
network (Habilita RIP en todas las interfacs que pertenezcan a la red) ahora estas interfaces
envian y reciben actualizaciones RIP, dichas actualizaciones RIP se envian a otros router cada
30 segundos.
Enviar actualizaciones desperdicia el ancho de banda y recursos de procesamiento de todos los
dispositivos de LAN. Y el notificar actualizaciones en una red de broadcast es un riesgo para la
seguridad. Por ellos es conveniente poner en modo pasivo todas aquellas interfaces que no
41
necesiten enviar actualizaciones usando el comando:
passive-interface fastethernet x/x
• Activamos RIPv2. y la opcion de No sumarizar para poder distinguir las subredes Por medio
de los siguientes comandos
version 2
no auto-summary
• Activamos Resdistribuir conectados y redistribuir rutas por defecto usando los siguientes
comandos
Redistribute connected
default-information originate
CONFIGURACIÓN BASICA DE UN SWITCH CISCO
Las configuraciones basicas entre un router cisco y un switch cisco son basicamente las mismas en un
inicio la diferencia comienza al establecer las VLANs y el puerto troncal, Para definir las VLANs
seguimos la siguiente secuencia de comandos:
• Vlan database
• Vlan “id”
• name “xxxxx”
Para verificar que las VLANs esten creadas ocupamos el siguiente comando:
• show vlan brief
Una vez hemos definido las Vlan asignamos los puertos que les corresponde a cada una por medio de la
siguiente secuencia de comando:
• interface fastethernet x/x.
• Switchport access vlan “ID”
42
• end
• copy run start ó write memory.
Para implementar el enrutamiento Intervlans (es decir que las vlans puedan comunicarse entre ellas)
creamos el/los puertos troncales a través de la siguiente secuencia de comandos:
• interface fastethernet x/x
• switchport mode trunk
• switchport trunk native vlan “ID vlan administrativa”
• no shutdown
• end
• copy run start o write memory
CONFIGURACIÓN BASICA DE UN SWITCH DLINK
Las configuración son relativamente las mismas que las de un switch cisco, pero estas se realizan a
través de la interfaz grafica, aunque opcionalmente puede usarse el CLI.
Primero en la maquina que vamos a utilizar para la configuración estableceremos una direccion ip del
rango del switch. Para el caso el switch posee la direccion 10.90.90.90/24, por lo que la maquina que se
utilizará puede tener por ejemplo:
ifconfig eth0 10.90.90.95/24
Una vez establecemos la direccion podemos ingresar a la pagina de administración del switch a través
de un navegador web poniendo la direccion del switch.
Al ingresar a la interfaz de configuracion del switch damos click en la opcion de login que aparece en
la parte superior derecha donde nos pedira un usuario y contraseña, por lo general usuario next y
password next.
Despues de ingresar en la parte izquierda de la pagina nos aparecera un marco con las opciones de
43
configuración del switch, nos vamos a la pestaña de configuraciones y dentro de esta buscamos
configure static vlan y la seleccionamos.
Una vez la seleccionamos nos aparecen las VLANs creadas en caso de haber o solo la VLAN nativa o
por defecto.
Para agregar VLANs primero modificamos la VLAN nativa en la cual establecemos el puerto troncal
(tagged para los DLINK) y ponemos en None los puertos que no van a pertenecer a esta VLAN y seran
utilizados para las nuevas. Guardamos y regresamos a Configure Static Vlan.
Seleccionamos Add para agregar nuevas VLANs lo cual nos despliega la pantalla en donde
establecemos los datos para la nueva VLAN tenemos el cuidado de agregar el/los puertos troncales que
establecimos en la VLAN nativa a cada una de las VLANs que agreguemos y Guardamos.
A diferencia de los switches cisco el puerto troncal se debe de asignar a cada una de VLANs en el caso
de los DLINK en un cisco cuando se define un troncal este pertenece a todas las VLANs.
44
TOPOLOGIA PLANTEADA COMO SOLUCION AL CASO PREVIO
45
PLAN DE DIRECCIONAMIENTO
RED HOST MINIMO HOST MAXIMO BROADCAST IDENTIFICADOR
172.16.20.0/30 172.16.20.1 172.16.20.2 172.16.20.3 RFrontera-R1
172.16.20.4/30 172.16.20.5 172.16.20.6 172.16.20.7 RFrontera-R2
172.16.20.8/30 172.16.20.9 172.16.20.10 172.16.20.11 Vyatta-R2
172.16.20.12/30 172.16.20.13 172.16.20.14 172.16.20.15 Quagga-R1
172.16.20.16/30 172.16.20.17 172.16.20.18 172.16.20.19 Vyatta-Quagga1
172.16.20.20/30 172.16.20.21 172.16.20.22 172.16.20.23 Vyatta-Zeroshell
172.16.20.28/30 172.16.20.29 172.16.20.30 172.16.20.31 Zeroshell-Quagga2
172.16.20.32/30 172.16.20.33 172.16.20.34 172.16.20.35 Quagga1-Quagga2
192.168.10.0/27 192.168.10.1 192.168.10.30 192.168.10.31 VLAN 10
192.168.10.64/27 192.168.10.65 192.168.10.94 192.168.10.95 VLAN 20
192.168.10.128/29 192.168.10.129 192.168.10.134 192.168.10.135 VLAN 30
192.168.10.192/27 192.168.10.193 192.168.10.222 192.168.10.223 Clientes-Zeroshell
192.168.10.224/28 192.168.10.225 192.168.10.238 192.168.10.239 Clientes-Quagga
La instalación de cada uno de los emuladores asi como sus respectivas configuraciones estan descritas
a lo largo de todo el documento.
46