14.2. Compartir archivos entre el host y las máquinas virtuales de Windows
Para compartir eficazmente los archivos entre su sistema anfitrión y las máquinas virtuales de Windows a las que está conectado, puede preparar un servidor Samba al que sus máquinas virtuales puedan acceder.
Requisitos previos
Los paquetes de
sambaestán instalados en su host. Si no lo están:# yum install sambaEl host es visible y alcanzable a través de una red para la VM. Esto es generalmente el caso si la VM está conectada usando el tipo de redes virtuales NAT y bridge. Sin embargo, para la conexión macvtap, primero debe configurar la función macvlan en el host. Para ello:
Cree un archivo de dispositivo de red, por ejemplo, llamado
vm-macvlan.netdeven el directorio/etc/systemd/network/del host.# touch /etc/systemd/network/vm-macvlan.netdevEdite el archivo del dispositivo de red para que tenga el siguiente contenido. Puede sustituir
vm-macvlanpor el nombre que haya elegido para su dispositivo de red.[NetDev] Name=vm-macvlan Kind=macvlan [MACVLAN] Mode=bridgeCree un archivo de configuración de red para su dispositivo de red macvlan, por ejemplo
vm-macvlan.network.# touch /etc/systemd/network/vm-macvlan.networkEdite el archivo de configuración de red para que tenga el siguiente contenido. Puede sustituir
vm-macvlanpor el nombre que haya elegido para su dispositivo de red.[Match] Name=_vm-macvlan_ [Network] IPForward=yes Address=192.168.250.33/24 Gateway=192.168.250.1 DNS=192.168.250.1Cree un archivo de configuración de red para su interfaz de red física. Por ejemplo, si su interfaz es
enp4s0:# touch /etc/systemd/network/enp4s0.networkSi no está seguro de qué interfaz utilizar, puede utilizar el comando
ifconfigen su host para obtener la lista de interfaces de red activas.Edite el archivo de configuración de la red física para que la red física forme parte de la interfaz macvlan, en este caso vm-macvlan:
[Match] Name=enp4s0 [Network] MACVLAN=vm-macvlan- Reinicie su host.
Procedimiento
En el host, cree un recurso compartido Samba y hágalo accesible para los sistemas externos.
Añadir permisos de firewall para Samba.
# firewall-cmd --permanent --zone=public --add-service=samba success # firewall-cmd --reload successEdite el archivo
/etc/samba/smb.conf:Añade lo siguiente a la sección
[global]:map to guest = Bad UserAñade lo siguiente al final del archivo:
#=== Share Definitions === [VM-share] path = /samba/VM-share browsable = yes guest ok = yes read only = no hosts allow = 192.168.122.0/24Tenga en cuenta que la línea
hosts allowrestringe la accesibilidad del recurso compartido sólo a los hosts de la red de la máquina virtual. Si desea que cualquiera pueda acceder al recurso compartido, elimine la línea.
Cree el directorio
/samba/VM-share.# mkdir -p /samba/VM-shareHabilite el servicio Samba.
# systemctl enable smb.service Created symlink /etc/systemd/system/multi-user.target.wants/smb.service/usr/lib/systemd/system/smb.service. Reinicie el servicio Samba.
# systemctl restart smb.servicePermitir que el directorio
VM-sharesea accesible y modificable para las máquinas virtuales.# chmod -R 0755 /samba/VM-share/ # chown -R nobody:nobody /samba/VM-share/Añade la etiqueta de compartición SELinux Samba a
/etc/samba/VM-share/# chcon -t samba_share_t /samba/VM-share/
En el sistema operativo invitado Windows, adjunte el recurso compartido Samba como una ubicación de red.
- Abra el Explorador de Archivos y haga clic con el botón derecho en "Este PC".
En el menú contextual, haga clic en
Add a network location.
- En el asistente Add Network Location que se abre, seleccione "Elegir una ubicación de red personalizada" y haga clic en .
En el campo "Dirección de Internet o de red", escriba host-IP/VM-share, donde host-IP es la dirección IP del host. Normalmente, la IP del host es la puerta de enlace por defecto de la VM. A continuación, haga clic en .
- Cuando el asistente le pregunte si desea cambiar el nombre del directorio compartido, mantenga el nombre por defecto. Esto asegura la consistencia de la configuración de la compartición de archivos en la VM y en el huésped. Haga clic en .
- Si el acceso a la ubicación de red fue exitoso, ahora puede hacer clic en y abrir el directorio compartido.