14.2. Compartilhamento de arquivos entre o host e as máquinas virtuais Windows
Para um compartilhamento eficiente de arquivos entre seu sistema host e as VMs Windows às quais ele está conectado, você pode preparar um servidor Samba que suas VMs podem acessar.
Pré-requisitos
Os pacotes
samba
são instalados em seu host. Caso não estejam:yum install samba
# yum install samba
Copy to Clipboard Copied! Toggle word wrap Toggle overflow O host é visível e alcançável através de uma rede para o VM. Este é geralmente o caso se a VM estiver conectada usando o tipo de rede virtual NAT e bridge. Entretanto, para a conexão macvtap, é necessário primeiro configurar o recurso macvlan no host. Para fazer isso:
Criar um arquivo de dispositivo de rede, por exemplo, chamado
vm-macvlan.netdev
no diretório/etc/systemd/network/
do 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 o arquivo do dispositivo de rede para ter o seguinte conteúdo. Você pode substituir
vm-macvlan
pelo nome que você escolheu para seu dispositivo de rede.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Crie um arquivo de configuração de rede para seu dispositivo de rede macvlan, por exemplo
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 o arquivo de configuração da rede para ter o seguinte conteúdo. Você pode substituir
vm-macvlan
pelo nome que você escolheu para seu dispositivo de rede.Copy to Clipboard Copied! Toggle word wrap Toggle overflow Crie um arquivo de configuração de rede para sua interface física de rede. Por exemplo, se sua interface é
enp4s0
:touch /etc/systemd/network/enp4s0.network
# touch /etc/systemd/network/enp4s0.network
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Se você não tiver certeza de qual interface usar, você pode usar o comando
ifconfig
em seu host para obter a lista de interfaces de rede ativas.Edite o arquivo de configuração física da rede para tornar a rede física uma parte da interface macvlan, neste 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 seu anfitrião.
Procedimento
No host, criar um Samba share e torná-lo acessível para sistemas externos.
Adicionar permissões de firewall para o 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 o arquivo
/etc/samba/smb.conf
:Adicione o seguinte na seção
[global]
:mapa para convidado = Mau Usuário
mapa para convidado = Mau Usuário
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Adicione o seguinte no final do arquivo:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Note que a linha
hosts allow
restringe a acessibilidade do compartilhamento apenas aos hosts da rede VM. Se você quiser que o compartilhamento seja acessível por qualquer pessoa, remova a linha.
Criar o diretório
/samba/VM-share
.mkdir -p /samba/VM-share
# mkdir -p /samba/VM-share
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Habilitar o serviço de 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 o serviço de Samba.
systemctl restart smb.service
# systemctl restart smb.service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Permitir que o diretório
VM-share
seja acessível e modificável para as VMs.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 Adicionar o selo SELinux Samba sharing ao
/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
No sistema operacional Windows guest, anexe o Samba share como um local de rede.
- Abra o File Explorer e clique com o botão direito do mouse em "Este PC".
No menu de contexto, clique em
Add a network location
.- No assistente Add Network Location que se abre, selecione "Choose a custom network location" e clique em .
No campo "Internet ou endereço de rede", digite host-IP/VM-share, onde host-IP é o endereço IP do host. Normalmente, o IP do host é o gateway padrão da VM. Em seguida, clique em .
- Quando o assistente perguntar se você deseja renomear o diretório compartilhado, mantenha o nome padrão. Isto assegura a consistência da configuração do compartilhamento de arquivos entre a VM e o convidado. Clique em .
- Se o acesso à localização da rede foi bem sucedido, você pode agora clicar em e abrir o diretório compartilhado.