O NFS (Network File System) é um sistema de arquivo distribuído que provê acesso transparente a discos remotos.
No servidor vamos instalar alguns pacotes e permitir que seja mapeado no cliente
yum install nfs-utils rpcbind
Agora inicie os serviços necessários:
systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock
systemctl start nfs-idmap
Para verificar se está rodando o serviço do NFS verifique:
systemctl status nfs
Agora precisaremos criar o diretório que será compartilhado:
mkdir /home/COMPARTILHAMENTO-NFS
Para realizar o mapeamento, será necessário inserir as informações no arquivo /etc/exports dos diretórios que poderão ser mapeados no seguinte formato:
echo "/home/COMPARTILHAMENTO-NFS 192.168.*.*(rw,sync,no_root_squash,no_all_squash)" | tee -a /etc/exports
Execute:
exportfs -a
Dica: Você pode usar a opção ro
para apenas leitura e rw
para leitura e escrita. Para permitir apenas leitura para o IP 192.168.0.10 e leitura e escrita para o IP 192.168.0.20, a linha deve ficar assim:
/home/COMPARTILHAMENTO-NFS 192.168.0.10(ro) 192.168.0.20(rw)
Reinicie o nfs-server
systemctl restart nfs-server
Libere as regras no firewall:
firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --permanent --zone=public --add-service=mountd
firewall-cmd --permanent --zone=public --add-service=rpc-bind
firewall-cmd --reload
Habilite o serviço NFS e certifique-se de que ele seja iniciado automaticamente durante a inicialização do sistema:
systemctl enable nfs-server
systemctl start nfs-server
Agora no cliente (máquina que irá montar o compartilhamento) execute:
yum install nfs-utils
Se sua distribuição usar APT ou DEB para gerenciamento de pacotes, o pacote do Cliente NFS será:
apt install nfs-common -y
Crie a pasta onde você deseja montar o diretório do servidor NFS:
mkdir /mnt/NFS-SERVER
Montando a pasta do servidor NFS (onde 192.168.X.X é o ip do servidor NFS)
mount -t nfs 192.168.X.X:/home/COMPARTILHAMENTO-NFS /mnt/NFS-SERVER
Após realizar essas configurações, ao executar o comando ‘df -h’, o volume estará listado como um ponto de montagem disponível. Se desejar tornar esse volume permanente, você pode fazer isso editando o arquivo ‘/etc/fstab’ e adicionando a seguinte linha:
192.168.X.X:/home/COMPARTILHAMENTO-NFS /mnt/NFS-SERVER nfs defaults 0 0
Execute: mount -a
Para desmontar o compartilhamento NFS quando não precisar mais dele, você pode usar o comando umount
:
umount /mnt/NFS-SERVER
Aqui está uma descrição de cada uma das opções do arquivo /etc/exports
:
rw
(read-write): Esta opção permite que os clientes NFS tenham permissão de leitura (read) e escrita (write) nos arquivos e diretórios compartilhados. Isso significa que os clientes podem ler e modificar os arquivos dentro do diretório compartilhado.sync
: A opçãosync
especifica que o servidor NFS deve responder às solicitações de gravação apenas depois de gravar fisicamente os dados no sistema de arquivos subjacente. Isso garante que as gravações sejam sincronizadas e seguras, mas pode afetar o desempenho, pois pode resultar em atrasos perceptíveis ao gravar grandes volumes de dados.no_root_squash
: A opçãono_root_squash
desativa a tradução de ID de usuário (UID) para o usuário root remoto. Quando essa opção está habilitada, o root em um cliente NFS tem privilégios de root no servidor, o que significa que pode acessar e modificar arquivos como se fosse o root no servidor. Isso pode ser útil em alguns casos, mas também pode ser um risco de segurança, pois permite um alto nível de acesso ao sistema de arquivos compartilhado.no_all_squash
: A opçãono_all_squash
desativa a tradução de ID de usuário (UID) para todos os usuários remotos, não apenas o root. Quando habilitada, os IDs de usuário e grupo nos clientes NFS serão mapeados diretamente nos IDs de usuário e grupo no servidor NFS. Isso significa que os clientes têm as mesmas permissões e acesso ao sistema de arquivos que os usuários correspondentes no servidor. Isso pode ser útil para garantir que os clientes mantenham seus próprios privilégios de acesso aos arquivos compartilhados.
Lembre-se de que a configuração do servidor NFS deve ser cuidadosamente ajustada de acordo com os requisitos de segurança e acesso dos clientes. O uso das opções no_root_squash
e no_all_squash
deve ser feito com cautela, pois pode aumentar os riscos de segurança, especialmente em redes não confiáveis. Certifique-se de entender as implicações de segurança ao usar essas opções e ajuste-as de acordo com suas necessidades específicas.