Qué es y qué vas a obtener: En esta guía aprenderás de forma práctica cómo dar Internet en VirtualBox NAT a una máquina virtual: qué hace exactamente el modo NAT, cómo activarlo desde la GUI y con VBoxManage, cómo comprobar conectividad en invitados Windows y Linux, cómo manejar IP dinámica o fija, crear una NAT Network para varias VMs y configurar reenvío de puertos. Al final tendrás comprobaciones claras y soluciones para los errores más habituales.
Introducción: cuándo y por qué usar NAT en VirtualBox
El modo NAT (Network Address Translation) es la opción por defecto cuando sólo necesitas que la máquina virtual (invitado) acceda a Internet saliente sin exponerla directamente en la red local. Es ideal para pruebas, navegación, descargas y entornos de laboratorio donde no se requiere que otras máquinas de la LAN contacten directamente con el invitado.
Qué hace el modo NAT: resumen técnico y direcciones por defecto
En modo NAT VirtualBox actúa como un router/NAT entre el invitado y la red del host. Por defecto la pila de red del invitado suele obtener via DHCP una IP del rango gestionado por VirtualBox; los valores por defecto típicos son:
- IP del invitado: 10.0.2.15
- Gateway: 10.0.2.2
- Servidor DNS (proxy de VirtualBox): 10.0.2.3
Esto permite que el invitado alcance Internet usando la conexión del host, sin necesidad de ajustes en el router de la red física.
NAT vs NAT Network vs Bridged: cuándo elegir cada uno
- NAT (simple): fácil, funciona out-of-the-box. Buena para un único invitado que necesita salir a Internet. Permite reenvío de puertos desde host a invitado.
- NAT Network: crea una red NAT compartida entre varias VMs (misma subred, DHCP opcional) y permite administración centralizada del NAT/port-forward para ese bloque. Recomendada si varias VMs deben comunicarse entre sí y salir a Internet sin exponerse a la LAN.
- Bridged (puente): el invitado aparece en la red física con su propia IP. Útil cuando el invitado debe ser accesible desde otros equipos de la LAN o recibir DHCP del router real.
Si quieres más detalles sobre diferencias y usos, consulta el artículo sobre modos de red en el sitio.
Modos de red VirtualBox: NAT, puente, host-only e interna
Requisitos y comprobaciones previas
- Tener VirtualBox instalado y la máquina virtual creada.
- Permisos administrativos en el host para cambiar la red si vas a usar VBoxManage o crear NAT Networks.
- Comprobar la versión de VirtualBox si vas a usar comandos avanzados:
VBoxManage --version.
Paso 1 — Activar el adaptador NAT (GUI y VBoxManage)
GUI (VirtualBox Manager)
- Selecciona la VM y pulsa Configuración (Settings).
- Ve a Red > Adaptador 1.
- Marca Enable Network Adapter y en Attached to: selecciona NAT.
- Si necesitas tráfico entrante al invitado, pulsa Advanced > Port Forwarding y añade las reglas.
CLI (VBoxManage)
Para activar NAT desde la línea de comandos:
VBoxManage modifyvm "Nombre_VM" --nic1 nat
Ejemplo de reenvío de puertos (host 2222 → guest 22):
VBoxManage modifyvm "Nombre_VM" --natpf1 "ssh,tcp,,2222,,22"
Explicación: --natpf1 "nombre,tcp,host-ip,hostport,guest-ip,guestport". Si no hay host-ip se deja vacío (como en el ejemplo) para escuchar en todas las interfaces del host.
Paso 2 — Comprobar la IP y la conectividad en el invitado (Windows/Linux)
Windows
ipconfig /all
Busca la interfaz de red y confirma la IP, gateway y DNS (deberías ver la IP 10.0.2.15 o similar). Comprueba conectividad:
ping 10.0.2.2 # gateway VirtualBox
ping 8.8.8.8 # prueba de salida a Internet (IP)
nslookup google.com # prueba DNS
Linux
ip addr show
cat /etc/resolv.conf # o systemd-resolve --status
Pruebas:
ping -c 3 10.0.2.2
ping -c 3 8.8.8.8
nslookup google.com
curl -I https://www.google.com
IP dinámica (DHCP) vs IP estática en modo NAT
Por defecto el invitado obtendrá IP vía DHCP de VirtualBox. Si no hay DHCP (caso raro en NAT simple) puedes asignar una IP estática dentro de la subred 10.0.2.0/24 asegurándote de usar gateway 10.0.2.2 y DNS 10.0.2.3 o un DNS público (8.8.8.8). Ten en cuenta que en NAT simple no puedes elegir la IP del DHCP del host; para control completo usa NAT Network con DHCP configurado.
Usar NAT Network (crear y habilitar con VBoxManage)
NAT Network es útil cuando varias VMs comparten la misma NAT y quieres un DHCP común o reenvíos centralizados.
VBoxManage natnetwork add --netname natnet1 --network "192.168.15.0/24" --enable
VBoxManage natnetwork modify --netname natnet1 --dhcp on
Para unir una VM a esa red:
VBoxManage modifyvm "Nombre_VM" --nic1 natnetwork --nat-network1 natnet1
Después inicia la VM y comprueba que recibe una IP del rango 192.168.15.0/24 y acceso a Internet.
Reenvío de puertos (port forwarding): GUI y ejemplos con VBoxManage
Reenvío de puertos permite que servicios dentro del invitado sean accesibles desde el host (y si el host está en la LAN, también desde la LAN si no hay firewall que lo impida).
Ejemplos con VBoxManage:
- SSH del invitado en el puerto 22 → puerto 2222 del host:
VBoxManage modifyvm "Nombre_VM" --natpf1 "ssh,tcp,,2222,,22"
- Acceder a una web en el invitado (guest 80) desde host en el puerto 8080:
VBoxManage modifyvm "Nombre_VM" --natpf1 "http,tcp,,8080,,80"
En la GUI estas reglas se crean desde Port Forwarding en la sección de red del adaptador NAT.
Comprobaciones y comandos útiles
- Comprobar versión VirtualBox:
VBoxManage --version. - Comprobar adaptador en VM (host): mira la configuración en VirtualBox Manager o usa
VBoxManage showvminfo "Nombre_VM" --details. - Pruebas desde el invitado:
ping,nslookup,curl,traceroute(otracerten Windows). - Ver reglas de reenvío (host): en la GUI o con
VBoxManage showvminfo "Nombre_VM"y buscaForwarding.
Problemas frecuentes y soluciones
- Sin DHCP / IP no asignada: asigna IP estática en la subred 10.0.2.0/24 (gateway 10.0.2.2) o crea una NAT Network con DHCP activado.
- Resolv.conf muestra DNS incorrecto / fallan resoluciones: prueba a poner un DNS público (8.8.8.8 o 1.1.1.1) en el invitado; en NAT el DNS suele ser un proxy interno (10.0.2.3).
- Reenvío de puertos que no funciona: comprueba que el servicio esté escuchando en el invitado (ej.
ss -ltnponetstat -an), que la regla está configurada y que ningún firewall del host bloquea el puerto host. - Conexión bloqueada por VPN o perfil Wi‑Fi: algunas VPNs o redes públicas impiden el enrutamiento NAT. Desactiva la VPN temporalmente o usa Bridged si la red lo permite.
- Guest Additions y drivers: raramente afectan a NAT, pero asegúrate de tener Guest Additions actualizadas si usas funcionalidades avanzadas.
Buenas prácticas y consideraciones de seguridad
- Evita exponer servicios innecesarios del invitado con reenvío de puertos; limita las reglas a IPs concretas cuando sea posible.
- Si necesitas acceso desde la LAN a un servicio del invitado, valora usar Bridged en una red de confianza o configurar reglas de firewall en el host que limiten el acceso.
- Evita usar IPs estáticas que choquen con otras VMs; si gestionas varias, crea una NAT Network con un bloque específico.
Resumen rápido y próximos pasos
En resumen: para dar Internet a una VM de forma simple activa el adaptador en modo NAT (GUI o VBoxManage modifyvm "Nombre_VM" --nic1 nat), comprueba IP y DNS dentro del invitado y, si necesitas acceso entrante, añade reglas de reenvío. Si varias VMs deben compartir la misma subred y DHCP, crea una NAT Network con VBoxManage natnetwork add y así tendrás más control.
Si quieres profundizar en reenvío de puertos o en redes internas/bridged, consulta la guía complementaria sobre reenvío de puertos y el artículo sobre modos de red.
Cómo configurar reenvío de puertos (NAT) en VirtualBox — paso a paso
Preguntas frecuentes
Mi VM tiene IP 169.254.x.x, ¿qué ocurre?
Significa que no ha recibido IP por DHCP; asigna una IP estática en 10.0.2.0/24 (o crea una NAT Network con DHCP) y comprueba que el adaptador esté en estado conectado en la configuración de la VM.
¿Puedo conectar mi VM a la LAN y al mismo tiempo usar NAT?
Sí: puedes añadir un segundo adaptador en modo Bridged o Host-only además del NAT (por ejemplo, adaptador 1 NAT para acceso a Internet y adaptador 2 Host-only para intercambio de archivos entre host y VM).
¿El reenvío de puertos expone la VM a Internet?
Solo si el host está accesible desde Internet. Si el host está en una red doméstica detrás de un router, necesitarías además abrir/redirigir puertos en el router para exponer servicios al exterior. Asegura el servicio con firewall y autenticación.
Si quieres, puedo generar comandos exactos para tu VM (sólo dime el nombre de la VM, la versión de VirtualBox y qué servicio quieres reenviar) y te preparo las líneas de VBoxManage listas para pegar.
