Laboratorio IP Físico y GNS3

Sitio: Facultad de Ingeniería U.Na.M.
Curso: Comunicaciones 2 ET544
Libro: Laboratorio IP Físico y GNS3
Imprimido por: Invitado
Día: miércoles, 4 de diciembre de 2024, 23:34

1. Objetivos

El propósito de este Laboratorio es configurar un  router y lograr que los equipos conectados a las distintas LANs puedan navegar por Internet.


2. Introducción

El propósito de este Laboratorio es configurar un  router Mirotik.

 Este equipo tiene varias interfaces. Vamos a describir el esquema que vamos a armar.

  • En la interfaz ether1 del MK estará conectado a Internet, será la conexión a la red WAN.
  • En la interfaz ether1 del MK tendrá habilitada el cliente DHCP para obtener una IP desde el lado de la WAN.
  • En el MK se configurarán las reglas de NAT. NAT significa Network Address Traslation o traducción de direcciones de red. NAT toma una dirección de la red privada y la cambia por una pública en el Datagrama IP o viceversa. Se usa cuando necesitamos que nuestros dispositivos en la red (con IP privadas) se comuniquen a través de Internet (IP pública).
  • La interfaz ether2 se configura con la subred 172.31.200.0/24.
  • En la LAN asociada a ether2 se conecta un Servidor Web (IP Estática: 172.31.200.2) una PC con SO Debian
  • La interfaz ether3 se configura con al subred 172.31.100.0/24y se habilita el servidor DHCP.
  • En la red LAN asociada al ether3 conecta un Switch, y al mismo tres máquinas que deben poder navegar por Internet, hacer ping a DNS (google.com) y poder acceder al Servidor Web Debian de IP 172.31.200.2.
  • Se podrá acceder al servidor web desde la WAN.


Este Laboratorio se puede implementar de manera física o virtual con GNS3.
En los exámenes finales la práctica se evalúan sobre la máquina Virtual con GNS3 por cuestiones de prácticas.
La forma de implementarlas son equivalentes y teniendo los conocimientos no debería ser un problema.
Se dejan los pasos de como realizar con ambos esquemas de manera que el alumno realice de manera física en la clase con equipos reales, pero pueda practicar en la casa con los equipos Virtuales de GNS3.



2.1. Topología Física


2.2. Topología GNS3 b

Agregue un nodo "Cloud" para poder interconectar el entorno GNS3 con la máquina virtual Linux Lite. En la configuración de "Cloud" agregue la interfaz virbr0 (virtual bridge 0).

Agregue un router MikroTik y en la configuración del mismo, en la pestaña Network, establezca la cantidad de adaptadores en 3.


Complete la topología siguiendo figura. 


Las conexiones deben quedar de la siguiente manera


2.3. Configuración particular Físico

Aqui se puede indicar como configurar en Windows y/o Linux

IPs fijas si corresponde.

IPs dinámicas si corresponde

2.4. Configuración particular Virtual

Aqui va algo que se repite para todos los laboratorios, de como configurar:

IPs fijas para equipos con Debian , Webterm ,si corresponde al laboratorio

IPs dinamicas para equipos si correponde.

3. Mikrotik

Para conectarnos al Mikrotik  ( físico o Virtual de la máquina con GNS3 )  podemos hacerlo por medio de las interfaces cableadas o a travez de una interfaz inalámbrica. Siendo de preferencia la primera.

Conexion mediante WinBox.

 

Como vimos anteriormente WinBox es una utilidad proporcionada por Miktrotik para poder efectuar las configuraciones del dispositivo, es practicamente lo mismo que utilizar la interfaz web pero con algunas ventajas adicionales.

link descarga WinBox

En este caso la conexión es la misma que la utilizada en el laboratorio de simulación.

