Como montar un router con debian 12

Crea un router con debian 12

Tabla de contenidos

Configuración de tarjetas de red en un servidor virtual

Introducción

En este video, se explica cómo configurar múltiples tarjetas de red en un servidor virtual utilizando VirtualBox. La configuración incluye agregar una tercera red y asignar las IPs correspondientes a diferentes segmentos de la red, como la red de alumnos y la de profesores. También se realizan comprobaciones de conectividad y configuración de red mediante comandos como ifconfig.

Pasos principales

1. Verificación de la IP actual y conexión por SSH

  • Se inicia la máquina virtual.
  • Se verifica la IP de la máquina virtual usando ifconfig. En este caso, la IP es 192.168.1.178.
  • Se realiza la conexión por SSH al servidor virtual con el siguiente comando:
  ssh guillem@192.168.1.178

Nota: La conexión se realiza sin necesidad de contraseña.

2. Comprobación de interfaces de red

  • Se ejecuta el comando ifconfig -a para listar las interfaces de red disponibles. Solo se encuentran configuradas dos interfaces: enp0s3 y enp0s8.
  • Dado que se requiere una tercera red, es necesario detener la máquina virtual para configurar una nueva interfaz.

3. Configuración de una tercera interfaz en VirtualBox

  • Se apaga la máquina virtual con el comando:
  sudo halt
  • En VirtualBox, se añade un tercer adaptador de red en el menú de configuración de red. Este adaptador se asigna a una red interna previamente creada llamada «Proof».
  • Se cambia la dirección MAC del adaptador para evitar conflictos.
  • Se reinicia la máquina virtual.

4. Verificación de la nueva interfaz de red

  • Una vez reiniciada la máquina, se verifica que la nueva interfaz de red está configurada.
  • Se ejecuta nuevamente ifconfig -a y ahora aparece la nueva interfaz de red, enp0s9.

5. Configuración del archivo de interfaces de red

  • Se edita el archivo de configuración de las interfaces de red ubicado en /etc/network/interfaces para definir la configuración de la nueva red. La interfaz enp0s9 se configura como una red estática.
  • Se asignan las siguientes redes:
  • Red de alumnos: enp0s8 con la IP 10.0.0.1.
  • Red de profesores: enp0s9 con la IP estática 192.20.0.1/24. Ejemplo de configuración para la interfaz enp0s9:
  auto enp0s9
  iface enp0s9 inet static
      address 192.20.0.1
      netmask 255.255.255.0

6. Aplicación de los cambios

  • Se aplican los cambios de configuración de red con los siguientes comandos:
  sudo ifdown enp0s9
  sudo ifup enp0s9
  • Se verifica la configuración con ifconfig para confirmar que la nueva IP y la interfaz enp0s9 están correctamente configuradas.

Conclusión

En este video, se ha mostrado cómo configurar tres tarjetas de red en un servidor virtual:

  • enp0s3: Red principal configurada por DHCP.
  • enp0s8: Red de alumnos con IP estática 10.0.0.1.
  • enp0s9: Red de profesores con IP estática 192.20.0.1.

Se han completado los pasos para configurar correctamente las interfaces de red en un entorno virtual. En próximos videos, se explicará cómo convertir este servidor en un router y cómo configurar un firewall para controlar el tráfico de red.

Permitir pings entre redes

En este video, se explica cómo permitir la comunicación entre dos máquinas que se encuentran en redes diferentes utilizando un router. Se aborda la configuración del archivo sysctl.conf para activar el reenvío de paquetes (IP forwarding), lo cual es esencial para que las redes puedan dialogar entre sí.

Pasos principales

1. Comprobación de conectividad entre clientes

  • Se tienen dos clientes en diferentes redes:
  • Red de alumnos: IP 10.0.100.0
  • Red de profesores: IP 192.20.0.100
  • Inicialmente, se realiza un ping desde una red hacia la otra, pero no hay respuesta, ya que las redes son diferentes y no están conectadas mediante un router. Esto es un comportamiento esperado cuando las redes no comparten el mismo rango y no existe un mecanismo que las interconecte.

