VLANs sin VLANs: cómo aislar clientes con redes internas

Avatar de Apuntes Hacking

Introducción

Imagina que quieres montar un pequeño laboratorio en tu ordenador.

Tienes tres «clientes» imaginarios:

  • Cliente Rojo (por ejemplo, una tienda online)
  • Cliente Verde (por ejemplo, una clínica médica)
  • Cliente Azul (por ejemplo, una startup de tecnología)

Cada cliente tiene dos máquinas virtuales (dos «ordenadores virtuales» dentro de tu PC).

La regla de oro: El Cliente Rojo no puede ver al Cliente Verde. El Verde no puede ver al Azul. Cada cliente vive en su propio mundo.

Pero tú solo tienes un ordenador y no quieres complicarte con cosas raras como VLANs, switches gestionables o comandos de red avanzados.

La solución: Usar las redes internas de VirtualBox.

En este post te voy a guiar paso a paso, haciendo clic en cada cosa, para que lo consigas aunque nunca hayas tocado una máquina virtual en tu vida.

¿Qué es una «red interna» en VirtualBox?

VirtualBox tiene varios «modos de red». Uno de ellos se llama Red Interna.

Cuando pones una máquina virtual en «Red Interna», pasa esto:

  • Esa VM solo puede hablar con otras VMs que estén en la misma Red Interna
  • No tiene internet
  • No puede hablar con tu ordenador (el anfitrión)
  • No puede hablar con VMs que estén en otra Red Interna diferente

Es como si cada Red Interna fuera una habitación cerrada con llave. Las VMs dentro de la misma habitación se ven. Las de diferentes habitaciones, no.

Para este tutorial vamos a crear tres habitaciones (tres redes internas):

Nombre de la red internaPara qué cliente
intnet_rojoCliente Rojo
intnet_verdeCliente Verde
intnet_azulCliente Azul

Lo que vas a necesitar antes de empezar

  • VirtualBox instalado (puedes descargarlo desde virtualbox.org – es gratis)
  • Al menos 2 máquinas virtuales creadas (con cualquier sistema operativo: Linux, Windows, lo que tengas)
  • Si no tienes VMs, créalas rápido con cualquier ISO liviana (te recomiendo Ubuntu Server o Alpine Linux)

No necesitas: Internet funcionando dentro de las VMs, conocimientos de redes, ni comandos avanzados.

Paso 1: Identifica tus máquinas virtuales

Abre VirtualBox. Verás una lista con tus máquinas virtuales.

Para este tutorial, vamos a usar seis máquinas virtuales (puedes usar menos para probar, pero con seis queda claro). Nómbralas así para no liarte:

Nombre de la VMClienteRol
Rojo_ServidorRojoServidor web
Rojo_BDRojoBase de datos
Verde_ServidorVerdeServidor web
Verde_BDVerdeBase de datos
Azul_ServidorAzulServidor web
Azul_BDAzulBase de datos
Yo he usado Alpine Linux

Paso 2: Configurar la red interna en una VM

Vamos a configurar una VM paso a paso. Luego repetirás para las demás.

Paso 2.1: Selecciona la VM

Haz clic en la VM que quieres configurar (por ejemplo, Rojo_Servidor). No la enciendas todavía.

Paso 2.2: Abre la configuración (Settings)

Haz clic en el botón «Configuración» (arriba, con forma de engranaje).

Paso 2.3: Ve a la sección Red (Network)

En el menú de la izquierda, haz clic en «Red» (Network).

Paso 2.4: Cambia el modo a «Red Interna»

En la pestaña «Adaptador 1» (Adapter 1), haz esto:

1º En el desplegable «Conectado a» , haz clic y selecciona «Red Interna»

2º Justo debajo aparecerá un campo llamado «Nombre» (Name). Ahí tienes que escribir el nombre de la red interna para este cliente.

  • Para VM del Cliente Rojo: escribe intnet_rojo
  • Para VM del Cliente Verde: escribe intnet_verde
  • Para VM del Cliente Azul: escribe intnet_azul

3º Deja el resto de opciones como están (tipo de adaptador: «Intel PRO/1000 MT Desktop» está bien) y dale a OK

Paso 3: Encender las VMs y asignar direcciones IP

Cuando enciendas una VM con Red Interna, verás que no tiene internet (normal, ya lo dijimos). Tampoco tiene IP asignada automáticamente (no hay DHCP por defecto).

Vamos a poner IPs fijas manualmente. Te explico cómo hacerlo según el sistema operativo de tu VM.

