El mundo de UNDERWORLD ha evolucionado mucho en los últimos meses, así que debes realizar tareas de administración de la red para afrontar la nueva situación.

Por un lado, se ha descubierto Internet en el Inframundo, de forma que cada uno de los submundos (recuerda: vampiros, licántropos, hombres lobo y humanos) se conecta a un router que, a su vez, los conecta a uno de los dos grandes routers que forman la Internet de Underworld, llamados Marcus (para humanos y vampiros) y Alexander (para hombres lobo y licántropos). Marcus y Alexander están conectados entre sí.

El esquema sería el siguiente:

Por otro lado, los seres del inframundo han descubierto una vulnerabilidad en los routers Cisco que les permite saltarse las listas de control de acceso, volviendo al caos que lograste impedir en su día con las ACL.

Tu tarea consistirá entonces en:

  1. Sustituir en la infraestructura de red los routers CISCO por máquinas Linux siguiendo el esquema de la figura.
  2. Configurar adecuadamente las máquinas Linux para que funcionen como routers.
  3. Crear las tablas de enrutamiento necesarias para que todas las máquinas se comuniquen con todas en principio, teniendo en cuenta que las redes internas tendrán direcciones privadas y en Internet tendremos direcciones públicas.
  4. Configurar los cortafuegos necesarios en los routers para que:
  • Los VAMPIROS no puedan comunicarse con el resto de especies.
  • Los HOMBRES LOBO y los LICÁNTROPOS, dado que no son tan repulsivos cuando se cruzan, podrán comunicarse entre sí. Con el resto de especies no tendrán comunicación.
  • HUMANOS tampoco podrán comunicarse con el resto de especies.
  1. Configurar el servicio DHCP que tenían los hombres lobo y los licántropos en las mismas condiciones que tenían cuando se usaban routers CISCO.
  2. Configurar en los cortafuegos las reglas necesarias para que, desde HUMANLAND, IT KNIGHT siga comunicándose con sus dos vampiras favoritas (SONJA Y SELENE).
  3. Realiza las configuraciones necesarias para montar en HUMANLAND un servidor web accesible desde cualquier parte de UNDERWORLD.

Preparación del escenario en Linux

Configuración de las tarjetas de red

Lo primero que haremos será añadir las tarjetas de red necesarias a cada router, para ello con la máquina apagada hacemos sobre la misma clic derecho > configuración > network y añadimos los slots que sean necesarios para cada máquina:

Necesitaremos el siguiente número de tarjetas de red por cada dispositivo:

  • Router 1, 2, 3 y 4: Necesitarán 2 tarjetas de red
  • MARCUS y ALEXANDER: Necesitarán 3 tarjetas de red
  • PCs: Necesitarán 1 tarjeta de red

Una vez hecho esto editaremos el fichero /etc/network/interfaces para realizar nuestra configuración de red .

Posteriormente reiniciaremos el servicio networking con systemctl restart networking.service para que se aplique la configuración de red que hemos indicado .

Configuración de la tarjeta de red Router 1 :

Configuración de la tarjeta de red Router 2 :

Configuración de la tarjeta de red Router 3 :

Configuración de la tarjeta de red Router 4 :

Configuración de la tarjeta de red Router MARCUS :

Configuración de la tarjeta de red Router ALEXANDER :

Activar el bit de forwarding

Si queremos hacer que una máquina Linux actúe como router, es decir que enrute los paquetes que no tienen como destino esta, deberemos de activar el bit de forwarding.

Además aprovecharemos para activar el bit de forwarding permanentemente en los routers del escenario, para ello, editamos el fichero /etc/sysctl.conf y descomentamos esta línea:

Esto mismo repetiremos para los 6 routers que tenemos en el escenario :

Router 1:

Router 2:

Router 3:

Router 4:

Router MARCUS:

Router ALEXANDER:

Ahora todas nuestras máquinas están configuradas para actuar como routers y encaminarán los paquetes que le lleguen y no sean para esta.

Configuración de rutas

Aquí te mostraré si he añadido alguna ruta manualmente y las tablas de enrutamiento de los dispositivos.

Router MARCUS:

Router ALEXANDER:

Router 1:

Router 2:

Router 4:

