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
samba
están instalados en su host. Si no lo están:# yum install samba
El 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.netdev
en el directorio/etc/systemd/network/
del host.# touch /etc/systemd/network/vm-macvlan.netdev
Edite el archivo del dispositivo de red para que tenga el siguiente contenido. Puede sustituir
vm-macvlan
por el nombre que haya elegido para su dispositivo de red.[NetDev] Name=vm-macvlan Kind=macvlan [MACVLAN] Mode=bridge
Cree un archivo de configuración de red para su dispositivo de red macvlan, por ejemplo
vm-macvlan.network
.# touch /etc/systemd/network/vm-macvlan.network
Edite el archivo de configuración de red para que tenga el siguiente contenido. Puede sustituir
vm-macvlan
por 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.1
Cree 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.network
Si no está seguro de qué interfaz utilizar, puede utilizar el comando
ifconfig
en 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 success
Edite el archivo
/etc/samba/smb.conf
:Añade lo siguiente a la sección
[global]
:map to guest = Bad User
Añ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/24
Tenga en cuenta que la línea
hosts allow
restringe 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-share
Habilite 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.service
Permitir que el directorio
VM-share
sea 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.