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
# yum install samba
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# touch /etc/systemd/network/vm-macvlan.netdev
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# touch /etc/systemd/network/vm-macvlan.network
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# touch /etc/systemd/network/enp4s0.network
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
[Match] Name=enp4s0 [Network] MACVLAN=vm-macvlan
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 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 firewall-cmd --reload
# firewall-cmd --permanent --zone=public --add-service=samba success # firewall-cmd --reload success
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Edite el archivo
/etc/samba/smb.conf
:Añade lo siguiente a la sección
[global]
:map to guest = Bad User
map to guest = Bad User
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Añade lo siguiente al final del archivo:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# mkdir -p /samba/VM-share
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Habilite el servicio Samba.
systemctl enable smb.service
# systemctl enable smb.service Created symlink /etc/systemd/system/multi-user.target.wants/smb.service
/usr/lib/systemd/system/smb.service. Copy to Clipboard Copied! Toggle word wrap Toggle overflow Reinicie el servicio Samba.
systemctl restart smb.service
# systemctl restart smb.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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/
# chmod -R 0755 /samba/VM-share/ # chown -R nobody:nobody /samba/VM-share/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Añade la etiqueta de compartición SELinux Samba a
/etc/samba/VM-share/
chcon -t samba_share_t /samba/VM-share/
# chcon -t samba_share_t /samba/VM-share/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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.