Teniendo la configuración de red que tengo en las tarjetas solo he añadido 2 rutas manuales, en los routers de MARCUS y ALEXANDER, en el resto no ha sido necesario ya que esta se genera automáticamente con la puerta de enlace que hayamos colocado al configurar las interfaces de red.

Podría haberme ahorrado escribirlas si les hubiese colocado en la interfaz que está configurada en la red 100.X.X.X la dirección IP del otro como puerta de enlace.

Prueba de conectividad

Vamos a comprobar que hemos realizado el enrutamiento correctamente así que voy a lanzar un ping desde cada router a cada uno de los extremos del escenario .

Router 1 :

Router 2 :

Router 3:

Router 4:

Queda comprobado que tenemos conectividad entre todos los routers, los PC no podrán tener “conectividad” hasta que configuremos el SNAT.

Configuración DHCP

Licántropos

Los licántropos por su parte, te contratan para que les asignes también por DHCP sus IPs, pero te indican que no pueden recibir las primeras 10 direcciones de su rango (sin contar la de red ni la de la puerta de enlace), ya que éstas, están reservadas para los jefes de su clan que están de viaje y volverán en unos días.

Con la máquina conectada a la nube NAT y la tarjeta que esté conectada configurada por DHCP nos descargaremos el servidor DHCP , para esto primero deberemos de hacer un apt update ya que la máquina no trae cargados los repositorios en memoria :

Cuando acabe de instalarse nos dará un error, este es debido a que no está configurado el servicio y no sabe por qué interfaz tiene que repartir direcciones el servidor:

ref1

Para ello editaremos el fichero /etc/default/isc-dhcp-server y añadiremos el nombre de la tarjeta en la sección de IPV4 :

Ahora configuraremos el ámbito con los requisitos que nos solicitan los licántropos para ello editaremos el fichero /etc/dhcp/dhcpd.conf :

Tendremos que tener en cuenta que la configuración que pongamos aquí sea coherente con la configuración de red que tenemos , tenemos que tener en cuenta que tenemos una /28 así que en este caso solo podremos tener 14 direcciones asignables .

Pero si seguimos el enunciado las 10 primeras no las quieren por lo que solo podremos asignar 3 a nuestros clientes .

Una vez hecho esto reiniciaremos el servicio:

Y veremos si está funcionando, viendo el estado:

Le asignaremos IP a un PC para comprobar que funciona:

Hombres lobo

Los hombres lobo que son bastante burros metiendo direcciones IP a sus máquinas, te piden que les configures el servicio DHCP para que todas sus máquinas reciban automáticamente una IP libre.

Con la máquina conectada a la nube NAT y la tarjeta que esté conectada configurada por DHCP nos descargaremos el servidor DHCP, para esto primero deberemos de hacer un apt update ya que la máquina no trae cargados los repositorios en memoria:

Cuando acabe de instalarse nos dará un error, este es debido a que no está configurado el servicio y no sabe por qué interfaz tiene que repartir direcciones el servidor:

ref1

Para ello editaremos el fichero /etc/default/isc-dhcp-server y añadiremos el nombre de la tarjeta en la sección de IPV4 :

Por suerte los hombres lobo son menos exigentes y ellos quieren que se reparta su rango de direcciones completo así que para ello editaremos el fichero /etc/dhcp/dhcpd.conf:

Ahora reiniciaremos el servicio :

Comprobaremos el estado del mismo para comprobar que esté funcionando correctamente :

Le asignaremos una dirección a un cliente para asegurarnos que todo funciona correctamente :

Configuración SNAT

Para acabar la fase de preparación necesitaremos de configurar SNAT para que las distintas razas puedan comunicarse entre si .

Router 1 :

Me he creado un archivo llamado iptables para guardar todas las reglas de la practica :

Para demostrar que funciona la regla , aquí vemos una captura entre el Router 1 y el PC1 :

vimos que una vez fuera de la red entre R1 y MARCUS se ha aplicado SNAT :

Router 2 :

Me he creado un archivo llamado iptables para guardar todas las reglas de la practica :

Para demostrar que funciona la regla , aquí vemos una captura entre el Router 2 y el PC3. Vemos que el origen es una dirección IP privada :

Vemos que una vez fuera de la red entre R2 y MARCUS se ha aplicado SNAT , ya que el origen ahora es una dirección IP pública :

Router 3 :

Me he creado un archivo llamado iptables para guardar todas las reglas de la practica :

