Escenario 2.A: NAT
Introdución
- Neste escenario o equipo host actúa como router para as MV que teñan adaptadores configurados con NAT. Neste caso, VirtualBox tamén actúa como servidor de DHCP e DNS para esas MV.
- Deste xeito, cando unha MV se acende por primeira vez, o seu S.O. convidado ten configurado as interfaces de rede para que obteñan a configuración IP por DHCP, e o servidor DHCP de VirtualBox asignaralle toda a configuración IP necesaria para ter conexión á rede do host.
- Ademais VirtualBox mira cales son os servidores DNS que ten configurados o equipo host, e implementa un servidor de DNS que reenviará as peticións DNS que faga a máquina virtual a eses servidores DNS. O servidor DHCP de VirtualBox asignará este servidor de DNS virtual á MV, así que o servidor DNS do sistema convidado non coincidirá cos que teña o host.
- Ao usar NAT, a máquina virtual comunicarase co exterior usando a IP real da máquina física.
- Pero ninguén pode iniciar unha conexión contra a MV, nin dende o equipo real (Revisar a teoría sobre NAT).
- Por tanto, a MV está illada e só pode comunicarse co exterior se é ela quen inicia as conexións. Isto podería salvarse se se usa o reenvío de portos do adaptador da MV, que veremos ao final deste apartado.
Configuración IP do equipo host
- Antes de examinar como está a configuración IP dos S.O. convidados das MVs, imos obter a información da configuración de rede do equipo host.
- O ordenador host sobre o que se elabora o material ten a seguinte configuración IP (Comproba a configuración IP que tes no teu caso no equipo host, non tes porque cambiala):
- Fixarse cales son os servidores DNS e cal é a IP do host, que se vai precisar despois. Neste caso: 10.0.0.2

