domingo, 14 de agosto de 2016

Enrutamiento estático en Cisco Packet Tracer

Hola amigos aquí les traigo un pequeño ejemplo para aclarar algunos conceptos, el otro día conversando con mis amigos me contaban que necesitaban enrutar dos routers Cisco, podría ser más, siempre en cuando la estructura no sea tan compleja, se sabe que el enrutamiento estático va muy bien en redes no muy grandes y cuando se conoce la estructura y lo bueno en ese caso es que no consume recursos, es una ventaja bastante notoria respecto al enrutamiento dinámico.

Vamos a anotar aquí algunas cosas como cuando usar una máscara de subred adecuada para el escenario y por qué tal máscara y asi vamos a ver una configuración básica y suficiente para un escenario de dos routers Cisco, dos Switches y Pcs.

Escenario:
Es la base, podría ser tres routers o más.

Configuración básica de router
  • Nombre del router
  • Contraseña para usuario privilegiado
  • Contraseña para acceso remoto (telnet o ssh)
  • Banner de bienvenida al router
  • Encriptar las contraseñas
Configurar el router con sus parámetros para realizar conexión
Parámetros de red a los clientes (pcs) de los segmentos de red
Probar conectividad

Desarrollo

Por cierto el software Packet tracer esta en internet, no es software disponible para todos, a los que estan en la academia a ellos se les proporciona, pero ya saben en internet esta todo, asi que os invito a buscar e instalar, es una muy buena herramienta para entrenarse en networking.

Ya teniendo los routers procedemos a configurarlos, la primera vez luego de decirle NO (ya debes haber visto cuando el router ya pasó todo a la ram y muestra un mensaje), la línea de comandos nos muestra esta entrada
Router0>
escribimos enable y no tiene nada de contraseña.
Router0>enable
Router0#
Ya estamos como usuario privilegiado, a ése nivel podemos ver y consultar cosas con algunos comandos, no estamos en configuración global aún, pero ya podemos usar show.
Ingresamos a configuración global, recuerda que puedes usar ? para ver qué comandos puedes usar.
Router0#?

Comandos para el router:
Ingresar a configuración global
Router0#configure terminal
Puedes usar la tecla tabulador para autocompletar, o usar su nombre corto conf t, ya es cuestión de cada uno.
Router0(config)#
Ahora estamos listos para configurar todo :)
Banner:
#banner motd " Solo administradores "
Nombre:
#hostname  C-COLORADO, aquí es cualquier nombre.
Contraseña para linea consola, solo hay una y su auxiliar:
#line console 0
#password ccna
#login
Recuerda que estamos en configuración global
#exit
Un exit nos baja a un nive, la entrada cambia.

Línea aux de igual manera, solo hay una.
Linea vty en éste router tiene de 0 a 15, osea 16, puedes habilitar las que desees, tal vez no todas, asi:
#line vty 0 15
#password ccna
#login
Regresemos a configuración global con
#exit
Ahora encriptamos las contraseñas con
#service password-encryption
#exit
Ahora a ese nivel mira lo que esta usando en ram con
#show running-config
Vez que las contraseñas estan encryptadas.
Ahora ingresamos a las interfaces, por cierto el router asi como está no trae interfaces seriales, lo que tienes que hacer es ir a physical y apagar el router y arrastar uno, por defecto se pone en un tipo de interfaz y por ahi dice que trae dos interfaces seriales y ahora por qué? Normalmente los routers usan esa interfaz para conectarse entre ellos, también podría usarse los puertos ethernet, en éste caso lo haremos usando puerto serial, tal cual lo hacen en los laboratorios de la academia cisco :)

#interface serial 0/0/0, podrías tambien usar el nombre corto se, yo prefiero autocompletar y si no se me ocurre algo uso ? y tab para ver que posibilidades tengo :)
Puedes acercarte con el muse al router y ver sus interfaces, sus nombres, o también puedes consultar con show (en su nivel) show ip interface brief, y vez sus nombres.

Ya en la interfaz procedemos a agregarle una descripción y una ip, activamos luego:
#description C-COLORADO se0/0/0
#ip address 10.0.0.13 255.255.255.252
#no shutdown

