Download - Virtualización con VirtualBox · macOS, Windows). Al final del guión de la práctica se incluyen anotaciones, pistas y consejos que pueden ayudar ante ciertas dificultades, aunque

Transcript
Page 1: Virtualización con VirtualBox · macOS, Windows). Al final del guión de la práctica se incluyen anotaciones, pistas y consejos que pueden ayudar ante ciertas dificultades, aunque

Departamento de Ingeniería Eléctrica, Electrónica y de Comunicación

Automatika eta Konputazio Saila

Campus de Arrosadía Arrosadiko Campusa 31006 Pamplona - Iruñea

VirtualizaciónconVirtualBox

1. IntroducciónyobjetivosElobjetivodeestaprácticaesfamiliarizarseconlosentornosdevirtualización,enconcreto con algunas funcionalidades de VirtualBox similares (aunque de formasimplificada)aloquesepuedeemplearenunentornodeservidorenelcentrodedatos. Practicaremos con la posibilidad de crear redes internas donde algunoshosts virtuales puedan actuar por ejemplo como routers o servidores (obalanceadores, o firewalls, o proxies, o IDS...), así como con el movimiento demáquinasvirtualesentrehosts.Estaprácticanopretendeseruntutorialpaso-a-paso.Seplanteanlosobjetivosade cada apartado pero puede habermúltiples formas de alcanzarlos, incluso sepuede llevar a cabo la práctica en plataformas diferentes (Linux del laboratorio,macOS,Windows).Alfinaldelguióndelaprácticaseincluyenanotaciones,pistasyconsejos que pueden ayudar ante ciertas dificultades, aunque todo se puederesolverconunpocodetrabajoybuscandodocumentación.

2. NetworkingvirtualVirtualBoxpermitediferentesformasdenetworkingentrelasmáquinasvirtualesyconelexterior.Seremiteasumanualparamásdetalle1.Eneste apartado se lepideque creeunescenario comoel que semuestra en laFigura1.LosequiposvRouter1yvRouter2sonmáquinasvirtualesLinuxcondosinterfacesEthernet,actuandocomorouters.LosequiposPC1,PC2,PC3yPC4sonmáquinasvirtualesconuninterfazdered,actuandocomohostsnormales.TodosellossonguestsenelmismohostVirtualBox.

Figura1-Topologíadered

Los equipos vSwitch1, vSwitch2 y vSwitch3podrían ser equipos Linux actuandocomopuentes,sinembargoparaesteejercicioserecomiendaemplearlacapacidadde crear redes internas independientes en VirtualBox2. Cree tres redes internasindependientesparaactuarcomocadaunadeesasLANs.Configure direcciones IP y rutas en todos los hosts y routers y compruebe laconectividadycaminoscontraceroute.SilainstalacióndeLinuxquehaempleadoparalosPCsincluyeservidoryclientedesshpuedeprobartambiénaaccederdeunamáquinavirtualalaotra.NohacefaltaqueningunodelosPCsincluyauninterfazgráfico.

Puntodecontrol:Muestreelescenariocompletoenfuncionamientoalprofesor.

1https://www.virtualbox.org/manual/ch06.html2https://www.virtualbox.org/manual/ch06.html#network_internal

Page 2: Virtualización con VirtualBox · macOS, Windows). Al final del guión de la práctica se incluyen anotaciones, pistas y consejos que pueden ayudar ante ciertas dificultades, aunque

Departamento de Ingeniería Eléctrica, Electrónica y de Comunicación

Automatika eta Konputazio Saila

Campus de Arrosadía Arrosadiko Campusa 31006 Pamplona - Iruñea

3. MigracióndemáquinasvirtualesentrehostsEnesteapartadodebereproduciruncasodemovimientodemáquinavirtual“encaliente”deunhostaotro.VirtualBox implementaalgodeeseestilomediante lafuncionalidadquellama“Teleporting”3.Sesugierecrearunescenariocomoelmostradoen laFigura2.Enél losequiposHost1 y Host2 son ordenadores del laboratorio, interconectados por la LAN dellaboratorio y “vm” es unamáquina virtual ejecutándose gracias a VirtualBox enunadeesasmáquinas/hostsyquedebemosmoversindetenerlaalaotra.

Figura2-Escenariodeteleporting

