🆗Configuración reenvío adaptador puente-red interna

Dado que Windows pareció cargarse la red NAT de VirtualBox, la alternativa es esta.

La mayoría de prácticas están hechas con arquitectura cliente-servidor por lo que en nuestro caso planteamos el siguiente escenario para su funcionamiento:

Escenario actual

Debemos primero plantear el escenario de máquinas virtuales con el que nos encontramos:

Máquina
Adaptadores de red
IP
Función

Ubuntu Server

enp0s3 - Adaptador puente

enp0s8 - Red interna “LAB”

1. IP LAN real por DHCP

2. 10.0.0.5

Servidor de servicios en red

Ubuntu Desktop (Cliente)

1. Red interna “LAB”

10.0.0.x

Cliente

👉 El problema es que la máquina cliente no tiene acceso a Internet, ya que solo está en la red interna y no hay NAT configurado. Para ello, la solución general va a pasar por configurar el enp0s3 como gateway y NAT. Básicamente:

  1. El cliente usa el servicio y la puerta de enlace.

  2. El servidor hace NAT hacia el adaptador puente.

Esto se hace con unas pocas configuraciones en el servidor:


1. Asignar IP estática al adaptador interno

Edita /etc/netplan/01-netcfg.yaml (o el archivo correspondiente a tu versión de Ubuntu Server) y pon algo así o como te he enseñado en otro tutorial:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:   # Adaptador puente
      dhcp4: true
    enp0s8:   # Adaptador interno
      addresses:
        - 10.0.0.5/24

Luego:

sudo netplan apply

2. Habilitar el reenvío de paquetes IP en el servidor y configurar NAT con iptables

Edita /etc/sysctl.conf con nano y descomenta o agrega:

net.ipv4.ip_forward=1

Aplica los cambios:

sudo sysctl -p

Ahora vamos a configurar el servicio NAT para permitir la entrada de datos de Internet a través de la segunda interfaz. Para ello, si tu adaptador puente es enp0s3 y el interno enp0s8 escribe lo siguiente:

# Permitir forwarding desde la red interna a la externa
sudo iptables -A FORWARD -i enp0s8 -o enp0s3 -j ACCEPT
sudo iptables -A FORWARD -i enp0s3 -o enp0s8 -m state --state ESTABLISHED,RELATED -j ACCEPT

# Hacer NAT (enmascaramiento)
sudo iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE

Para hacerlo persistente tras reinicio, puedes instalar iptables-persistent:

sudo apt install iptables-persistent
sudo netfilter-persistent save

Puedes revisar las reglas y la configuración con:

ip route
sudo iptables -L -n -v
sudo iptables -t nat -L -n -v

Es normal si no puedes hacer ping desde enp0s8 si el cliente no está configurado.

3. Configurar cliente para escuchar en la red interna

El cliente lo puedes configurar con un servicio DHCP sencillo o poniéndole la IP manualmente de forma gráfica.

Después de la configuración cliente, asegúrate que:

  • Escuche en la IP 10.0.0.5.

  • Resuelva DNS usando, por ejemplo, 1.1.1.1 o 8.8.8.8 como upstream.

  • Permita solicitudes de toda la red interna.

Última actualización