Aqui en punto, elegimos máscara 30, eso quiere decir que faltan 2 bits para 32, osea 2 elevado a 2 nos da 4 ips, dos seran las utilizables y dos seran red y broadcast, con esa máscara no se usa más ips de las que se necesita, es una buena práctica, y ahora que ip le pongo? como sabemos usaremos 10.0.0.0/30, entonces sabemos que el salto es 4, irá así 10.0.0.0-10.0.0.4, ahi es red 10.0.0.0 y broadcast 10.0.0.3, las ips utilizables serían 10.0.0.1 y 10.0.0.2, justo lo que se necesita para solo dos enlaces seriales, en nuestro caso usamos .13 y.14, los saltos serían de 4, 8,12,16, etc. En nuestro caso .12 es red y .15 es broadcast, disponibles son 13 y 14 :)

Ponemos la otra ip en la otra interfaz

Ahora procedemos a poner ips a las máquinas clientes con puerta de enlace de salida del router, las redes 192.158.1.0/24 y 192.158.2.0/24 no se ven y no hay conectividad entre ellos, lo que hace falta es habilitarel routeo ipv4 estático :)

En configuración global ponemos
#ip route (rednoconocida) (mascaradeesared) (interfaz o ip del siguiente salto)
Router1(config)#ip route 192.168.2.0 255.255.255.0 se0/0/0
Router2(config)#ip route 192.168.1.0 255.255.255.0 se0/0/0

En este caso coinciden las interfaces del siguiente salto se0/0/0

Ya existe conexión, ping desde las pcs hasta el otro extremo.

No olvidarse de poner clock rate en la interfaz que es DCE, eso lo averiguas con show controllers interfaz serial, eso en caso real, en packet tracer tu eleiges a quien poner clock rate, el primero por defecto se pone.

martes, 2 de agosto de 2016

DHCP server en Ubuntu 16.04.1 (LTS)

Hola amigos, continuamos con el tutorial de Ubuntu server..., en ésta oportunidad le vamos a añadir un servicio más, el servicio DHCP, el cual hará que los clientes en ambas redes LAN obtengan parámetros de red automáticamente, es decir Ubuntu proporciona dichos parámetros.

¿Qué necesitamos?
Añadir un software que realice dicha función y es el llamado isc-dhcp-server, búscalo en los "repos" de Ubuntu.


Si lo ubicaste pues añadir a nuestro Ubuntu:
#apt-get install isc-dhcp-server

Ahora que ya está, preguntemos a Ubuntu sobre él:

Aquí nos muestra que se ha añadido.


Aquí podemos leer más sobre él.


Pues ya tenemos lo necesario para hacer nuestro servidor DHCP en Ubuntu, el objetivo es proporcionar IP, Máscara de sub red, puerta de enlace y servidores DNS a los clientes en los segmentos de Red 192.168.2.0/24, 192.168.3.0/24.

Configurando isc-dhcp-server
Ya con la idea en mente procedemos a revisar el archivo dhcpd.conf , primero lo buscamos con:
#find /etc -iname dhcpd.conf

Antes de eso editamos un archivo donde le decimos qué interfaces recibirán parámetros de red.


INTERFACES, ahí añadimos.

Ya lo encontramos y lo editamos:
#vi /etc/dhcp/dhcpd.conf



Reiniciamos el servicio
#service isc-dhcp-server restart
Cuando se instaló se había iniciado, pero no estaba configurado.
Revisamos el estado actual


También pueden usar el comando, systemctl


Mirar los logs y ver que si asigna peticiones de clientes:


LAN 1



LAN 2


Con eso ya salen a otras redes, como hemos visto en el anterior tutorial (firewall y router) iptables ya nos ayuda a enmascarar y salir a internet con una sola Ip pública, pueden configurar más cosas, darle ip estática  a una estación usando su MAC, etc.

Espero os aya agradado el tutorial, saludos.


lunes, 1 de agosto de 2016

Firewall y Router con Ubuntu server 16.04.1

Hola amigos, en éste tutorial vamos a ver cómo podemos hacer un router y firewall con un grande de GNU/Linux, pues hemos elegido al azar :) a Ubuntu en su versión server, es uno de mis preferidos junto a Debian y CentOS, claro también a openSUSE, son grandes entre los grandes :).

Esta vez estaremos a puro vi, ya funciona normalmente ya no hay que añadir vim-nox, que recuerde en otras releases vi no funcionaba bien, aquí no noté nada extraño, desde la instalación base todo ok.

Pues si señores usaremos a IPTABLES como firewall, pues que te parece si inciamos la aventura :)

Ubuntu server, nuestro escenario:



Nuestro firewall es Ubuntu server.

