Configurando servidor NFS – CentOS 7

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:

  1. 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.
  2. sync: A opção sync 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.
  3. no_root_squash: A opção no_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.
  4. no_all_squash: A opção no_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.