2. Necesidad de un router para conectar redes

  • Para permitir que dos redes distintas se comuniquen, es necesario un router que actúe como puente entre ellas.
  • Se realiza la configuración del router en el servidor para que gestione el tráfico entre las dos redes.

3. Modificación del archivo sysctl.conf

  • El siguiente paso es configurar el reenvío de paquetes (IP forwarding) en el servidor. Este ajuste permitirá que el servidor actúe como un router.
  • Para ello, se edita el archivo de configuración sysctl.conf con privilegios de superusuario:
  sudo nano /etc/sysctl.conf
  • En el archivo, se busca la línea que contiene el parámetro net.ipv4.ip_forward=1. Esta línea, por defecto, está comentada, lo que impide el reenvío de paquetes entre redes.
  • Para activar el reenvío de paquetes, se descomenta esta línea:
  net.ipv4.ip_forward=1
  • Una vez descomentada la línea, se guarda el archivo y se reinicia el servidor para aplicar los cambios.

4. Reinicio del servidor y comprobación

  • Después de realizar el cambio en el archivo sysctl.conf, se reinicia el servidor con el comando:
  sudo reboot
  • Tras el reinicio, se espera que los pings entre las dos máquinas comiencen a responder, lo cual indica que ahora el tráfico puede fluir entre las dos redes gracias al reenvío de IPs activado en el servidor.

5. Verificación de la conectividad

  • Durante el reinicio, los pings realizados anteriormente muestran que la red es inaccesible, lo cual es temporal hasta que el servidor se reactive por completo.
  • Una vez reiniciado el servidor y aplicada la configuración, los pings comienzan a responder, lo que confirma que las dos redes ahora pueden dialogar entre sí a través del router.

6. Conexión SSH y finalización

  • Se realiza una última comprobación de la conectividad SSH para asegurarse de que el servidor sigue accesible:
  ssh usuario@dirección_IP
  • Al confirmar que el SSH y los pings funcionan correctamente, se concluye que las redes se están comunicando con éxito.

Conclusión

En este video, se ha mostrado cómo permitir la comunicación entre dos redes distintas mediante la configuración de un router y la activación del reenvío de IPs. Este proceso incluye la modificación del archivo sysctl.conf, la cual es esencial para que el servidor permita el tráfico entre redes. Tras el reinicio del servidor y la aplicación de los cambios, las redes pueden dialogar entre sí sin problemas.

Configuración del servidor DNS en clientes Debian

En este video, se explica cómo configurar correctamente el servidor de DNS en las máquinas virtuales cliente, tanto para la red de profesores como para la de alumnos, de modo que puedan resolver nombres de dominio y tener acceso a Internet. Este paso es esencial para que los clientes puedan conectarse a sitios web como google.com o guillem.com. El video destaca la necesidad de ajustar la configuración del archivo resolve.conf para corregir problemas de resolución de DNS.

Pasos principales

1. Verificación de la conexión DNS

  • Se intenta realizar una conexión a Internet desde una máquina virtual utilizando el comando wget, por ejemplo:
  wget http://www.google.com

Sin embargo, la conexión queda congelada, indicando un problema con la resolución de nombres de dominio (DNS).

2. Comprobación del archivo de configuración DNS

  • Se verifica el archivo /etc/resolv.conf para ver cuál es el servidor DNS que está configurado en el cliente:
  cat /etc/resolv.conf
  • En este caso, se detecta que el servidor DNS configurado no es adecuado para la máquina virtual, lo que provoca el fallo en la resolución de nombres.

3. Edición del archivo resolv.conf

  • Para solucionar el problema, se edita el archivo /etc/resolv.conf en la máquina cliente para configurar un servidor DNS confiable, como los de Google:
  sudo nano /etc/resolv.conf
  • Se modifica el archivo para añadir la siguiente línea:
  nameserver 8.8.8.8

Nota: 8.8.8.8 es una de las direcciones de los servidores DNS de Google.

  • Esta configuración debe realizarse en todas las máquinas clientes que necesiten acceder a Internet.

4. Comprobación de la configuración DNS

  • Después de hacer este cambio, se vuelve a intentar resolver un dominio con wget para comprobar si ahora la resolución de DNS es correcta:
  wget http://www.google.com

