Lab 101. IT en redes LAN.

Indice

 1.-Sinopsis
 2.-El Inicio
 3.-¿Que hacer?
  3.1- 1ero. Numeración IP diferente.
 	 3.1.1.-SERVIDOR DHCP
	 3.1.2.-SERVIDOR DNS
		 3.1.2.A.-Creando archivo /etc/bind/db.itsolutions.lab
		 3.1.2.B.-Creando archivo etc/bind/db.1.17.171.in-addr.arpa
  3.2.- 2do. Mantener conectividad con la LAN existente y el acceso a internet.
	 3.2.1.-SCRIPT-ON
 4.-Palabras finales
 5.-Preguntas ¿?¿?

Sinopsis

El propósito de este Lab. es tener una noción de los retos que se presentan en la ampliación de las redes LAN, enfocado en como los ingenieros de redes piensan al momento de ubicar cada elemento, jerarquización de los mismo, selección de las herramientas de software y hardware adecuadas y configuración de cada elemento implícito en la Red desde CERO. Prepárate para ver esta solución y darnos tu opinión.

Inicio.

Dibujemos el siguiente escenario…

El jefe de la empresa ficticia “IT Solutions Lab”, con conocimientos profundos en redes, a ordenado al departamento de ingenieros, del cual estamos a CARGO, que se cree una extensión de la red LAN existen, con una numeración IP diferente a la ya utilizada, y que las PCs alojadas en esta nueva red mantengan la conectividad con las PCs de la primera LAN, manteniendo el acceso a Internet. Curiosamente en la nueva red se instalaran nuevos equipos y el presidente quiere que estos estén en una LAN separada.

Como encargado del departamento, puede verse como todo un reto o un dolor de cabeza. Y mucho más si sabes muy poco sobre redes… X_X.

Si bien esta tarea se puede simplificar implementando algunos pocos switchs, routers y algunas configuraciones sencillas en los mismos, NO es la idea, aquí aplicaremos un método mucho más económico y riguroso.

Resumen:

Crear una extensión de la red LAN que cumpla con:

–       Numeración IP diferente a la utilizada.

–       Mantener la conectividad con la LAN existente y el acceso a Internet.

Topología de la Red actual:

Img-1. LAN existente

Como se observa en la imagen la numeración IP usada es del tipo: 192.168.1.0/24.


¿Que hacer?

No preguntándole directamente al presidente, se logra saber que, los nuevos equipos son: Un servidor Web, Uno para trasferencia de archivos (FTP), y un servidor denominado NAGIOS. También se encontró que las razones por la cual se dio la orden son razones de crecimiento de la empresa y por ende se crearan dos nuevos departamentos de trabajo dependientes de la nueva red LAN.

Entonces; para este proyecto se tiene en mente:

Img-2. Equipos proyectados

Ahora apliquemos ingeniería para diseñar la nueva red, manteniendo en cuenta las exigencias mencionadas.

1ero. Numeración IP diferente.

Si 192.168.1.0/24 es el pool usado en la LAN, en la nueva LAN (la cual llamaremos vLAN) usaremos 170.17.1.0/24.

TIP: Para crear una numeración al antojo se puede configurar un servidor DHCP para tal fin. (Claro que NO es el único método; pero igual se aceptan críticas).

SERVIDOR DHCP

Para ello el jefe de proyecto (tu), pensando en la reducción de gastos; decide implementar una PC como servidor DHCP e instalarle un OS como GNU/Linux; ya que pensándolo, la estabilidad de este OS comparada con las de otros OS, nos evitara correr riesgos de fallo. Punto que se debe tomar en cuenta como líder de proyecto.

Entre los diferentes OS seleccionemos GNU/Linux Ubuntu versión Server. Y entre los diferentes software que hacen de servidores DHCP seleccionemos DHCP3-SERVER.

Img-3. Solución.

No se explicara como instalar la distribución. El objetivo es configurar DHCP3-SERVER  para que brinde IPs del tipo: 170.17.1.X.

Desde una Shell y como root hacemos uso de apt-get o aptitude para conseguir el software (paquete) dhcp3-server.