Queremosquelamáquinavirtualtengaconectividadderedconelexterior.Puedehacer esto por ejemplo ofreciendo los host un acceso puenteado a la LAN dellaboratorio.DeberáentoncesasignarunadirecciónIPalamáquinavirtualquenocolisione con otrasmáquinas del laboratorio. Consulte al profesor qué direcciónpuedeemplear.CompruebequédirecciónMACestáempleandolamáquinavirtualy que efectivamente al comunicarse con otra máquina del laboratorio lacomunicaciónespuenteada(semantienen lasdireccionesMAC).Compruebequésucedesiantesdelteleportlamáquinavirtualestabahaciendounpingsostenidoaotras máquinas de la red y qué sucede si lo que tenía es una conexión TCPestablecidaconotramáquina(porejemplounsshoempleandonc).Ahora prueba implementando el acceso de la VM a la red mediante un NATofrecidoporelhostyrepitaelexperimentodeteleportasícomolacomprobacióndesisemantieneelfuncionamientodepingyssh.

Punto de control: Muestre una migración de máquina virtual al profesor ycontesteasuspreguntas.

4. Recomendaciones,pistas,consejosycomentarios• Paralosguestdelapartado2puedeemplearunainstalaciónpequeñadeLinux,

porejemplounLinuxCore4.SiescogeunLinuxCorehost tengaencuentaquetendráque activar el reenvíodepaquetes con el comando sysctl. Si tomaunLinuxCore pensado para actuar como router traerá ya activada esta opción(aunquelaimagendeldiscopuedeserunpocomásgrande).EncualquiercasotengaencuentaqueesteLinuxenconcretosecargaenunRAMdisk,asíquelos cambiosa ficherosnopermanecen trasun reiniciodelmismo (peroestoprobablementenoresultetrascendenteenesapráctica).

• Paraahorrarrecursospuedecrearunamáquinavirtualyclonarlavariasveces(clonenlazadoo“linkedclone”)enVirtualBox.

• SiempleaNATenelhostparalaconectividaddeunguesthaciaelexterioryesteúltimonotomadirecciónIPautomáticamenteseráprobablementeporque

3https://www.virtualbox.org/manual/ch07.html#teleporting4http://brezular.com/2013/09/17/linux-core-appliances-download/

Page 3: Virtualización con VirtualBox · macOS, Windows). Al final del guión de la práctica se incluyen anotaciones, pistas y consejos que pueden ayudar ante ciertas dificultades, aunque

Departamento de Ingeniería Eléctrica, Electrónica y de Comunicación

Automatika eta Konputazio Saila

Campus de Arrosadía Arrosadiko Campusa 31006 Pamplona - Iruñea

no tenga lanzado un cliente de DHCP (el host haciendo NAT suele tener unservidordeDHCPparalosguests).PuedelanzarunclientedeDHCPenLinuxdelguesthaciendosimplemente(sitieneinstaladodhclient):# dhclient eth0

Según la versión de Linux o el usuario empleado tendrá que usar sudo. Elnombredelinterfazeselquequieraconfigurar(yqueestéenunaLANconunservidorDHCP,comoeselcasodeunaredNATenVirtualBox).

• SiempleaunguestconunsistemaoperativodeescritoriocomopuedeserunUbuntuDesktop tengaencuentaquenormalmentehayserviciosdel sistemaencargados de configurar automáticamente los interfaces de red. Puede queustedvayaaconfiguraruninterfazderedenlíneadecomandos(ifconfig)yseencuentre al rato con que el sistema le ha cambiado la configuración.Normalmentesepuededesactivaresecomportamientoconelpaneldecontrolcorrespondiente a la configuración de red en ese sistema operativo deescritorio (también puede ahorrarse problemas de este tipo y ceder ante latentacióndeconfigurarelinterfazderedcondichopaneldecontrol).

• Para un teleport necesita que el disco de la máquina virtual a mover seencuentre en un volumen compartido entre los dos hosts. Recuerde que sudirectoriohomeenellaboratorioseencuentraenunvolumencompartidoporNFScontodaslasmáquinasdelmismo.Noempleeunamáquinavirtualconundisco grande si pretende guardarla en su directorio home. El laboratorioimplementacuotas (puedeversu límitedeusuarioconel comandoquota)yademásnotarálamayorlentitudporestarhaciendotodoslosaccesosdediscolamáquinavirtualporlared.Puedeserrazonableparaunamáquinavirtualdeunas decenas de megabytes (que a fin de cuentas puede mantenerenteramenteenRAMunavezquelaarranque).