Si la configuración es correcta, la página web debería descargarse sin problemas.

5. Limitaciones actuales

  • Aunque la configuración del servidor DNS ha sido corregida, las máquinas aún no pueden acceder a Internet. Esto se debe a que el router aún no está configurado para permitir que las máquinas en la red interna se conecten a Internet. Este paso se abordará en un video posterior.

6. Preparación para futuros cambios

  • Se menciona que en un futuro, cuando se monte un servidor DNS propio, se deberá ajustar la configuración del archivo /etc/resolv.conf nuevamente para que apunte al servidor DNS local. Por ahora, se utiliza el servidor de Google para garantizar que los clientes puedan resolver nombres de dominio.

Conclusión

En este video, se ha mostrado cómo configurar correctamente el servidor DNS en clientes Debian, lo cual es esencial para permitir la resolución de nombres de dominio. Aunque la conexión a Internet aún no es posible, se ha solucionado el problema de DNS, y en próximos videos se configurará el router para permitir el acceso completo a Internet desde las redes internas.

Configuración de un firewall con iptables para acceso a Internet

En este video, se explica cómo configurar un firewall utilizando iptables para permitir que los clientes conectados a redes internas puedan acceder a Internet. Además, se aborda cómo crear reglas temporales para dos redes diferentes y se menciona el problema de la no persistencia de las reglas cuando el router se reinicia. Finalmente, se anticipa que en el siguiente video se verá cómo hacer permanentes dichas reglas.

Pasos principales

1. Instalación de iptables

  • Para empezar, es necesario comprobar si el firewall iptables está instalado. Se puede verificar con:
  sudo iptables

Si no está instalado, se procede con la instalación:

  sudo apt install iptables

2. Configuración de reglas en iptables

Para permitir que los paquetes de las redes internas se enruten hacia Internet, se deben crear dos reglas NAT (una para cada red).

a. Regla para la red de alumnos
  • Se crea una regla de NAT para la red de alumnos, con dirección de origen 10.0.0.0/24, y se envían los paquetes hacia la interfaz de salida enp0s3, que es la conectada a Internet:
  sudo iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -o enp0s3 -j MASQUERADE
  • Tras aplicar esta regla, se puede verificar si los clientes de la red de alumnos ya tienen acceso a Internet. Por ejemplo, se puede ejecutar:
  wget http://www.google.com

El cliente debería poder conectarse a Internet sin problemas.

b. Regla para la red de profesores
  • Se repite el mismo procedimiento para la red de profesores, con dirección de origen 192.20.0.0/24:
  sudo iptables -t nat -A POSTROUTING -s 192.20.0.0/24 -o enp0s3 -j MASQUERADE
  • Al igual que en la red de alumnos, los clientes de la red de profesores deberían poder acceder a Internet tras ejecutar esta regla.

3. Comprobación de conectividad en ambas redes

  • Se prueba nuevamente la conectividad en ambas redes para asegurar que los cambios funcionan correctamente:
  • Red de alumnos: Ejecutar wget para verificar acceso a Internet.
  • Red de profesores: Realizar la misma verificación en otro cliente de esta red.

4. Problema de persistencia de las reglas

  • Se menciona que las reglas de iptables no son persistentes por defecto. Es decir, si el router se reinicia, las reglas creadas se pierden y las máquinas pierden acceso a Internet.
  • Tras el reinicio del router, las interfaces de red pueden no tener dirección IP asignada, lo que requiere que se reinicien manualmente con los siguientes comandos:
  sudo ifdown enp0s3
  sudo ifup enp0s3
  • Para restaurar el acceso a Internet, es necesario volver a ejecutar manualmente las reglas de iptables para cada red.

5. Necesidad de hacer las reglas permanentes

  • Dado que reconfigurar el firewall cada vez que se reinicia el router no es práctico, en el próximo video se explicará cómo hacer que las reglas de iptables sean permanentes para que no sea necesario reconfigurarlas tras cada reinicio del servidor.

Conclusión