Para demostrar que funciona la regla , aquí vemos una captura entre el Router 3 y el PC5. Vemos que el origen es una dirección IP privada :

Vemos que una vez fuera de la red entre R3 y ALEXANDER se ha aplicado SNAT , ya que el origen ahora es una dirección ip publica :

Router 4 :

Me he creado un archivo llamado iptables para guardar todas las reglas de la practica :

Para demostrar que funciona la regla , aquí vemos una captura entre el Router 4 y el PC7. Vemos que el origen es una dirección ip privada :

Vemos que una vez fuera de la red entre R4 y ALEXANDER se ha aplicado SNAT , ya que el origen ahora es una dirección IP pública :

Con el escenario actual cualquier PC es capaz de llegar a todas las direcciones públicas de nuestra red :

Configuración DNAT

Para que las maquinas puedan comunicarse entre si se les ha instalado ssh , así que tendremos que configurar el DNAT .

R1

Para esta red, como tenemos dos clientes, le he cambiado el puerto que usa el SSH:

Comprobamos que puedo conectarme a ambos host desde otra red, así vemos que funciona el DNAT.

Sonja:

Selene:

R2

En esta red solo tenemos un cliente al que queremos que se pueda acceder desde el exterior, así que solo tendremos una regla de DNAT:

Para comprobar la regla me meteré desde los vampiros a los humanos :

R3

En esta red al haber un servicio DHCP corriendo para que la regla de DNAT funcione correctamente deberemos de hacerle una reserva a nuestro host o configurarle la tarjeta de manera estática.

Yo haré lo primero por comodidad , para ello nos dirigimos al fichero /etc/dhcp/dhcpd.conf y escribimos lo siguiente:

host NombreDeLaReserva { hardware ethernet DIR_MAC_HOST; fixed-address IP_RESERVA;}

Una vez hecho esto reiniciamos el servicio :

Y pondré la siguiente regla:

Ahora vamos a comprobar que me puedo conectar a este host:

R4

En esta red también le configuraremos una reserva en el servidor para que nuestras reglas se mantengan activas, en este caso le asignaré la dirección 192.168.4.5.

Reiniciaremos el servicio y comprobamos que nuestro host tenga asignada la ip de la reserva , en caso contrario solicitaremos otra con dhclient :

Ahora añadiremos la regla de DNAT para que se pueda llegar al servidor ssh :

Comprobamos que la regla está funcionando y podemos conectarnos desde otra red:

Configuración cortafuegos

Los Vampiros no puedan comunicarse con el resto de especies

Pondré una política por defecto DROP en la tabla FORWARD para que tire todo el tráfico proveniente de la red de los vampiros :

Comprobaremos que los vampiros son incapaces de llegar a las demás redes :

Podemos ver los hits que ha realizado para ver que esta funcionando la regla :

Permitir comunicación entre Hombres Lobo y Licántropos

Los HOMBRES LOBO y los LICÁNTROPOS, dado que no son tan repulsivos cuando se cruzan, podrán comunicarse entre sí. Con el resto de especies no tendrán comunicación.

Pondré una política por defecto DROP en la tabla FORWARD y a continuación permitiré el trafico que entre por la interfaz ens4 y salga por la ens5 , y la inversa para permitir el trafico entre esta dos redes :

Vemos que entre ellos pueden comunicarse sin embargo no pueden acceder a los Humanos ni a los Vampiros :

Comprobaremos que las reglas tienen hits :

HUMANOS tampoco podrán comunicarse con el resto de especies

Con las reglas que tenemos actualmente la comunicación con otras especies por parte de los humanos no es posible, podemos ver que en R2 sin ninguna regla adicional no podemos conectarnos :

Vemos que no podemos comunicarnos :

Si queremos prohibir el trafico en nuestro router y no depender de las reglas externas en caso de que estas cambien añadiremos una política por defecto DROP :

Veremos los hits en la política por defecto :

Configurar en los cortafuegos las reglas necesarias para que, desde HUMANLAND, IT KNIGHT siga comunicándose con sus dos vampiros favoritas (SONJA Y SELENE).

Las ips de estas maquinas son :

  • IT KNIGHT (SSH)–> 192.168.2.3:22
  • SONJA (SSH) –> 192.168.1.4:22
  • SELENE (SSH) –> 192.168.1.5:2222

En el router 1 las reglas necesarias para poder permitir esta comunicación son :