Opción A: Tu VM tiene Linux (Ubuntu, Debian, Alpine, etc.)

Dentro de la VM, abre una terminal (consola). Escribe estos comandos uno por uno:

Para una VM del Cliente Rojo (por ejemplo, IP 10.0.10.10):

sudo ip addr add 10.0.10.10/24 dev eth0
sudo ip link set eth0 up
Bash

Puedes comprobar que ha funcionando con el comando ifconfig y viendo que la configuración coincide con la que hemos puesto:

Podemos ver a eth0 con inet addr 10.0.10.10.

Para una VM del Cliente Rojo (la segunda, IP 10.0.10.20):

sudo ip addr add 10.0.10.20/24 dev eth0
sudo ip link set eth0 up
Bash

Para una VM del Cliente Verde (IP 10.0.20.10):

sudo ip addr add 10.0.20.10/24 dev eth0
sudo ip link set eth0 up
Bash

Para una VM del Cliente Verde (la segunda, IP 10.0.20.20):

sudo ip addr add 10.0.20.20/24 dev eth0
sudo ip link set eth0 up
Bash

Para una VM del Cliente Azul (IP 10.0.30.10):

sudo ip addr add 10.0.30.10/24 dev eth0
sudo ip link set eth0 up
Bash

Para una VM del Cliente Azul (la segunda, IP 10.0.30.20):

sudo ip addr add 10.0.30.20/24 dev eth0
sudo ip link set eth0 up
Bash

Opción B: Tu VM tiene Windows :'(

1º Abre el Panel de ControlCentro de redes y recursos compartidos

2º Haz clic en «Cambiar configuración del adaptador»

3º Haz clic derecho en el adaptador de red (Ethernet) → Propiedades

4º Selecciona «Protocolo de Internet versión 4 (TCP/IPv4)»Propiedades

5º Selecciona «Usar la siguiente dirección IP» y rellena:

ClienteIPMáscara de subred
Rojo10.0.10.10255.255.255.0
Verde10.0.20.10255.255.255.0
Azul10.0.30.10255.255.255.0

6º Deja Puerta de enlace en blanco

7º Haz clic en Aceptar y luego en Cerrar

Paso 4: Probar que las VMs del mismo cliente se ven

Ahora viene la parte divertida: comprobar que funciona.

Prueba 1: Mismo cliente, misma red interna → DEBE funcionar

1º Enciende Rojo_Servidor (IP 10.0.10.10) y Rojo_BD (IP 10.0.10.20)

2º Dentro de Rojo_Servidor, abre una terminal y escribe:

ping 10.0.10.20
Bash

Resultado esperado: Ves algo como esto:

PING 10.0.10.20 (10.0.10.20) 56(84) bytes of data.
64 bytes from 10.0.10.20: icmp_seq=1 ttl=64 time=0.5ms
64 bytes from 10.0.10.20: icmp_seq=2 ttl=64 time=0.4ms
Bash

Eso significa que hay conexión. Las dos VMs rojas se ven. ✅

Para detener el ping, pulsa Ctrl + C.

Prueba 2: Mismo cliente, desde la otra VM (simétrico)

Desde Rojo_BD (10.0.10.20), haz ping a Rojo_Servidor (10.0.10.10):

ping 10.0.10.10
Bash

También debe funcionar. ✅

Paso 5: Probar que VMs de diferentes clientes NO se ven

Esta es la prueba más importante. El aislamiento tiene que funcionar.

Prueba 3: Desde cliente Rojo a cliente Verde → DEBE fallar

Desde Rojo_Servidor (10.0.10.10), intenta hacer ping a Verde_Servidor (10.0.20.10):

ping 10.0.20.10
Bash

Resultado esperado: No recibe respuesta. Algo como (el mensaje de error puede variar):

From 10.0.10.10 icmp_seq=1 Destination Host Unreachable
Bash

No hay conexión. Eso es lo que queremos. El aislamiento funciona.

Te animo a que tu mismo lo intentes con el resto de maquinas para que veas que todo funciona como se espera.

                     [TU ORDENADOR]
(no ve las VMs)
|
+------------------+------------------+
| | |
[intnet_rojo] [intnet_verde] [intnet_azul]
| | |
Rojo_Servidor Verde_Servidor Azul_Servidor
Rojo_BD Verde_BD Azul_BD

✅ Se ven entre sí ✅ Se ven entre sí ✅ Se ven entre sí
❌ No ven a los otros ❌ No ven a los otros ❌ No ven a los otros

Etiquetas:

Avatar de Apuntes Hacking

Deja una respuesta

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