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.
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.
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
ifconfig
ip addr show eth0
Debian (webserver)
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
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 SwitchDesde 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