🆗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:
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:
El cliente usa el servicio y la puerta de enlace.
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
o8.8.8.8
como upstream.Permita solicitudes de toda la red interna.
Última actualización