enp0s3=192.168.1.85/24, interfaz interna del router del proveedor, ip privada
enp0s8=192.168.2.85/24, interfaz LAN1, (LAN en el dibujo)
enp0s9=192.168.3.85/24, interfaz LAN2 (DMZ) en el dibujo

Los nombres Ubuntu los pone, ha cambiado la forma de desiganar a las interfaces, antes era eth0, eth1, etc., Ahora no :)

En la instalación no configuramos nada de red, lo haremos después.

Configurar interfaces de red y update a nuestro Ubuntu:

Ya tenemos instalado Ubuntu (Si quieres que haga un tutorial de la instalación escribe en los comentarios), nos "logeamos" y nos cambiamos a root, estaremos administrando el servidor en este tiempo, justifica pasarse a root.

>sudo -s
Pones tu contraseña del usuario en la instalación y cambiará a root.

En este punto usamos comandos para ver interfaces, poner nombre al server, asignarle una ip estática, es servidor puro :). tendrá tres o cuatro servicios no más: será DHCP, Proxy y por ahi DNS autoritativo.

#ip a
ese comando muestra las interfaces, el comando ifconfig ya es obsoleto en las recientes versiones de los GNU/Linux, pero se puede usar :)

El nombre del host está en /etc/hostname, es solo una palabra y el fqdn pues lo ponemos en /etc/hosts

#vi /etc/hosts
Escribimos o agregamos, Mi ip



#ip a | less
Vemos que no estan configuradas, ahora editamos el archivo /etc/network/interfaces y escribimos lo siguiente:


Reiniciamos el servicio con
#service networking restart
#ip a | less
Ya verás las interfaces con sus ips nuevas, ahora probemos y vayamos por los servidores DNS que nos resuelvan los nombres a IP, usaremos los de google.

Por defecto Ubuntu server nos agrega a resolvconf, no me gusta :), prefiero la manera tradicional, usar resolv.conf, asi que eliminaremos el enlace simbólico que genera y es un resolv.conf y lo crearemos con touch, escribiremos manualmente.

Tip: ctrl+l, limpias la pantalla de Ubuntu

#rm -rf /etc/resolv.conf
#touch /etc/resolv.conf
#vi /etc/resolv.conf

#dpkg -l resolvconf
Lo vas a ver instalado, ¿que te parece si lo quitamos? luego de configurar la red (abajo) todo perfecto, procede a quitar ese software con:
#apt-get remove resolvconf


Agregas los siguiente:


Probamos que funciones todo:


Pues si señores Ubuntu ya esta funcionando con salida a internet, procedemos a actualizar los repositorios.

#apt-get update

Ya tenemos todo lo necesario para hacer nuestro Firewall y Router, nuestras LANS estan esperando "ansiosas" :), obtener ips y salir por el firewall, entonces construyamos un router y firewall ahora.

Nota: no preocupes por los repositorios, Ubuntu cuando le dices en la instalación en qué país te ubicas él ya inserta los espejos o servers que serán nuestros repositorios, no es necesario tocar /etc/apt/sources.list

Firewall y Router con IPTABLES:

Crearemos un archivo llamado reglas.sh, ahí escribiremos las reglas, ese archivo lo ubicamos en "cualquier lugar", de preferencia donde estemos, yo estoy con mi usuario, podría ser en /etc, o en /root, solo le daremos permiso de ejecución, para que el script inicie en tiempo de arranque usaremos a /etc/rc.local, hay formas que la wiki Ubuntu recomienda, pero mejor lo hacemos iniciar despues de todo, no comprometamos al archivo interfaces, más simple es la forma como lo hago, depende como lo veas, yo procedí asi.

#pwd
#touch reglas.sh
#chmod +x reglas.sh
Con eso le doy permiso para ejecución a todos, podría haber usado a+x, asi debe quedar nuestro archivo, le damos alguito de seguridad.




Lo ubicamos en rc.local y lo ejecutamos con sh, puedes ejecutar ya donde estés con sh /path a las reglas/reglas.sh



Por ahora no hagan caso a redirecciones con proxy, no la pongan, solo quiten esa regla y prueben, debe funcionar, le ponen ip manual a las estaciones windows o cualquier sistema operativo, el protocolo tcp/ip es independiente del sistema operativo, puede ser una Mac Os, un BSD, GNU/Linux u otro.

Resultado en los clientes:

Lan 1


Lan 2



Hemos tenido éxito :), funciona, ahora hazle un reboot y vas a ver que las reglas iptables se inician en boot time.

Thanks for watching y no olvides hacerme mención (url) si usas este tutorial para cualquier uso.