Como montar un router con debian 12
Tabla de contenidos
- 1 Configuración de tarjetas de red en un servidor virtual
- 1.1 Introducción
- 1.2 Pasos principales
- 1.2.1 1. Verificación de la IP actual y conexión por SSH
- 1.2.2 2. Comprobación de interfaces de red
- 1.2.3 3. Configuración de una tercera interfaz en VirtualBox
- 1.2.4 4. Verificación de la nueva interfaz de red
- 1.2.5 5. Configuración del archivo de interfaces de red
- 1.2.6 6. Aplicación de los cambios
- 1.2.7 Conclusión
- 2 Permitir pings entre redes
- 3 Configuración del servidor DNS en clientes Debian
- 4 Configuración de un firewall con iptables para acceso a Internet
- 5 Hacer que las reglas de iptables sean permanentes
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 es192.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
yenp0s8
. - 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 interfazenp0s9
se configura como una red estática. - Se asignan las siguientes redes:
- Red de alumnos:
enp0s8
con la IP10.0.0.1
. - Red de profesores:
enp0s9
con la IP estática192.20.0.1/24
. Ejemplo de configuración para la interfazenp0s9
:
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 interfazenp0s9
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 salidaenp0s3
, 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.