Red Hat Training

A Red Hat training course is available for RHEL 8

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:

    1. 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
    2. 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
    3. 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
    4. 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
    5. 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.

    6. 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
    7. Reinicie su host.

Procedimiento

  1. En el host, cree un recurso compartido Samba y hágalo accesible para los sistemas externos.

    1. Añadir permisos de firewall para Samba.

      # firewall-cmd --permanent --zone=public --add-service=samba
      success
      # firewall-cmd --reload
      success
    2. Edite el archivo /etc/samba/smb.conf:

      1. Añade lo siguiente a la sección [global]:

        map to guest = Bad User
      2. 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.

    3. Cree el directorio /samba/VM-share.

      # mkdir -p /samba/VM-share
    4. 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.
    5. Reinicie el servicio Samba.

      # systemctl restart smb.service
    6. 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/
    7. Añade la etiqueta de compartición SELinux Samba a /etc/samba/VM-share/

      # chcon -t samba_share_t /samba/VM-share/
  2. En el sistema operativo invitado Windows, adjunte el recurso compartido Samba como una ubicación de red.

    1. Abra el Explorador de Archivos y haga clic con el botón derecho en "Este PC".
    2. En el menú contextual, haga clic en Add a network location.

      virt Win10 network loc1
    3. En el asistente Add Network Location que se abre, seleccione "Elegir una ubicación de red personalizada" y haga clic en Siguiente.
    4. 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 Siguiente.

      virt Win10 network loc2
    5. 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 Siguiente.
    6. Si el acceso a la ubicación de red fue exitoso, ahora puede hacer clic en Finalizar y abrir el directorio compartido.