root@dhcp-dns:~# aptitude install dhcp3-server
root@dhcp-dns:~# nano /etc/dhcp3/dhcpd.conf

Con este último comando abrimos el archivo de configuración del paquete. Donde reemplazaremos su contenido por:

#### DHCP configuration ####
DHCPARG=eth0;        #Interfaz de red donde se escucharan
 #y concederán peticiones DHCP.
 #Todo el tráfico de la nueva red
 #debe pasar por esta interfaz
authoritative;                     #tipo de server.
default-lease-time 600; #Tiempo por defecto
max-lease-time 7200;    #Tiempo máximo
ddns-ttl 600;                      #Tiempo de vida
# A partir de aquí es donde definimos el pool IP deseado ( 170.17.1.0/24 )
subnet 170.17.1.0 netmask 255.255.255.0 {
####RANGO DE IP A USAR####
range 170.17.1.20 170.17.1.200;
# Asignara IP desde 170.17.1.20 hasta 170.17.1.200 = 180 PCs
#Solo 180 PCs se podrán implementar en la nueva RED.
# Asignara IP desde 170.17.1.20 hasta 170.17.1.200 = 180 PCs
#Solo 180 PCs se podrán implementar en la nueva RED.
###IP Reservada para el servidor Web ------------------#
host web-server {                                      #
hardware ethernet 00:08:ff:61:8d:c3;                   #
fixed-address 170.17.1.5;                              #
}                                                                                                            #
#debido a que uno de los equipos será un servidor web
#reservamos la IP 170.17.1.5 dentro del POOL por lo
#que la tarjeta de red debe tener como MAC
#00:08:ff:61:8d:c3
###IP Reservada para el servidor FTP------------------------#
host web-server {                                           #
hardware ethernet 00:08:ff:61:4c:00;                        #
fixed-address 170.17.1.4;                                   #
}                                                           #
##############################################
###IP Reservada para NAGIOS---------------------------------#
host web-server {                                           #
hardware ethernet 00:8d:6c:8d:4c:61;                        #
fixed-address 170.17.1.3;                                   #
}                                                           #
##############################################
###Cliente modifica su A record (allow - ignore)####
allow client-updates;
####MASCARA DE SUB-RED####
option subnet-mask 255.255.255.0;
####PUERTA DE ENLACE####
option routers 170.17.1.1;
####DIRECCION BROADCAST####
option broadcast-address 170.17.1.255;
####DNS####
option domain-name "itsolutions.lab";
option domain-name-servers 170.17.1.1, 170.17.1.2;
}

Guardamos con Crtl+O y reiniciamos con el comando:

root@dhcp-dns:~#  /etc/init.d/dhcp3-server restart

Nuestro servidor DHCP esta listo. Fácil No??

Desde ahora cualquier PC que se conecte a la vLAN recibirá algo como esto lo que se ilustra en la imagen:

Img-4. Respuesta del server DHCP a sus clientes.

Si detallamos al final de la configuración:

####DNS ####
 option domain-name "itsolutions.lab";
 option domain-name-servers 170.17.1.1, 170.17.1.2;

Debe existir un dominio maestro en la red (itsolutions.lab) y un secundario en algún servidor con las IP 170.17.1.1, 170.17.1.2, sino nada de lo que se ha hecho funcionaria al 100%. Lo que nos hace pensar que se debe montar un servidor DNS.

 Importante: Los expertos recomiendan que siempre que se pueda, se debe montar el servidor DNS en el mismo servidor donde esta el DHCP. Una especie de 2 en 1.

TIP: Crear nombres de dominio (DNS) al antojo como itsolutions.lab o byteros-lab.com se puede conseguir configurando un servidor DNS para tal fin. (recordando que NO es el único método). Acotando que los dominios creados solo funcionaran Localmente.

Siguiendo la recomendación añadiremos el servidor DNS a nuestro servidor DHCP.

El paquete mas usado hasta para los ISP a nivel mundial en resolución de dominios (DNS), es el famoso Bind9. Y en nuestro servidor Ubuntu no será la excepción.