• Parahacerunteleportentredosmáquinasdellaboratorioserecomiendaqueen cada una haga login con un usuario diferente (coordínese con uncompañero).Elmotivoesquepuededarproblemashacerloginconelmismousuario en dos máquinas dado que el home del mismo es compartido y elinterfazgráficoguardaficherosdeconfiguración,porloquepodríanentrarenconflictoambasmáquinasalmodificarlosmismosficheros.

• En casodequerer crear unamáquina virtual conundiscode centenaresdemegabyteso inclusoalgúngigabyte,enlasmáquinasdel laboratoriotieneundirectorioeneldiscolocalenelquepuedeescribir:/opt/rng/practicaTenga en cuenta que ese directorio es local, no está compartido con otrasmáquinas.Tambiénvigile suusodel discopues si lo llena empezará a tenerproblemas de uso del ordenador. No debería necesitar crear máquinasvirtuales demás de un par de gigabytes. Por defecto VirtualBox guarda lasmáquinasvirtualesquecreaoimportaenundirectorioenelhomedelusuario.DesdelaspreferenciasdeVirtualBox,enlasecciónGeneralpuedecambiaresecomportamiento y cambiarlo por ejemplo a que se guarden en unsubdirectorio de /opt/rng/practica para no tener problemas de espacio(aunque entonces solo las tendrá disponibles en esa máquina). Otra causahabitual de agotamiento de quota es que su carpeta de descargas delnavegadorseencuentratambiénensuhome.Sihaceladescargadeimágenesgrandeshágaloen/opt/rng/practica

• Lapruebadeteleportsepuedellevaracabosinemplearlosordenadoresdellaboratorio, empleando por ejemplo un ordenador portátil, aunque puede

Page 4: Virtualización con VirtualBox · macOS, Windows). Al final del guión de la práctica se incluyen anotaciones, pistas y consejos que pueden ayudar ante ciertas dificultades, aunque

Departamento de Ingeniería Eléctrica, Electrónica y de Comunicación

Automatika eta Konputazio Saila

Campus de Arrosadía Arrosadiko Campusa 31006 Pamplona - Iruñea

resultar más complicada. Si dispone de un ordenador con una CPUsuficientementemodernapuedeinstalardosmáquinasvirtualesqueincluyanuna instalación de VirtualBox cada una ymover unamáquina virtual desdeuna de esas máquinas virtuales a la otra (Figura 3). En este caso lavirtualización es doble pero puede llevar a cabo el ejercicio con un soloordenador (esto se ha probado sin problemas empleando un ordenador dellaboratorio). En la configuración de red de los HostVirtualX (Figura 3)configurequepuedanusarelmodopromiscuoenel interfaz.PruebetantoelcasoenquelosHostVirtualXtienenconfiguradodaraccesoalguestvmalaredconunNATcomoconunbridge.

Figura3-Teleportcompletamentevirtualizado

• Entodosloscasosdeteleportrecuerdequeeldiscodelamáquinavirtualdebeencontrarse en un volumen accesible por los dos hosts. En el caso dellaboratorioestosepuedelograrsinmásqueteniendodichodiscoensuhome,dadoqueesedirectorioestámontadodeunservidorNFSentodoslostlmXY(siestádandoaccesoalficherodediscodeunaVMaotrousuariodeberátenercuidado con los permisos de acceso – comando chmod) En el caso de unteleport en un escenario completamente virtualizado (por ejemplo en suportátil) tendrá que instalar una tercera máquina virtual que actúe comoservidorNFSdondehospedelaimagendeldiscodelamáquinavirtual(Figura4) o puede hacer que uno de losHostVirtualX actúe también como servidorNFS.CómoconfigurarunservidorNFSdependedelaversióndeUnix5(enunUbuntupuedeque tengaque indicareldirectorioquedesee compartir enelfichero /etc/exports y activar algún servicio del sistema o del kernel; en elclientenormalmentedeberáusarelcomandomount)

Figura4-TeleportcondiscoenservidorNFSindependiente

5http://www.tldp.org/HOWTO/NFS-HOWTO/server.html