Nos seguintes apartados amósase como obter a información de configuración de rede tanto nun equipo con Windows como con Ubuntu:
S.O. Windows en MV sobre NAT
Imos examinar como está configurado o S.O. convidado da MV wclient, có adaptador configurado por NAT.
- Convidado Windows con tarxeta NAT
-
A configuración IP está por DHCP.
-
Executando ipconfig obsérvase que a IP é 10.0.3.15 e porta de enlace ou router: 10.0.3.2. Vese que a máscara é de Clase C. Isto é, unha IP de Clase A pasouse a unha subrede de Clase C. Revisar a teoría configuración IP
-
Executando ipconfig /all, observar que o servidor de DNS que se asigna tamén é creado por VirtualBox.
S.O. Ubuntu en MV sobre NAT
Imos examinar como está configurado o S.O. convidado da MV uclient, co adaptador configurado por NAT.
- Convidado Ubuntu con tarxeta NAT
-
Observar que a configuración IP está por DHCP.
-
Premendo en Información da conexión do Administrador de rede...
-
Obtense toda a información IP. Neste caso non coincide coa anterior xa que VirtualBox asignoulle a dirección IP 10.0.2.15. Fixarse nos servidores DNS e a porta de enlace predeterminada. Téñase en conta tamén que con este modo as dúas MVs (wclient e uclient) non van ter conexión entre si, xa que as máquinas só teñen conexión cara afora.
Conectividade da MV
- Unha vez que a MV xa ten unha configuración IP, vaise comprobar a que lugares pode conectarse. Para iso farase uso do comando ping, que se usa para testear a conectividade entre dous equipos.
- Vanse facer as probas con uclient. Coa MV wclient sería o mesmo.
- Primeiro: Dende a MV cara diversos equipos.
- Conectividade cara afora da MV con NAT
-
Probar conectividade co host (neste caso 10.0.0.2). Perfecto!. O ping párase premendo CTRL+C.
-
Probar conectividade co router (neste caso dos apuntes 10.0.0.1 . Cada quen debe facerllo ao seu router). Perfecto!
-
Probar conectividade co exterior (neste caso www.google.es). Perfecto!.
- Segundo: Dende o host cara a MV.
- Neste caso, esperado un tempo premer CTRL+C e vese que se enviaron varios paquetes pero non houbo resposta.
- Isto é por que o equipo uclient está illado da rede ao usar NAT, só se pode comunicar con alguén se é el quen inicia a comunicación, pero non ao revés.
- Como xa se indicou esta situación pódese salvar fancedo redirección de portos no adaptador da MV.
Conexión/desconexión do cable de rede
- Cando unha máquina está acesa na configuración do adaptador da MV pódese conectar ou desconectar o cable, por se interesa para algunha práctica:
Reenvío de portos
Como xa comentamos, o reenvío de portos permite o acceso dende o host ou un equipo externo a un servizo da máquina virtual a través dun adaptador de rede en modo NAT. Aínda que o proceso é exactamente igual para un sistema convidado Windows que Ubuntu imos ilustrar a continuación os dous casos.
O reenvío de portos fai o mesmo sobre o router virtual que VirtualBox crea para as tarxetas NAT que o que podemos facer sobre un router real cando abrimos un porto do router (por exemplo, para usar un programa P2P).
Reenvío de portos nun S.O. convidado Windows
O reenvío de portos pode utilizarse para dar acceso dende o exterior a diversos servizos que o sistema convidado pode ter instalados, como un servidor web, de correo, DNS, etc. Neste caso, na máquina wclient imos usar o servizo de escritorio remoto, que xa vén incluído con Windows e que permite iniciar unha sesión de escritorio nesa máquina dende outro equipo conectado a ela.
- Reenvío de portos nun Guest Windows
-
En primeiro lugar, imos habilitar o servizo de escritorio remoto no equipo. No Panel de Control, imos ao apartado de Sistema e seguridade...
-
Sistema...
-
na parte esquerda, Configuración de acceso remoto...
-
e activamos unha opción de Permitir o acceso remoto (pode ser con autenticación ou sen ela). Aceptamos o cambio. Desta forma a máquina xa ten accesible o servizo de escritorio remoto, que corre no porto 3389.
-
Pero non temos forma de conectarnos a el, nin dende o host, nin dende outra máquina da rede, nin dende outra máquina virtual. Imos configurar o reenvío de portos; facemos clic co botón dereito do rato sobre a icona de rede da barra de estado da máquina virtual e seleccionamos a opción de Adaptadores de rede.
-
No adaptador 1, picamos en Reenvío de portos,
-
e introducimos os datos para este caso: Protocolo TCP (xa que é o que usa o servizo de escritorio remoto), porto convidado 3389 (xa que é o porto da sistema convidado ao que queremos acceder) e porto anfitrión, que debe ser un porto que estea libre na máquina física e que queremos redirixir ao porto 3389 desta máquina virtual. Neste caso escollemos o porto 6000, pero poderíamos coller calquera outro porto que estea libre. Aceptamos.
-
Aceptamos de novo.
-
Na máquina host ou noutra máquina da rede que teña conexión co host, iniciamos unha aplicación cliente de escritorio remoto (Ubuntu inclúe por defecto unha chamada Remmina). Picamos no botón para establecer unha conexión de escritorio remoto.
-
Como servidor poñemos a dirección IP do equipo host seguida de dous puntos e 6000 (que é o porto que redirimos á máquina virtual). Poñemos xa tamén o nome de usuario e contrasinal para iniciar sesión no sistema convidado de wclient.
-
Aceptamos o certificado de seguridade.
-
Aquí podemos ver o acceso ao servizo de escritorio remoto da máquina virtual wclient.
Reenvío de portos nun S.O. convidado Ubuntu
Na máquina uclient, imos facer o reenvío de portos tamén co servizo de escritorio remoto, aínda que Ubuntu usa un protocolo de escritorio remoto diferente e polo tanto tamén cambiará o número de porto que teremos que reenviar.
- Reenvío de portos nun Guest Ubuntu
-
Na máquina uclient, iniciamos a aplicación de Compartición do escritorio.
-
Activamos a opción de que outros usuarios vexan o escritorio, e poñemos como contrasinal abc123.
-
Imos configurar o reenvío de portos; facemos clic co botón dereito do rato sobre a icona de rede da barra de estado da máquina virtual e seleccionamos a opción de Adaptadores de rede.
-
Picamos en Reenvío de portos.
-
Engadimos unha regra de reenvío, co protocolo TCP, porto convidado 5900 (que é no que corre o servizo de escritorio remoto de Ubuntu) e porto anfitrión 6001, que será neste caso o porto libre da máquina host que queremos redirixir ao porto da máquina virtual. Aceptamos.
-
E aceptamos de novo.
-
Na máquina host ou noutra máquina da rede que teña conexión co host, iniciamos unha aplicación cliente de escritorio remoto (Ubuntu inclúe por defecto Remmina). Picamos no botón para establecer unha conexión de escritorio remoto.
-
Seleccionamos nesta caso protocolo VNC. Como servidor poñemos a dirección IP do equipo host seguida de dous puntos e 6001 (que é o porto que redirimos á máquina virtual). Poñemos xa tamén o nome de usuario e contrasinal para iniciar sesión no sistema convidado de uclient.
-
Aquí podemos ver o acceso ao servizo de escritorio remoto da máquina virtual uclient.
O modo: REDE NAT
- Este modo de conexión para as tarxetas de rede foi incorporado na versión 4.3 de VirtualBox e supón unha xeneralización do modo NAT. Neste caso, VirtualBox actúa tamén como router para as máquinas virtuais facendo a función de NAT para permitirlles a conexión á rede externa, pero en lugar de crear un router ficticio para cada máquina permítenos que varias máquinas poidan estar nunha mesma LAN ficticia (conectadas a un mesmo switch ficticio), que logo ten conexión á rede externa a través do router ficticio que fai a función de NAT.
- Con este modo, poderemos configurar cal é a dirección da rede interna que queremos crear para as máquinas, e así VirtualBox creará un servidor DHCP e DNS para que as máquinas poidan obter automaticamente a configuración necesaria para ter conexión co exterior.
- Este escenario é idóneo para prácticas en clase nas que se desexa que as MV do alumnado:
- teñan as mesmas IPs cas MVs do compañeiro, que teñan conectividade só entre elas e non con outras MV de outros compañeiros
- que, ao mesmo tempo, teñan acceso a internet pero sen que o equipo estea na rede LAN: NAT
- utilizando un único adaptador de rede.
Funcionamento do modo rede NAT
Imos ver como configurar as máquinas no modo de conexión de rede NAT e o seu funcionamento.
- Funcionamento do modo rede NAT
-
Imos á configuración de rede da máquina wclient e intentamos configurar o modo de conexión do adaptador 1 como Rede NAT. VirtualBox non nos permite gardar os cambios, informándonos de que a configuración introducida non é válida por non ter seleccionado o nome dunha rede NAT que asociar ao adaptador. O problema é que non podemos seleccionar ningunha rede NAT porque non hai creada ningunha, así que o primeiro que imos facer é crear unha rede NAT. Cancelamos.
-
Imos ao menú Archivo->Preferencias de VirtualBox, e no apartado de rede vemos a pestana Redes NAT. Picamos no primeiro botón para agregar unha nova rede NAT.
-
Créase a rede con un nome e unha configuración por defecto. De momento non a imos cambiar, utilizaremos a configuración predeterminada e logo xa veremos como editala.
-
Agora xa podemos cambiar o modo de conexión do apartador 1 a Rede NAT, seleccionando como nome de rede NAT a rede que acabamos de crear.
-
Configuramos a tarxeta de rede de uclient tamén en modo de Rede NAT asociándolle a mesma Rede NAT (a única posible de momento).
-
Arrancamos wclient e imos ver que que configuración IP ten a tarxeta no sistema convidado (lémbrese que está configurada para tomar a configuración de forma automática).
-
Podemos comprobar que tomou unha dirección IP da forma 10.0.2.x (neste caso 10.0.2.6), e como porta de enlace a dirección IP 10.0.2.3 (dirección do router ficticio de VirtualBox). O problema é que, se estamos traballando sobre un host Ubuntu, veremos que non se asigna automaticamente os servidores de DNS, cando debería asignar os mesmos servidores DNS do host para que a máquina xa puidese conectarse a Internet sen necesidade de configuración manual.
-
Vemos a configuración que toma en uclient, e de novo botamos en falta a configuración automática dos servidores DNS. Seguramente este bug do modo de rede NAT sobre hosts Ubuntu sexa solventado en futuras versións de VirtualBox.
-
Se traballamos sobre un host Windows podemos ver en cambio que si asigna correctamente os servidores DNS ao sistema convidado.
-
Comprobamos que desta forma, sobre o host Ubuntu nin uclient nin wclient teñen conexión a Internet.
-
Para solucionalo, configuramos en uclient os servidores de DNS correspondentes de forma manual. Pódense poñer os servidores DNS de google (8.8.8.8 e 8.8.4.4)
-
Vista da configuración IP da MV cos servidores de DNS configurados.
-
Listo!! Agora xa temos conexión a Internet en uclient.
-
O mesmo faremos con wclient.
-
No tocante á conectividade entre as máquinas virtuais, podemos comprobar que wclient ten conectividade con uclient co comando ping.
-
Pero á inversa non... Por que? Cando entre dúas máquinas temos conectividade nun sentido pero non no outro, é moi probable que sexa debido a un firewall. Neste caso, é o firewall de wclient o que está rexeitando as solicitudes de ping. Imos ver como solventalo.
-
Aínda que o obxectivo do curso non é afondar na configuración do firewall, imos ver os pasos que temos que seguir para configuralo de xeito que responda aos pings. No Panel de Control, entramos en Sistema e seguranza.
-
Premer en Windows Firewall.
-
Picamos sobre Configuración avanzada.
-
Na ferramenta que aparece, picamos sobre o apartado de Regras de entrada (xa que queremos que o firewall permita unha conexión entrante) e buscamos a regra co nome Archivos e impresoras compartidos (petición eco ICMPv4 de entrada). Pode ser que apareza varias veces, porque son regras asociadas a distintos perfís ou localizacións de rede (son as que Windows ofrece cando se configura unha nova conexión de rede, que no noso caso establecéramos como Rede de traballo); facemos dobre clic sobre calquera delas.
-
Na pestana xeral, activamos a opción de Habilitado para habilitar a regra. Fixarse en que a acción da regra sexa Permitir a conexión e aceptar.
-
Para asegurarse de que responde aos pings en todo caso, facer o mesmo coas outras regras co mesmo nome que haxa (como se ve, neste caso hai dúas).
-
Agora wclient xa responde aos pings... Perfecto!!
Definición de 'Redes NAT' e configuración IP estática
No apartado anterior vimos o funcionamento básico do modo de conexión de Rede NAT e como establecer con el a conexión entre as máquinas virtuais e ao mesmo tempo a conexión destas coa rede externa do host. Imos ver para finalizar como podemos personalizar a configuración IP das redes NAT e das máquinas con interfaces deste tipo.
- Definición de redes NAT e configuración IP estática
-
No menú Archivo->Preferencias de VirtualBox, imos ao apartado de rede vemos para seleccionar a rede NAT que temos definida na pestana Redes NAT. Picamos no botón para editar esta rede.
-
Vemos os parámetros que podemos configurar para a rede. Ademais do nome, podemos indicar a dirección e máscara para a rede en formato CIDR e se queremos que incluír para a rede un servidor DHCP que asigne direccións IP de forma automática ás máquinas que teñan adaptadores nesta rede. Podemos ver que tamén podemos configurar o reenvío de portos, da mesma forma que nos adaptadores en modo NAT, para permitir o acceso dende a rede externa aos servizos das máquinas virtuais. Non imos modificar nada nesta rede, simplemente aceptamos...
-
e creamos unha nova rede NAT sobre a que imos establecer unha configuración personalizada.
-
Cambiamos o seu nome, para que indique claramente a dirección da rede, que será a 172.16.0.0 con máscara /16.
-
Cambiamos a rede NAT para o adaptador de wclient, establecendo a nova rede que vimos de crear.
-
Podemos ver a configuración IP que toma a máquina de forma automática.
-
Evidemente, agora esta máquina non ten conexión con uclient, xa non só porque a nivel IP está configuradas en distintas redes, senón tamén porque están en distintas redes NAT, e polo tanto están conectados a distintos swtichs ficticios sen conexión entre si.
-
Establecemos a nova rede NAT para o adaptador de uclient...
-
e comprobamos a dirección IP asignada de forma automática.
-
Agora xa temos conectividade entre as máquinas.
-
Por suposto, se nos interesase poderíamos establecer unha configuración IP estáticas para as interfaces conectados en modo de rede NAT, como se pode ver para este caso en wclient ...
-
e en uclient.