https://manuais.iessanclemente.net/index.php?title=Escenario_2.A:_NAT&feed=atom&action=historyEscenario 2.A: NAT - Historial de revisiones2024-03-29T09:58:44ZHistorial de revisiones de esta página en el wikiMediaWiki 1.36.2https://manuais.iessanclemente.net/index.php?title=Escenario_2.A:_NAT&diff=60636&oldid=prevCarrion: /* Definición de 'Redes NAT' e configuración IP estática */2016-10-02T15:37:44Z<p><span dir="auto"><span class="autocomment">Definición de 'Redes NAT' e configuración IP estática</span></span></p>
<p><b>Página nueva</b></p><div>[[Image:00_Simulacion_Redes_Escenarios_Semana_02_A.jpg|500px]]<br />
<br />
==Introdución==<br />
<br />
* Neste escenario o equipo host actúa como router para as MV que teñan adaptadores configurados con [[Conceptos_básicos_de_redes:_OSI,_TCP/IP,_MAC,_Enderezo_IP,_switch,_router,_porto,_NAT,_...#NAT.2C_Network_Address_Traslation|NAT]]. Neste caso, VirtualBox tamén actúa como servidor de DHCP e DNS para esas MV.<br />
<br />
[[Image:Simulacion_Redes_rede_20.jpeg|500px]]<br />
<br />
* 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''.<br />
<br />
* 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''.<br />
<br />
* Ao usar NAT, a máquina virtual comunicarase co exterior usando a IP real da máquina física.<br />
<br />
* Pero ninguén pode iniciar unha conexión contra a MV, nin dende o equipo real (Revisar a teoría sobre [[Conceptos_básicos_de_redes:_OSI,_TCP/IP,_MAC,_Enderezo_IP,_switch,_router,_porto,_NAT,_...#NAT.2C_Network_Address_Traslation|NAT]]).<br />
<br />
* 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.<br />
<br />
==Configuración IP do equipo host==<br />
<br />
* 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.<br />
<br />
* 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):<br />
<br />
[[Image:Simulacion_Redes_rede_31.jpeg|400px]]<br />
<br />
*Fixarse cales son os servidores DNS e cal é a IP do host, que se vai precisar despois. Neste caso: 10.0.0.2<br />
<br />
<br />
<div style="margin:0; background:#E6ECFF; font-size:100%; border:1px solid #cccccc; text-align:left; padding:0.2em 0.4em; -moz-border-radius:6px">[[Imagen:aprende.png|left]]'''INTERÉSACHE...'''<br />
<br />
Nos seguintes apartados amósase como obter a información de configuración de rede tanto nun equipo con Windows como con Ubuntu:<br />
*[[Configuración básica da rede nunha máquina virtual Windows]]<br />
*[[Configuración básica da rede nunha máquina virtual Ubuntu]]<br />
</div><br />
<br />
==S.O. Windows en MV sobre NAT==<br />
<br />
Imos examinar como está configurado o S.O. convidado da MV '''wclient''', có adaptador configurado por NAT.<br />
<br />
<gallery caption="Convidado Windows con tarxeta NAT" widths="350" heights="300px" perrow="2"><br />
Image:Simulacion_Redes_rede_14.jpeg| A configuración IP está por DHCP.<br />
Image:Simulacion_Redes_rede_17.jpeg| 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 [[Conceptos_básicos_de_redes:_OSI,_TCP/IP,_MAC,_Enderezo_IP,_switch,_router,_porto,_NAT,_...#Enderezos_IP|configuración IP]]<br />
Image:Simulacion_Redes_rede_19.jpeg| Executando '''ipconfig /all''', observar que o servidor de DNS que se asigna tamén é creado por VirtualBox.<br />
</gallery><br />
<br />
==S.O. Ubuntu en MV sobre NAT==<br />
<br />
Imos examinar como está configurado o S.O. convidado da MV '''uclient''', co adaptador configurado por NAT.<br />
<br />
<gallery caption="Convidado Ubuntu con tarxeta NAT" widths="350" heights="300px" perrow="2"><br />
Image:Simulacion_Redes_rede_24.jpeg| Observar que a configuración IP está por DHCP.<br />
Image:Simulacion_Redes_rede_33.jpeg| Premendo en '''Información da conexión''' do '''Administrador de rede'''...<br />
Image:Simulacion_Redes_rede_34.jpeg| 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''.<br />
</gallery><br />
<br />
==Conectividade da MV==<br />
<br />
* 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.<br />
<br />
* Vanse facer as probas con ''uclient''. Coa MV ''wclient'' sería o mesmo.<br />
<br />
* Primeiro: '''Dende a MV cara diversos equipos'''.<br />
<br />
<gallery caption="Conectividade cara afora da MV con NAT" widths="350" heights="300px" perrow="2"><br />
Image:Simulacion_Redes_rede_39.jpeg| Probar conectividade co host (neste caso 10.0.0.2). Perfecto!. O ping párase premendo '''CTRL+C'''.<br />
Image:Simulacion_Redes_rede_40.jpeg| Probar conectividade co router (neste caso dos apuntes 10.0.0.1 . Cada quen debe facerllo ao seu router). Perfecto!<br />
Image:Simulacion_Redes_rede_37.jpeg| Probar conectividade co exterior (neste caso ''www.google.es''). Perfecto!.<br />
</gallery><br />
<br />
<br />
* Segundo: '''Dende o host cara a MV.'''<br />
** Neste caso, esperado un tempo premer CTRL+C e vese que se enviaron varios paquetes pero non houbo resposta.<br />
** 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.<br />
** Como xa se indicou esta situación pódese salvar fancedo redirección de portos no adaptador da MV.<br />
[[Image:Simulacion_Redes_rede_41.jpeg|500px]]<br />
<br />
==Conexión/desconexión do cable de rede==<br />
<br />
* 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:<br />
[[Image:Simulacion_Redes_rede_49.jpeg|500px]]<br />
<br />
<br />
== Reenvío de portos ==<br />
<br />
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.<br />
<br />
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).<br />
<br />
=== Reenvío de portos nun S.O. convidado Windows ===<br />
<br />
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.<br />
<br />
<gallery caption="Reenvío de portos nun Guest Windows" widths="350" heights="300px" perrow="2"><br />
Image:Sv_2013_nat_08.jpg| En primeiro lugar, imos habilitar o servizo de escritorio remoto no equipo. No Panel de Control, imos ao apartado de '''Sistema e seguridade'''...<br />
Image:Sv_2013_nat_09.jpg| '''Sistema'''...<br />
Image:Sv_2013_nat_10.jpg| na parte esquerda, '''Configuración de acceso remoto'''...<br />
Image:Sv_2013_nat_11.jpg| 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.<br />
Image:Sv_2013_nat_12.jpg| 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'''.<br />
Image:Sv_2013_nat_13.jpg| No adaptador 1, picamos en '''Reenvío de portos''',<br />
Image:Sv_2013_nat_14.png| 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.<br />
Image:Sv_2013_nat_15.jpg| Aceptamos de novo.<br />
Image:Sv_2013_nat_16.png| 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.<br />
Image:Sv_2013_nat_17.png| 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''.<br />
Image:Sv_2013_nat_18.png| Aceptamos o certificado de seguridade.<br />
Image:Sv_2013_nat_18b.png| Aquí podemos ver o acceso ao servizo de escritorio remoto da máquina virtual ''wclient''.<br />
</gallery><br />
<br />
=== Reenvío de portos nun S.O. convidado Ubuntu ===<br />
<br />
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.<br />
<br />
<gallery caption="Reenvío de portos nun Guest Ubuntu" widths="350" heights="300px" perrow="2"><br />
Image:Sv_2013_nat_19.jpg| Na máquina ''uclient'', iniciamos a aplicación de '''Compartición do escritorio'''.<br />
Image:Sv_2013_nat_20.jpg| Activamos a opción de que outros usuarios vexan o escritorio, e poñemos como contrasinal ''abc123.''<br />
Image:Sv_2013_nat_21.jpg| 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'''. <br />
Image:Sv_2013_nat_22.png| Picamos en '''Reenvío de portos'''.<br />
Image:Sv_2013_nat_23.png| 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.<br />
Image:Sv_2013_nat_24.jpg| E aceptamos de novo.<br />
Image:Sv_2013_nat_25.png| 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. <br />
Image:Sv_2013_nat_26.png| 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''. <br />
Image:Sv_2013_nat_27.jpg| Aquí podemos ver o acceso ao servizo de escritorio remoto da máquina virtual ''uclient''. <br />
</gallery><br />
<br />
== O modo: REDE NAT ==<br />
<br />
[[Image:00_Servizos_Virtualizacion_Escenarios_Semana_02_A2.jpg|500px]]<br />
<br />
* 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.<br />
<br />
* 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.<br />
<br />
* Este escenario é idóneo para prácticas en clase nas que se desexa que as MV do alumnado:<br />
** 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<br />
** que, ao mesmo tempo, teñan acceso a internet pero sen que o equipo estea na rede LAN: NAT<br />
** utilizando un único adaptador de rede.<br />
<br />
=== Funcionamento do modo rede NAT ===<br />
<br />
Imos ver como configurar as máquinas no modo de conexión de rede NAT e o seu funcionamento.<br />
<br />
<gallery caption="Funcionamento do modo rede NAT" widths="350" heights="300px" perrow="2"><br />
Image:Sv_14_rede_nat_01.png| 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.<br />
Image:Sv_14_rede_nat_02.png| 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.<br />
Image:Sv_14_rede_nat_03.png| 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.<br />
Image:Sv_14_rede_nat_04.png| 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.<br />
Image:Sv_14_rede_nat_05.png| 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).<br />
Image:Sv_14_rede_nat_06.png| 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).<br />
Image:Sv_14_rede_nat_07.png| 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.<br />
Image:Sv_14_rede_nat_08.png| 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.<br />
Image:Sv_14_rede_nat_windows_01.PNG| Se traballamos sobre un host Windows podemos ver en cambio que si asigna correctamente os servidores DNS ao sistema convidado.<br />
Image:Sv_14_rede_nat_10.png| Comprobamos que desta forma, sobre o host Ubuntu nin ''uclient'' nin ''wclient'' teñen conexión a Internet.<br />
Image:Sv_14_rede_nat_11.png| 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)<br />
Image:Sv_14_rede_nat_12.png| Vista da configuración IP da MV cos servidores de DNS configurados.<br />
Image:Sv_14_rede_nat_13.png| Listo!! Agora xa temos conexión a Internet en ''uclient''.<br />
Image:Sv_14_rede_nat_14.png| O mesmo faremos con ''wclient''.<br />
Image:Sv_14_rede_nat_27b.png| No tocante á conectividade entre as máquinas virtuais, podemos comprobar que ''wclient'' ten conectividade con ''uclient'' co comando ping.<br />
Image:Sv_14_rede_nat_27.png| 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.<br />
Image:Simulacion_Redes_rede_71.jpeg| 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'''.<br />
Image:Simulacion_Redes_rede_73.jpeg| Premer en '''Windows Firewall'''.<br />
Image:Sv_2013_ponte_13.jpg| Picamos sobre '''Configuración avanzada'''.<br />
Image:Sv_2013_ponte_14.png| 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.<br />
Image:Sv_2013_ponte_15.jpg| 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.<br />
Image:Sv_2013_ponte_16.png| 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).<br />
Image:Sv_14_rede_nat_09.png| Agora ''wclient'' xa responde aos pings... Perfecto!!<br />
</gallery><br />
<br />
=== Definición de 'Redes NAT' e configuración IP estática ===<br />
<br />
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.<br />
<br />
<gallery caption="Definición de redes NAT e configuración IP estática" widths="350" heights="300px" perrow="2"><br />
Image:Sv_14_rede_nat_15.png| 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.<br />
Image:Sv_14_rede_nat_16.png| 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 [http://es.wikipedia.org/wiki/Classless_Inter-Domain_Routing 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...<br />
Image:Sv_14_rede_nat_17.png| e creamos unha nova rede NAT sobre a que imos establecer unha configuración personalizada.<br />
Image:Sv_14_rede_nat_18.png| Cambiamos o seu nome, para que indique claramente a dirección da rede, que será a 172.16.0.0 con máscara /16.<br />
Image:Sv_14_rede_nat_19.png| Cambiamos a rede NAT para o adaptador de ''wclient'', establecendo a nova rede que vimos de crear.<br />
Image:Sv_14_rede_nat_20.png| Podemos ver a configuración IP que toma a máquina de forma automática.<br />
Image:Sv_14_rede_nat_21.png| 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.<br />
Image:Sv_14_rede_nat_22.png| Establecemos a nova rede NAT para o adaptador de ''uclient''...<br />
Image:Sv_14_rede_nat_23.png| e comprobamos a dirección IP asignada de forma automática.<br />
Image:Sv_14_rede_nat_24.png| Agora xa temos conectividade entre as máquinas.<br />
Image:Sv_14_rede_nat_25.png| 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'' ...<br />
Image:Sv_14_rede_nat_26.png| e en ''uclient''.<br />
</gallery><br />
<br />
<br />
-- [[Usuario:Antonio|Antonio de Andrés Lema]] e [[Usuario:Carrion|Carlos Carrión Álvarez]] --</div>Carrion