Guía: Enrutamiento en Ubuntu con Iptables y Scripts .sh

Para llevar a cabo el Enrutamiento en este caso se va a realizar con maquinas virtuales. La maquina que va a enrutar va a ser una con Ubuntu 24.04 y la que vamos a utilizar de cliente una con Windows 10.

Guía: Enrutamiento en Ubuntu con Iptables y Scripts .sh

Tendremos que asignar las tarjetas de red a las maquinas. La maquina Windows(cliente) le asignaremos la red interna para que este en la misma red que la maquina Ubuntu(servidor).

configuracion-red-cliente-enrutamiento

Para la configuración del servidor en Ubuntu, se asignaremos una tarjeta NAT y otra con Red Interna, importante que la red interna se llame igual en ambas maquinas.

Adaptador con NAT

configuracion-virtualbox-nat

Adaptador con Red Interna

configuracion-red-interna

Una vez tengamos las maquinas configuradas, vamos a iniciar ambas maquinas y hacer la configuración de las direcciones IP.

Para la maquina Ubuntu(servidor) a la tarjeta de red que pertenezca a la Red Interna le asignaremos la IP 192.168.0.1, realmente se puede asignar cualquier ip pero en este caso se hará con esta ya que es mas visual. La tarjeta que pertenezca a la NAT la dejaremos de forma automática.

asignacion-manual-ip-ubuntu

Para la maquina cliente, le asignaremos la ip 192.168.0.2, también le asignaremos la puerta de enlace 192.168.0.1 y los DNS de google (Preferido 8.8.8.8 y Alternativo 8.8.4.4).

asignacion-manual-ip-windows

Una vez configuradas la red de ambos equipos vamos a probar a hacer un ping entre ambas maquinas para comprobar de que se ven dentro de la red.

Antes de probarlo vamos a ir en Windows a Firewall y protección de red y vamos a desactivarlo para que se pueda hacer un ping entre las maquinas.

firewall y protección de red windows
desactivar-firewall-windows

Una vez tengamos el firewall desactivado vamos a hacer un ping entre las maquinas.

Desde Ubuntu(servidor) a Windows:

ping-desde-ubuntu

Desde Windows(cliente) a Ubuntu(servidor):

ping desde windows

Ya teniendo los dos equipos preparados, vamos a comenzar con el enrutamiento, para ello en la maquina Ubuntu crearemos un archivo .sh desde terminal.

nano enrute.sh

Dentro de enrute.sh vamos a poner lo siguiente:

#!/bin/bash
echo "1" > /proc/sys/net/ipv4/ip_forward
iptables -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o enp0s3 -j MASQUERADE

echo «1» > /proc/sys/net/ipv4/ip_forward -> Permitir reenvió de paquetes entre interfaces | 0 no permitir y 1 permitir.

iptables -A FORWARD -j ACCEPT -> Acepta todos los paquetes en la cadena de reenvió FORWARD

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o enp0s3 -j MASQUERADE

  • -t nat -> Indica que estamos trabajando con la tabla nat, utilizada para modificar direcciones de red.
  • -A POSTROUTING -> Añade una regla a la cadena POSTROUTING, que es responsable de modificar los paquetes salientes después de que hayan sido enrutados.
  • -s 192.168.0.0/24 -> Aplica la regla a los paquetes provenientes de la red local con direcciones IP en el rango 192.168.0.0 a 192.168.0.255 (máscara /24).
  • -o enp0s3 -> Especifica que la regla aplica a los paquetes que salgan a través de la interfaz enp0s3 (presumiblemente la interfaz de red conectada a Internet), enp0s3 es la tarjeta de red que tiene la nat en nuestra maquina.
  • -j MASQUERADE -> Aplica la acción de enmascarado (NAT) a los paquetes. Esto significa que las direcciones IP de origen de los paquetes provenientes de la red local se cambiarán por la IP pública de la interfaz de salida (enp0s3). Así, desde el punto de vista del exterior, todo el tráfico parece venir desde la IP pública del servidor.

Una vez tengamos nuestro script saldremos, guardando con Ctrl + O y salimos con Ctrl + X, despues le asignaremos permisos de ejecución con el siguiente comando:

sudo chmod +x enrute.sh
asignar-permisos-de-ejecucion

Ahora ejecutaremos el script con el siguiente comando:

sudo ./enrute.sh
Ejecutar script de enrutamiento

Cuando ya lo hemos ejecutado, vamos a nuestra maquina Windows y comprobamos si tenemos internet, en el caso de no tener se puede reiniciar las tarjetas de red.

comprobacion de que funciona el enrutamiento

En este punto ya tendríamos el enrutamiento terminado, si queremos utilizarlo una vez cerrada la maquina tendremos que volver a ejecutar el script.

Entradas relacionadas

Instalar servidor FTP en Ubuntu 24.04

Instalar servidor FTP en Ubuntu 24.04

Instalación de VSFTPD Podria Interesarte – Instalar Ubuntu 24.04 en VirtualBox Paso a Paso Antes de instalar el servidor FTP tendremos que actualizar los paquetes y repositorios…

Cómo Instalar Python 3 en Ubuntu: Guía Paso a Paso

Cómo Instalar Python 3 en Ubuntu: Guía Paso a Paso

Python es un lenguaje de programación popular y versátil, utilizado tanto por principiantes como por desarrolladores experimentados. Si estás utilizando Ubuntu y quieres instalar Python 3 en…

Instalación de PostgreSQL 16 y pgAdmin4 en Windows

Instalación de PostgreSQL 16 y pgAdmin4 en Windows

¿Estás listo para llevar tus habilidades de gestión de bases de datos al siguiente nivel? En esta guía detallada, te mostraremos cómo instalar PostgreSQL 16, una de…

Instalar Visual Studio Code en Ubuntu 24.04

Instalar Visual Studio Code en Ubuntu 24.04

Visual Studio Code, conocido comúnmente como VS Code, es uno de los editores de código más populares y versátiles disponibles en la actualidad. Desarrollado por Microsoft, ofrece…

Instalar Node.js y NPM en Ubuntu 24.04 con NodeSource

Instalar Node.js y NPM en Ubuntu 24.04 con NodeSource

En esta guía, aprenderás a instalar Node.js y npm en Ubuntu 24.04 utilizando el repositorio de NodeSource. Sigue este tutorial paso a paso para configurar tu entorno…

Conectarse por Escritorio Remoto a un Equipo de la misma Red

En el mundo actual, donde la conectividad es la columna vertebral de la productividad, la capacidad de acceder y controlar los equipos de forma remota se ha…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

×