Notese lo siguiente: En la lista de dispositivos “Neighbors” o dispositivos cercanos, si hacemos click en la dirección IP la misma se cargará como dispositivo a conectar más arriba “Connect To”. En el caso de que no tengamos una IP en la misma red no vamos a poder conectarnos. Pero en cambio si hacemos click en la dirección MAC del dispositivo vemos que podemos realizar la conexión desde la MAC sin necesidad de pertenecer a la misma red que el Mikrotik.

 

Tip: Para encontrar facilmente el dispositivo en la lista desplegada podemos ver los tiempos que estos se encuentran on-line, si conectamos el dispositivo recientemente nos será facil indentificarlo.

Conexion mediante interfaz web.

 

 

Al reiniciar el dispositivo de fabrica veremos que el mismo mostrará el IP que tiene configurado por defecto. 192.168.88.1. Configurando una IP cualquier para encontrarnos en la misma red podemos acceder al servidor web alojado en el dispositivo.

Abrir la interfaz por razones de seguridad nos pide que cambiemos la clave del mismo (no es obligatorio pero si recomendado en el caso práctico).

Notese que la interaz WebFig es la misma que se utiliza en la aplicación WinBox, también podemos acceder a la interfaz de configuración rápida y a la terminal desde el navegador.

Como primera instancia vamos a reinciar el dispositivo de fabrica para borrar toda configuración previa. Para ello tenemos dos opciones. Hacerlo desde el dispositivo físico o atravez de la Pc.

En el caso de hacerlo desde el dispositivo ocupamos la pantalla integrada que trae el mismo (la pantalla es del tipo resistivo por lo que podemos emplear algun objeto para ayudarnos a navegar) y buscamos la opcion de reincio. La contraseña de administrador por defecto es “1234”.

Reinicio desde Winbox: Muchas veces esta es la opción más, ya que en algunos casos no conocemos la dirección IP de nuestro dispositivo o no nos encontramos en la misma red.

 

 

Al abrir WinBox luego del reinicio nos aparecerá si queremos cargar una configuración por defecto. El programa nos muestra los parámetros que se van a configuar y hasta nos permite descargar el script de configuración para ver en detalle los mismos.

En este caso vamos a seleccionar “Remove Configuration” para no utilizar la misma, ya que si observamos se configura por ejemplo una interfaz WLAN que no utilizaremos ahora.


3.1. Identificando el Dispositvo

En la barra de herramientas nos dirigimos a “System”, luego “Identify”. De esta forma podemos cambiar la identidad del dispositivo para organizarlo y encontrarlo más facil dentro de la Red si tenemos varios de ellos. Luego este nombre aparecerá en la ventana de WinBox cuando buscamos los dispositivos.


4. DHCP