En el router 2 las reglas necesarias para poder permitir esta comunicación son :

Vamos a ir comprobando acción a acción para asegurarnos de que estas reglas realizan su cometido.

SELENE –> ITKNIGHT

En el router 1 :

En el router 2:

SONJA –> ITKNIGHT

Hacemos ssh :

Vemos los hits del router 1:

Vemos los hits del router 2(Misma regla que el apartado anterior) :

ITKNIGHT –> SONJA

Hacemos ssh :

Vemos los hits del router 1 :

Vemos los hits del router 2 :

ITKNIGHT –> SELENE

Lanzamos el ssh :

Vemos los hits del router 1 :

Vemos los hits del router 2:

Servidor web HUMANLAND

Realiza las configuraciones necesarias para montar en HUMANLAND un servidor web accesible desde cualquier parte de UNDERWORLD.

Le he dado a este la ip 192.168.2.10 .

Lo primero que debemos de configurar es el DNAT en el router R2(HUMALAND):

Ahora en el router 2 permitiremos que se reciban peticiones al servidor y sus respuestas :

En el router 1 permitimos que puedan hacer peticiones y sus respuestas :

Para terminar en ALEXANDER permitimos que puedan atravesar peticiones web :

Vamos a comprobar que se pueden acceder desde todas las redes .

VAMPIROS :

Comprobamos los hits en router 1 :

HOMBRES LOBO Y LICÁNTROPOS

Hacemos la petición web desde ambas redes :

Comprobamos los hits en router ALEXANDER :

Por ultimo vemos los hits en el Router 2 (HUMANOS) de la regla DNAT

Escenario con routers Cisco

Configuración de las interfaces

R1

R2

R3

R4

MARCUS

ALEXANDER

Tablas de enrutamiento

R1

Añadimos la ruta por defecto :

Así quedaría la tabla de enrutamiento de R1:

R2

Añadimos la ruta por defecto :

Así quedaría la tabla de enrutamiento de R2:

R3

Añadimos la ruta por defecto :

Así quedaría la tabla de enrutamiento de R3:

R4

Añadimos la ruta por defecto :

Así quedaría la tabla de enrutamiento de R4:

MARCUS

Añadimos la ruta por defecto :

Así quedaría la tabla de enrutamiento de MARCUS:

ALEXANDER

Añadimos la ruta por defecto :

Así quedaría la tabla de enrutamiento de ALEXANDER:

Prueba de conectividad

Vamos a comprobar que hemos realizado el enrutamiento correctamente así que voy a lanzar un ping desde cada router a cada uno de los extremos del escenario .

R1 → A los extremos :

R2 → A los extremos :

R3 –> a los extremos:

R4 –> a los extremos

Configuración DHCP Licántropos

Los licántropos por su parte, te contratan para que les asignes también por DHCP sus IPs, pero te indican que no pueden recibir las primeras 10 direcciones de su rango (sin contar la de red ni la de la puerta de enlace), ya que éstas, están reservadas para los jefes de su clan que están de viaje y volverán en unos días.

Lo primero que haremos sera establecer el rango de IP´s excluidas del conjunto (pool) direcciónes que podrá asignar el servicio indicando la ip inicial y final del rango, ambas incluidas:

Ponemos un nombre al rango del servicio DHCP:

Definimos la red a la que dará servicio de DHCP:

Incluimos la puerta de enlace que ofrecerá el servicio :

Con esto ya tendríamos montado el servidor DHCP , con el siguiente comando podemos ver las estadísticas del servicio para ver si este está funcionando :

Comprobaremos a demás que se ha realizado la concesión a nuestro host :

DHCP Hombres lobo

Los hombres lobo que son bastante burros metiendo direcciónes IP a sus máquinas, te piden que les configures el servicio DHCP para que todas sus máquinas reciban automáticamente una IP libre.

En el apartado anterior detallo cada apartado de la configuración de un servidor DHCP en cisco , aquí te muestro la configuración para la red de los Hombre Lobo :

Comprobaremos que esta funcionando :

Configuración SNAT

Router 1:

Lo primero que haremos sera crear una acl para permitir el tráfico que queremos hacer SNAT :

Le asignaremos a la interfaz interna de nuestra red esta regla :

Ahora crearemos un pool con las ips publicas , el comando seria este no sale completo en la terminal :

