4
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ón con VirtualBox 1. Introducción y objetivos El objetivo de esta práctica es familiarizarse con los entornos de virtualización, en concreto con algunas funcionalidades de VirtualBox similares (aunque de forma simplificada) a lo que se puede emplear en un entorno de servidor en el centro de datos. Practicaremos con la posibilidad de crear redes internas donde algunos hosts virtuales puedan actuar por ejemplo como routers o servidores (o balanceadores, o firewalls, o proxies, o IDS...), así como con el movimiento de máquinas virtuales entre hosts. Esta práctica no pretende ser un tutorial paso-a-paso. Se plantean los objetivos a de cada apartado pero puede haber múltiples formas de alcanzarlos, incluso se puede llevar a cabo la práctica en plataformas diferentes (Linux del laboratorio, macOS, Windows). Al final del guión de la práctica se incluyen anotaciones, pistas y consejos que pueden ayudar ante ciertas dificultades, aunque todo se puede resolver con un poco de trabajo y buscando documentación. 2. Networking virtual VirtualBox permite diferentes formas de networking entre las máquinas virtuales y con el exterior. Se remite a su manual para más detalle 1 . En este apartado se le pide que cree un escenario como el que se muestra en la Figura 1. Los equipos vRouter1 y vRouter2 son máquinas virtuales Linux con dos interfaces Ethernet, actuando como routers. Los equipos PC1, PC2, PC3 y PC4 son máquinas virtuales con un interfaz de red, actuando como hosts normales. Todos ellos son guests en el mismo host VirtualBox. Figura 1 - Topología de red Los equipos vSwitch1, vSwitch2 y vSwitch3 podrían ser equipos Linux actuando como puentes, sin embargo para este ejercicio se recomienda emplear la capacidad de crear redes internas independientes en VirtualBox 2 . Cree tres redes internas independientes para actuar como cada una de esas LANs. Configure direcciones IP y rutas en todos los hosts y routers y compruebe la conectividad y caminos con traceroute. Si la instalación de Linux que ha empleado para los PCs incluye servidor y cliente de ssh puede probar también a acceder de una máquina virtual a la otra. No hace falta que ninguno de los PCs incluya un interfaz gráfico. Punto de control: Muestre el escenario completo en funcionamiento al profesor. 1 https://www.virtualbox.org/manual/ch06.html 2 https://www.virtualbox.org/manual/ch06.html#network_internal

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

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

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