Pues montar un servidor DNS es mucho más fácil que montar un servidor DHCP mientras se tenga en cuenta y muy claro lo siguiente:

Img-5. Esquema

Un archivo maestros es configurado para leer otras dos configuraciones adjuntadas a él (db.itsolutions.lab y db.1.17.171.in-addr.arpa), el contenido de estos se explicaran mas adelante.

Por ahora el objetivo es crear el dominio itsolutions.lab

SERVIDOR DNS

Obtenemos el paquete con:

root@dhcp-dns:~# aptitude install bind9

Y editamos el archivo principal de configuración:

root@dhcp-dns:~# nano /etc/bind/named.conf.local
///////////////////// Dominio ITSOLUTIONS.LAB ///////////////////
//Zona que resolverá de Nombres a IPs
zone "itsolutions.lab" {
type master;
        file "/etc/bind/db.itsolutions.lab";
allow-update {170.17.1.0/24;};
allow-query {any;};
};
// Zona que resolverá de IPs a Nombres
zone "1.17.171.in-addr.arpa" {
type master;
notify no;
        file "/etc/bind/db.1.17.171.in-addr.arpa";
allow-update {170.17.1.0/24;};
allow-query {any;};
};
///////////////////// FIN ITSOLUTIONS.LAB ///////////////////

Las líneas resaltadas: file “/etc/bind/db.itsolutions.lab”; y  file “/etc/bind/db.1.17.171.in-addr.arpa”; son archives que se deben crear y en su interior contener la verdadera configuración para que itsolutions.lab sea un nombre valido dentro de la red LAN.

Si te interesa saber por que es así? O de donde salieron esos nombres? Es momento de que consultes la documentación de BIND9 o cualquier manual de DNS en internet.

Creando archivo /etc/bind/db.itsolutions.lab

root@dhcp-dns:~# nano /etc/bind/db.itsolutions.lab

y usamos la siguiente configuración:

;
; BIND configuration for itsolutions.lab
;
$TTL    604800  ; 1 week
@               IN      SOA     dns.itsolutions.lab. root.itsolutions.lab. (
2               ; Serial
604800          ; Refresh (1 week)
86400           ; Retry   (1 day)
2419200         ; Expire  (4 week)
604800 )        ; Negative Cache TTL (1 week)
;
;-Nombre a crear- IN A - IP Destino-
dns     IN      A       170.17.1.1
@       IN      NS      dns
www     IN      A       170.17.1.5
ftp     IN      A       170.17.1.4

Efecto de la configuración realizada:

Al escribir www.itsolutions.lab en el navegador, el DNS identificara el sub-dominio dentro de su configuración y vera que www esta en la IP 170.17.1.5, nuestro browser entonces nos re-direccionara a 170.17.1.5 (sitio web) lo mismo sucederá con ftp.

Como tarea no estaría mal asignarle un nombre en la red al servidor VPN y NAGIOS, así no tendríamos que memorizar sus IPs!!!

Atando cabos, esta es la razón por la cual esta IP fue reservada en el archivo de configuración del server DHCP.

Creando archivo etc/bind/db.1.17.171.in-addr.arpa

Por ultimo el archivo de zona inversa (IP -> Nombre).

 root@dhcp-dns:~# nano /etc/bind/db.1.17.171.in-addr.arpa

y al igual que el paso anterior:

;
; BIND configuration for REVERSE itsolutions.lab
;
$TTL    604800  ; 1 week
@       IN      SOA     dns.itsolutions.lab. root.itsolutions.lab.(
2            ; Serial
604800       ; Refresh (1 week)
86400        ; Retry   (1 day)
2419200      ; Expire  (4 week)
604800 )     ; Negative Cache TTL (1 week)
;
dns     IN      A       170.17.1.1;
@       IN      NS      dns;
10      IN      PTR     www.itsolutions.lab;
10      IN      PTR     ftp.itsolutions.lab;

No hay mucho que explicar, simplemente añadir los nombres que se vayan a crear, como por ejemplo:

10 IN PTR new-name.itsolutions.lab

Reiniciamos el bind9 con el comando:

 root@dhcp-dns:~# /etc/init.d/bind9 restart