Activamos el NAT :

Indicamos que interfaz es de “dentro” :

Indicamos la interfaz de “fuera”:

El SNAT estaría funcionando , así que vamos a comprobarlo :

Vemos que la regla tiene HITS:

Router 2:

Lo primero que haremos sera crear una acl para permitir el tráfico que queremos hacer SNAT :

Le asignaremos a la interfaz interna de nuestra red esta regla :

Ahora crearemos un pool con las ips publicas , el comando seria este no sale completo en la terminal :

Activamos el NAT :

Indicamos que interfaz es de “dentro” :

Indicamos la interfaz de “fuera”:

El SNAT estaría funcionando , así que vamos a comprobarlo viendo si la regla tiene HITS:

Router 3:

Lo primero que haremos sera crear una acl para permitir el tráfico que queremos hacer SNAT :

Le asignaremos a la interfaz interna de nuestra red esta regla :

Ahora crearemos un pool con las ips publicas , el comando seria este no sale completo en la terminal :

Activamos el NAT :

Indicamos que interfaz es de “dentro” :

Indicamos la interfaz de “fuera”:

El SNAT estaría funcionando , así que vamos a comprobarlo viendo si la regla tiene HITS:

Router 4:

Lo primero que haremos sera crear una acl para permitir el tráfico que queremos hacer SNAT :

Le asignaremos a la interfaz interna de nuestra red esta regla :

Ahora crearemos un pool con las ips publicas , el comando seria este no sale completo en la terminal :

Activamos el NAT :

Indicamos que interfaz es de “dentro” :

Indicamos la interfaz de “fuera”:

El SNAT estaría funcionando , así que vamos a comprobarlo viendo si la regla tiene HITS:

Configuración de DNAT

R1

Comprobación :

R2

Comprobación :

R3

Comprobación :

R4

Comprobación :

Configuración cortafuegos

Los Vampiros no puedan comunicarse con el resto de especies

Para ello vamos a borrar la regla existente que hay en la lista :

Ahora denegaremos el tráfico saliente de la red de los vampiros :

Comprobamos que no pueden comunicarse :

Miramos los hits de las reglas :

Permitir comunicación entre Hombres Lobo y Licántropos

Los HOMBRES LOBO y los LICÁNTROPOS, dado que no son tan repulsivos cuando se cruzan, podrán comunicarse entre sí. Con el resto de especies no tendrán comunicación.

Con estas dos reglas permitimos a cualquier host de nuestra redes locales salir cuando el destino es los hombres lobos o los licántropos :

  • R3-→ 180.0.0.1
  • R4 –> 190.0.0.1

Vemos que nos tira los paquetes que no van desde HL a LC o de LC a HL :

HUMANOS tampoco podrán comunicarse con el resto de especies

Con las reglas que tenemos actualmente la comunicación con otras especies por parte de los humanos no es posible, podemos ver que en R2 sin ninguna regla adicional no podemos conectarnos ya que nuestros paquetes llegaran a las redes .

Para que verdaderamente los humanos no puedan comunicarse sin depender de las reglas de los demos reinos , vamos a impedir que estos salgan del reino :

Si lo comprobamos ahora ellos no podrán salir del reino :

Miramos los hits :

Configurar en los cortafuegos las reglas necesarias para que, desde HUMANLAND, IT KNIGHT siga comunicándose con sus dos vampiros favoritas (SONJA Y SELENE).

Las ips de estas maquinas son :

  • IT KNIGHT (SSH) -–> 192.168.2.3:22
  • SONJA (SSH) -–> 192.168.1.4:22
  • SELENE (SSH) -–> 192.168.1.5:2222

Para permitir que los vampiros puedan salir a comunicarse con los humanos :

Permitimos los mensajes de salida a la publica de los vampiros cuando el puerto sea el 22 y 2222:

Ahora vamos a permitir que los vampiros puedan conectarse a los humanos usando el puerto 22 :

No sé por qué no funciona… solo va si no coloco ninguna regla, incluso permitiendo todo el tráfico SSH tampoco… También he permitido todo el ICMP, pero nada, sigue ocurriendo lo mismo.

Tanto el nat y el SNAT están funcionando bien pero a la hora de hacer las reglas ssh pasa lo siguiente en la red local al ser mandados de vuelta el router los corta a pesar de que el tráfico está permitido