En este video, se ha mostrado cómo configurar un firewall con iptables para permitir que dos redes internas accedan a Internet. Se han creado reglas NAT para las redes de alumnos y profesores, redirigiendo el tráfico hacia la interfaz conectada a Internet. Aunque las reglas funcionan correctamente, no son persistentes, lo cual se resolverá en un próximo video donde se explicará cómo hacer que estas configuraciones sean permanentes.

Hacer que las reglas de iptables sean permanentes

En este video, se muestra cómo hacer que las reglas configuradas en iptables sean permanentes en el servidor. De esta manera, cada vez que el router se reinicie, las reglas de firewall se restaurarán automáticamente, permitiendo que las máquinas virtuales conectadas a las redes internas mantengan acceso a Internet. Para lograr esto, se guardarán las reglas de iptables en un archivo de configuración y se creará un script que restaure estas reglas al iniciar el sistema.

Pasos principales

1. Verificar y guardar las reglas actuales de iptables

  • Para comprobar las reglas que actualmente están activas en iptables, se puede ejecutar el siguiente comando:
  sudo iptables-save

Esto mostrará las reglas configuradas, como las dos reglas NAT que permiten a las redes internas (alumnos y profesores) acceder a Internet.

  • A continuación, es necesario guardar estas reglas en un archivo para que puedan restaurarse en el futuro:
  sudo iptables-save > /etc/firewall.conf

Esto creará un archivo llamado firewall.conf en el directorio /etc, que contendrá todas las reglas actuales de iptables.

  • Para verificar que las reglas se han guardado correctamente, se puede revisar el contenido del archivo:
  cat /etc/firewall.conf

2. Restaurar las reglas con iptables-restore

  • El comando iptables-restore permite cargar las reglas desde un archivo, como el que acabamos de crear. Para probarlo:
  sudo iptables-restore < /etc/firewall.conf

Aunque no haya cambios visibles en este momento (ya que las reglas ya están activas), este comando asegura que las reglas pueden restaurarse desde el archivo firewall.conf.

3. Crear un script para restaurar las reglas al iniciar el sistema

  • Para hacer que estas reglas se restauren automáticamente cada vez que el sistema arranque, es necesario crear un script que ejecute iptables-restore al iniciar la red. Este script se colocará en el directorio /etc/network/if-up.d/, que contiene scripts que se ejecutan cuando una interfaz de red se inicia.
  • Para crear el script, ejecuta los siguientes comandos:
  sudo nano /etc/network/if-up.d/iptables
  • En el archivo, escribe el siguiente contenido:
  #!/bin/sh
  /sbin/iptables-restore < /etc/firewall.conf
  • Guarda el archivo y dale permisos de ejecución con:
  sudo chmod +x /etc/network/if-up.d/iptables

4. Probar la persistencia de las reglas tras un reinicio

  • Ahora que el script está creado, las reglas de iptables deberían restaurarse automáticamente al reiniciar el sistema. Para probarlo, reinicia el servidor:
  sudo reboot
  • Una vez que el sistema haya arrancado de nuevo, comprueba si las reglas de iptables se han restaurado correctamente:
  sudo iptables-save
  • Verifica que las máquinas clientes tienen acceso a Internet. Ejecuta, por ejemplo, un wget desde una de las máquinas virtuales:
  wget http://www.google.com

5. Solución de problemas comunes

  • En ocasiones, la interfaz de red no obtiene una IP al arrancar. Si esto ocurre, puedes reiniciar la interfaz de red manualmente con los siguientes comandos:
  sudo ifdown np0s3
  sudo ifup np0s3
  • Tras reiniciar la interfaz, asegúrate de que la IP está correctamente asignada y que las máquinas virtuales pueden acceder a Internet.

Conclusión

En este video, se ha mostrado cómo hacer que las reglas de iptables sean permanentes utilizando iptables-save, iptables-restore y un script que se ejecuta automáticamente al iniciar la red. Ahora, tras cada reinicio del servidor, las reglas del firewall se restaurarán y los clientes podrán seguir accediendo a Internet sin necesidad de reconfigurar manualmente el firewall.

Este es un paso crucial en la configuración de un router con Debian, asegurando que el sistema sea robusto y funcional tras cada reinicio.

Comentarios

No comments found.