Configurar los nodos finales para que utilicen DHCP

  • En Debian1 descomentar (eliminar #) de las dos últimas lineas de la configuración


  • En Firefox utilizar la consola, que en este nodo es gráfica (VNC).


  • PC1 y PC2: editar la configuración y descomentar la línea DHCP


5. Winbox

Vamos a utilizar la herramienta Winbox para configurar el router MikroTik. En el administrador de archivos de Linux Lite vamos a la carpeta Descargas del usuario "com2" (/home/com2/Descargas/)

Doble click sobre el archivo winbox64.exe

si la topología en GNS3 está "corriendo" (activa) debería detectar automáticamente nuestro router. De no ser el caso utilizar el botón Refresh

en la configuración inicial del router MikroTik el usuario es admin sin contraseña. Procedemos a conectar.


6. Direcciones IP/Redes

Establecer las direcciones IP de las interfaces del Router. Se acostumbra utilizar la 1er dirección de la red para el gateway. Para ambas redes LAN el gateway es el router.

  • La interfaz ether1 obtiene su IP del servidor DHCP de Cloud1 *(ver en IP->DHCP Client)
  • ether2 (webserver: 172.31.200.1/24
  • ether3 (LAN): 172.31.100.1/24


Para evitar confusiones vamos a identificar las interfaces con un comentario descriptivo

ahora agregamos las direcciones IP. Vemos que la interfaz ether1 ya tiene su IP y a la izquierda hay una  "D" de dinámica (DHCP)

después de agregar ambas interfaces nos debería quedar así:


6.1. DHCP Client

Aquí podemos ver los que el servidor DHCP de Cloud1 le asignó a ether1.


7. Tabla de Rutas

Una vez configuradas las direcciones IP se crea automáticamente un tabla de rutas.


Se aprecia que a la dirección 0.0.0.0/0 (todas las direcciones de todas las redes) se llega a través de ether1 con una distancia de 1 salto hasta el gateway. Como la dirección 0.0.0.0/0 incluye también las IP publicas el router entiende que esa interfaz es la conectada a WAN (internet) y la misma se convierte en el gateway de la topología. Las interfaces locales tiene una distancia de 0.

las siglas de la izquierda son:

  • D = dinámica
  • A = activa
  • S = estática
  • C = conectado


8. Probando la conectividad del Router

Con el botón "New Terminal" se abre una consola donde poder ejecutar ping

como se ve ya tenemos conectividad a internet.

También hay una herramienta ping en el menú "Tools"

9. DNS

Opcionalmente se puede habilitar la chache DNS. De esta manera se puede reducir las consultas DNS a un servidor externo y minimizar los tiempos de resolución DNS.

Si la opción "Allow Remote Requests"está habilitada el router puede ser utilizado como servidor DNS por los clientes de las redes conectadas al mismo. Pero también tendrán acceso las conexiones provenientes desde la WAN. Por ello hay que tomar los recaudos necesarios para proteger el router y la red, por ejemplo con una regla del firewall que niegue las conexiones WAN al puerto 53 (DNS)


10. Servidor DHCP

Los router MikroTik tienen un asistente para configurar el servidor DHCP pero por cuestiones didácticas lo vamos a realizar manualmente mediante los siguientes pasos:

  • Crea los "pools"
  • Crear los servicios DHCP
  • Crear las redes

10.1. Crear los pools

Primero debemos crear los conjuntos de direcciones a usar en cada red (pool)

Vamos a crear dos "pools":

  • red lan: rango de direcciones 172.31.100.100-172.31.100.200
  • red webserver: rango de direcciones 172.31.200.100-172.31.200.200

10.2. Servicios DHCP

vamos a crear un servicio para cada red local: lan y webserver

se puede ver que las configuraciones asignadas van a ser válidas por 10 minutos (Lease Time). Pasado ese periodo el nodo deberá solicitar una nueva configuración.

No olvidar activar (Enable) el recién creado servidor DHCP

10.3. Redes DHCP

por último creamos 2 redes para el servidor DHCP:

  • Address: 172.31.100.0/24
    Gateway: 172.31.100.1
    DNS Server: 172.31.100.1

  • Address: 172.31.200.0/24
    Gateway: 172.31.200.1
    DNS Server: 172.31.200.1


11. Solicitando dirección

VPCS

En las PC1 y PC2, para adquirir una configuración IP utilizamos el comando de consola:

ip dhcp

Verificamos con el comando:

show ip all

Nodo Firefox

en el caso de firefox el nodo está corriendo un SO debian y el mismo periódicamente solicita una configuración IP así que no habría que hacer nada.
Verificamos con el comando:

ifconfig


o con el comando

ip addr show eth0



Debian (webserver)

En el nodo Debian la situación es similar al nodo firefox. Recuerde que en en el nodo Debian se debe utilixar la consola auxiliar.


11.1. Leases (arrendamientos)

En la configuración del servidor DHCP del Mikrotik, en la pestaña "Leases", se pueden ver las direcciones IP asignadas.


11.2. Direcciones estáticas

Como vimos en la tabla de leases las direcciones arrendadas son dinámicas (la D a la izquierda de cada fila)

esto es muy práctico para reutilizar las direcciones a medida que se recambian los dispositivos, pero no es lo más indicado para servidores, ya que siempre queremos acceder a ellos con la misma IP. Por ello es recomendable asignarles una IP fija.

ahora ya no figura la "D" de dinámica y la próxima vez que acceda la configuración de ese arrendamiento se va a poder cambiar la IP


Nótese que el nodo sigue con su IP anterior hasta que expire el "lease time" y solicite una nueva configuración o hasta que se lo haga manualmente en el nodo.


12. NAT

(Acá video NAT)

Mikrotik distingue entre 2 tipos de NAT:

  • Source NAT o NAT de origen: cuando la comunicación se inicia desde una red "NATeada", típicamente una red LAN.
  • Destination NAT o NAT de destino; cuando la comunicación se inicia desde una WAN pretendiendo llegar a un destino detrás de un router NAT.

12.1. Source NAT - Masquerade

Si intentamos realizar un ping desde algún host de la LAN o webserver no vamos a alcanzar un destino en internet.

esto se debe a que las direcciones privadas no se pueden enrutar en internet. Más genéricamente hablando, las direcciones privadas no se deben enrutar en WANs. Para convertir direcciones privadas en públicas se utiliza NAT.

Mikrotik tiene un tipo especial de Source NAT pensado para situaciones donde la IP publica puede cambiar. El caso típio de ADSL con direcciones públicas dinámicas.

Para crear una regla de NAT vamos a IP->Firewall pestaña NAT

Como la comunicación se va a iniciar en una zona privada se trata de una source nat (chain: scrnat) y la comunicación va a salir por la interfaz ether1 que es la que está conectada al gateway.

Por último definimos la acción a llevar a cabo en esta regla de NAT: masquerade

Una vez creada la regla NAT volvemos a probar ping desde debian1 a internet y vemos que ahora si funciona


12.2. Destination NAT

En el host webserver (172.31.200.254) está corriendo un servidor web que escucha en el puerto 80.

Acceso desde LAN

Podemos acceder al mismo desde el nodo Firefox incluso estando en otra red. Esto es posible porque el nodo con Fiirefox se percata que la IP destino no está en su red y por lo tanto direcciona la comunicación hacia el gateway (mikrotik). El router Mikrotik conoce la ruta hacia la red destino así que establece el enlace.


Acceso desde la nube

Si probamos acceder al webserver (172.31.200.254) desde el Frefox del Linux Lite no vamos a poder conectarnos. Esto es lógico ya que Linux Lite está del otro lado de la nube y no conoce las redes privadas que están detrás del mikrotik. Como linux Lite tiene configurado como GW su salida a internet las IP de otras redes las envía ahí.

La única dirección IP de nuestra topología de GNS3 que conoce Linux Lite es la que tiene la interfaz 1 (gateway) del router MikroTik (192.168.122.156). Si tratamos de acceder a esa IP se nos presenta el entorno de configuración web del router. Esto debido a que el router también tiene un servidor web que está corriendo en el puerto 80.

Para acceder a nuestro webserver desde la nube se debe agregar una regla que redirigir el tráfico del puerto 80 que llega desde la nube a un host en la zona NAT. Esto se conoce como "destination NAT", también conocido como "Port Forwarding".

Creamos una nueva regla NAT del tipo dstnat como muestra la figura


Se necesita por lo menos uno de los datos señalados. Antes de terminar debemos especificar la acción que debe realizar esta regla

Luego de crear la regla dstnat ya podremos acceder a nuestro servidor web desde la nube (internet) utilizando la IP no local 192.168.122.156.


12.3. Más de un servior

Tarea

Enumere las configuraciones necesarias para poder acceder también al segundo servidor web desde la WAN (Firefox de Linux Lite)


13. Reglas de Firewall

Seguridad básica

Input Chain Rules
/ip firewall filter
add action=accept chain=input connection-state=established,related,untracked comment="DEFAULT: Accept established, related, and untracked traffic."
add action=drop chain=input connection-state=invalid comment="DEFAULT: Drop invalid traffic."
add action=accept chain=input protocol=icmp comment="DEFAULT: Accept ICMP traffic."
add action=drop chain=input in-interface-list=!LAN comment="DEFAULT: Drop all other traffic not coming from LAN."
Forward Chain Rules
/ip firewall filter
add action=accept chain=forward ipsec-policy=in,ipsec comment="DEFAULT: Accept In IPsec policy."
add action=accept chain=forward ipsec-policy=out,ipsec comment="DEFAULT: Accept Out IPsec policy."
add action=accept chain=forward connection-state=established,related,untracked comment="DEFAULT: Accept established, related, and untracked traffic."
add action=drop chain=forward connection-state=invalid comment="DEFAULT: Drop invalid traffic."
add action=drop chain=forward connection-nat-state=!dstnat connection-state=new in-interface-list=WAN comment="DEFAULT: Drop all other traffic from WAN that is not DSTNATed."


13.1. Bloquear a un nodo

Mediante una regla del cortafuegos (firewall) vamos a bloquear la comunicación del nodo Firefox. Para ello creamos una nueva regla

en lugar de utilizar la dirección de origen de capa 3 optamos por la dirección MAC, ya que es menos probable que cambie

en la pestaña de acción podemos elegir entre "Drop" y "Reject".

La diferencia es que "drop" simplemente descarta el paquete mientras que "Reject" rechaza con el envío "ICMP destination-unreachable" a la aplicación tratando de comunicarse. De esta manera la aplicación cesa sus intentos de comunicación y evita sobrecargas en la infraestructura. Con drop el host no se entera del problema e interpreta que se perdió el paquete y reintenta la comunicación periódicamente. Estos reiterados intentos se pueden prolongar hasta por 3 minutos.

No olvidarse de agregar un comentario para identificar la finalidad de la regla

Con la regla habilitada no se puede establecer una comunicación a través del router

en la lista de reglas se puede ver estadísticas de uso de la misma

con los botones se puede habilitar y deshabilitar las distintas reglas

13.2. Bloquear una web (L7)

Podemos bloquear el acceso a una página web utilizando filtros de capa 7. Por ejemplo, para bloquear facebook.com en la pestaña "Layer 7 protocols" creamos una regla con la siguiente expresión regular (Regexp)

^.+(facebook.com).*$

en la pestaña "Filter Rules" creamos una nueva regla forward


en "Advanced" seleccionamos la regla L7 que recién creamos y la dirección MAC de origen

y por último la acción

el resultado



Aclaraciones

  • el filtrado L7 consume muchos recursos por eso no siempre es lo más recomendado. Se recomienda usar filtrado DNS o directamente bloquear todas las IP del sitio.
  • youtube.com es complicado porque tiene muchísimas IP y utiliza su pool de dirección para todos los servicios de google.
  • Si se utiliza DNS sobre https ya no funcionan los filtros L7


13.3. Limitar velocidad

En "Queues" podemos definir reglas para limitar la velocidad a un host o red.
como Target se puede definir una IP o una interfaz.


13.4. Forzar DNS

con las siguientes reglas podemos reenviar todo el tráfico con destino a un puerto 53 (DNS) al servidor que elijamos

add action=dst-nat chain=dstnat dst-port=53 protocol=tcp src-address=192.168.10.10 to-addresses=1.1.1.1
add action=dst-nat chain=dstnat dst-port=53 protocol=udp src-address=192.168.10.10 to-addresses=1.1.1.1

14. Captura de paquetes

Primero recomendamos cambiar la configuración del nodo Debian para que utilice IP estática

Como alternativa se podría definir una dirección MAC fija para evitar de que esta cambie cada vez que se inicia el nodo y por lo tanto el DHCP server le asigne otra IP.

(se utilizó una dirección MAC generada por el mismo nodo la primera vez que inició)

14.1. Captura

Luego iniciar la captura entre Firefox y el Switch

Desde el firefox del nodo firefox acceda a la siguiente página web alojada en el servidor web

172.31.200.254/form.html

Completar el formulario y enviar


y analice el tráfico http