Configure um Servidor NFS no Linux: Guia Completo e Passo a Passo

Foto do autor

By luis

Se você possui um conhecimento intermediário de Linux, ou está começando a utilizar um servidor, o método mais comum para acessar seus arquivos é através do Samba. Muitos optam por essa via devido à complexidade do NFS (Network File System). Configurar o NFS pode parecer trabalhoso, com diversos passos e detalhes que precisam ser ajustados, quando comparado com alternativas como Samba ou até mesmo FTP. É lamentável que muitos usuários Linux evitem o NFS, já que ele oferece excelentes recursos e funcionalidades. Pensando nisso, preparamos este guia para simplificar a configuração de um servidor NFS. Vamos detalhar como hospedar compartilhamentos NFS em seu sistema Linux e orientá-lo, passo a passo, para colocar seu servidor em pleno funcionamento.

Instalação dos Pacotes Necessários

Geralmente, as distribuições Linux compartilham as mesmas ferramentas NFS, com algumas pequenas variações. Para garantir o funcionamento, abra um terminal e instale os seguintes pacotes no seu sistema. Esses pacotes instalarão as ferramentas padrão para operar o servidor, gerar os arquivos de configuração necessários e, em alguns casos, até mesmo realizar configurações adicionais.

Ubuntu

sudo apt install nfs-kernel-server

Fedora

sudo dnf install nfs-utils system-config-nfs

Arch Linux

sudo pacman -S nfs-utils

Debian

sudo apt-get install nfs-kernel-server

OpenSUSE

sudo zypper install nfs-kernel-server

Outras Distribuições Linux

O sistema de arquivos NFS, tanto cliente quanto servidor, é uma tecnologia estabelecida. Portanto, você poderá configurá-lo sem dificuldades em praticamente qualquer distribuição Linux. Se sua distribuição não foi mencionada, procure por “nfs utils” no gerenciador de pacotes ou consulte a documentação oficial da sua distribuição.

Habilitando Serviços Systemd

O processo de configuração de um servidor NFS pode variar de acordo com a distribuição Linux que você utiliza. Em algumas distribuições, como Ubuntu e Debian, a instalação dos pacotes NFS já configura automaticamente os serviços systemd. No entanto, em distribuições como Arch Linux, SUSE ou Fedora, você precisará habilitar esses serviços manualmente. Veja como proceder:

Se você está utilizando Arch Linux, OpenSUSE, Fedora ou qualquer distribuição que não configure automaticamente os serviços systemd para NFS, abra um terminal e execute os seguintes comandos:

sudo systemctl enable rpcbind
sudo systemctl enable nfs-server
sudo service rpcbind start
sudo service nfs-server start

Configuração dos Compartilhamentos

Após a instalação dos pacotes NFS, o servidor estará “configurado”, mas isso não significa que os usuários já possam acessá-lo. Para isso, é necessário definir as exportações, locais dos arquivos, entre outras configurações. Para começar, obtenha um shell de root no terminal através do comando: sudo -s.

O arquivo de exportação pode gerenciar qualquer tipo de diretório. Você pode até mesmo adicionar diretamente um caminho para uma pasta que deseja compartilhar. No entanto, essa prática pode ser um risco de segurança. O método mais seguro consiste em copiar o conteúdo de um diretório para outro, e então compartilhá-lo. Isso garante que as permissões da pasta /srv/ não precisem ser alteradas, mantendo tudo mais seguro.

Por exemplo, para criar um compartilhamento NFS da pasta “Imagens” de um usuário, siga as etapas abaixo:

mkdir -p /srv/nfs/pictures /home/username/Pictures/
mount --bind /home/username/Pictures/ /srv/nfs/pictures/

Utilize o exemplo acima para criar quantos compartilhamentos “bind” desejar. Não se limite a diretórios de pastas pessoais; use a sua criatividade e explore outras opções.

Com tudo pronto, execute os seguintes comandos para que as montagens sejam permanentes:

echo '#NFS Pictures Bind Mount' >> /etc/fstab
echo '/home/username/Pictures/ /srv/nfs/pictures/ none bind 0 0' >> /etc/fstab

Nota: Adapte os comandos acima às suas configurações de montagem.

Com as montagens configuradas, é hora de editar o arquivo de configuração das exportações. Este arquivo é crucial, pois é onde você define cada compartilhamento que o NFS irá utilizar.

nano /etc/exports

Dentro do arquivo, adicione as seguintes linhas ao final:

/srv/nfs/pictures/ 192.168.0.0/255.255.255.0(rw,sync,no_subtree_check)

Adicione quantas linhas forem necessárias para seus compartilhamentos. Lembre-se que cada compartilhamento precisa de sua própria montagem, entrada no fstab e entrada em /etc/exports.

Nota: Salve o arquivo de exportação com CTRL + O.

Atualizando as Configurações

O servidor NFS está ativo, os arquivos estão no lugar certo e tudo está pronto. O último passo é atualizar as alterações no arquivo de exportação. Essa etapa é crucial, pois o servidor NFS não aplica as alterações automaticamente. Para atualizar, use o comando: exportfs -rav.

Se necessário, reinicie o serviço do servidor através do systemd com o comando: sudo systemctl restart nfs-server.

Considerações Finais

O Network File System é uma ferramenta poderosa. Com ele, é possível acessar arquivos e diretórios remotos e trabalhar com eles como se fossem um disco rígido local. Isso é vantajoso, já que outras ferramentas de compartilhamento de arquivos em rede não oferecem a mesma flexibilidade e liberdade.

Apesar de sua utilidade, muitos usuários preferem o Samba. Isso é compreensível, já que o NFS pode ser mais complexo e tedioso de configurar. No entanto, se você superar as dificuldades da configuração, o NFS pode valer muito a pena.