Sin duda alguna hay que resaltar que existen configuraciones mucho mas avanzadas aplicables tanto en el servidor DHCP como en el servidor DNS. Si quieres ir más allá sin duda alguna, Google será tu amigo.

Primera actividad: Numeración IP diferente. COMPLETA.

2do. Mantener conectividad con la LAN existente y el acceso a internet.

Físicamente debe existir un medio que conecte la LAN a la vLAN; si recordamos el servidor DHCP y DNS utiliza la interfaz eth0 para comunicarse con las vLAN, añadiremos una interfaz de red extra (eth1); y mediante un cable de red la conectaremos al switch-1 de la LAN. Con esto logramos resolver el problema a nivel físico.

A nivel lógico debemos hacer que eso funcione. Podemos hacer uso del paquete IPTable que trae por defecto toda distribución Linux instalada y crear políticas que permitan re-direccionar el tráfico de una interfaz a otra.

Img-6. Conexión eth1

Crear estas políticas no es complejo solo debemos tener en cuenta que TODO el trafico que se genere en la vLAN pasara por la interfaz eth0 del servidor DHCP-DNS y si lo re-direccionamos a la interfaz eth1, dicho trafico conseguirá salir a la LAN y al Internet.

Tiene sentido verdad?

Un script bash sencillo, hará toda la magia:

SCRIPT-ON

#! /bin/sh
# /etc/init.d/script-on
case "$1" in
start)
echo "Starting script-on..."
##------------------------------------------------------------------------
echo "# Activamos el IPTABLE!"
echo '1' > /proc/sys/net/ipv4/ip_forward
##------------------------------------------------------------------------
echo "# - Aceptamos la transferencia de paquetes"
iptables -A FORWARD -j ACCEPT
##------------------------------------------------------------------------
echo "# - Enmascaramos y ruteamos el trafico a eth1 (LAN e INTERNET)"
iptables -t nat -A POSTROUTING -s 170.17.1.0/24 -o eth1 -j MASQUERADE
##--Ayuda
Echo "################################################################"
echo "#   Comando para desactivar script-on: /etc/init.d/script-on stop"
echo "#   Ruta del script: "/etc/init.d/script-on""
echo "################################################################"
echo "LISTO..................."
;;
stop)
echo "Stopping script-on"
##-----------------------------------------------------------------------
echo "# - FLUSHEANDO REGLAS IPTABLES"
iptables -F
echo "# - DESACTIVANDO IPTABLES"
echo '0' > /proc/sys/net/ipv4/ip_forward
echo "LISTO..................."
;;
*)
echo "Usage: /etc/init.d/script-on {start|stop}"
exit 1
;;
esac
exit 0

Las 3 acciones resaltadas serán las encargadas de realizar todo lo que explicamos arriba.

El script esta diseñado de tal forma que puede implementarse como un servicio para iniciar o detenerse cuando se desee.

Topología final de la vLAN:


Topología final de la vLAN:

Topología de la red completa:

Topología completa

Palabras finales.

A pesar de ser una topología muy básica, resalta factores que se presentan en cualquier topología Real, cubre configuraciones y sobre todo da soluciones prácticas y económicas, bastante útiles.

Si quieres poner en practica este articulo o este te dio alguna una idea para implementar en tu red LAN, Puedes utilizar tecnologías de virtualización de maquinas para crear tus propios servidores, hacer tu propia topología o simular algún escenario.

Preguntas:

1._ Si los hay… ¿Que fallos noto usted en la topología?

2._ ¿Cuantos días o meses crees que se tardaría cumplir con la primera meta?

3._ ¿Qué solución le daría usted para la interconexión de las redes?

4._ Como encargado del proyecto ¿Qué haría desde el inicio? Lo abandonaría?

En el próximo lab: Aprenderemos a utilizar NAGIOS para supervisar y alertar de fallos en los servidores implementados en esta topología…

Danos tu opinión, comenta…

Y recuerda… Puedes seguirnos en twitter, facebook, o recibir los últimos Lab añadiéndonos a tu cliente RSS! 😀

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *