Network File System (NFS) no Linux: Guia Prático de Configuração

Introdução

O Network File System (NFS), ou Sistema de Arquivos em Rede, é um protocolo criado pela Sun Microsystems que possibilita montar diretórios remotos em computadores conectados. Dessa forma, um diretório remoto se torna acessível como se estivesse no próprio sistema local.

Esse protocolo está definido nas RFCs 1094, 1813 e 7931. Além disso, ele é amplamente utilizado em ambientes Linux.

Neste guia, será mostrado como configurar servidor e cliente NFS no Ubuntu 20.04, em um passo a passo prático.


Considerações de Segurança

Antes de tudo, é importante destacar que o NFS não foi projetado com foco em criptografia. Assim, o tráfego não é seguro contra espionagem.

Além disso:

  • As operações de superusuário no cliente não se refletem no servidor.
  • Por padrão, o NFS impede que o root do cliente tenha privilégios de root no servidor.

Portanto, recomenda-se usar NFS em ambientes internos e, se necessário, combiná-lo com VPNs para segurança adicional.


Cenário de Configuração

Neste exemplo:

  • Dois computadores Ubuntu 20.04 serão usados.
  • O HOST será o servidor (IP: 192.168.0.2).
  • O CLIENTE será a máquina que acessará os compartilhamentos (IP: 192.168.0.7).
  • Ambos devem ter ao menos um usuário com privilégios sudo.

Instalando os Pacotes Necessários

Para iniciar, atualize os índices de pacotes em ambas as máquinas:

sudo apt update

No servidor (HOST), instale o pacote com o comando:

sudo apt install nfs-kernel-server

Em seguida, no cliente (CLIENTE), instale o suporte com:

sudo apt install nfs-common

💡 Em distribuições da família Red Hat, utilize nfs-utils. No openSUSE, os pacotes são NFS Server e NFS Client.


Criando Compartilhamentos no Servidor

Existem duas formas comuns de compartilhamento:

1. Compartilhamento de uso geral

Primeiramente, crie um diretório que será acessado por todos os clientes, mas sem privilégios de root:

sudo mkdir -p /var/dummy/usogeral

sudo chown nobody:nogroup /var/dummy/usogeral

2. Compartilhamento com permissões administrativas

Caso seja necessário permitir mais controle, pode-se compartilhar o diretório /home:

# Nenhuma alteração de propriedade é necessária


Configurando o Arquivo /etc/exports

Edite o arquivo de configuração no HOST:

sudo nano /etc/exports

Adicione as linhas:

/var/dummy/usogeral 192.168.0.7(rw,sync,no_subtree_check)

/home               192.168.0.7(rw,sync,no_root_squash,no_subtree_check)

Explicando as opções:

  • Em primeiro lugar, rw fornece leitura e escrita
  • Além disso, sync garante consistência
  • Por fim, no_subtree_check e no_root_squash controlam verificações e permissões avançadas.

Reinicie o serviço:

sudo systemctl restart nfs-kernel-server


Montando os Compartilhamentos no Cliente

No CLIENTE, crie os pontos de montagem:

sudo mkdir -p /nfs/usogeral

sudo mkdir -p /nfs/home

Após criar os pontos de montagem, use os seguintes comandos para montar os diretórios:

sudo mount 192.168.0.2:/var/dummy/usogeral /nfs/usogeral

sudo mount 192.168.0.2:/home /nfs/home

Finalmente, confirme a operação com:

df -h


Montagem Automática com /etc/fstab

Para que os diretórios sejam montados automaticamente após reinicialização, adicione ao arquivo /etc/fstab do cliente:

192.168.0.2:/var/dummy/usogeral /nfs/usogeral nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0

192.168.0.2:/home               /nfs/home     nfs auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0


Desmontando Compartilhamentos

Caso não deseje mais os compartilhamentos:

sudo umount /nfs/usogeral

sudo umount /nfs/home


Considerações Finais

Neste artigo foi mostrado como instalar, configurar e testar NFS no Ubuntu 20.04, tanto do lado do servidor quanto do cliente.

Em conclusão, apesar da simplicidade, é essencial lembrar que o NFS não criptografa o tráfego. Por isso, é recomendado seu uso apenas em redes internas seguras.


Referências

Deixe um comentário