Se você já precisou compartilhar diretórios entre máquinas Linux em uma rede, provavelmente já ouviu falar do NFS (Network File System). Ele é o canivete suíço para acesso a arquivos remotos de forma transparente, como se estivessem na sua própria máquina.
Hoje, vamos botar a mão na massa e aprender a configurar um servidor NFS no Oracle Linux. Este tutorial é perfeito para criar um storage centralizado para seus backups, compartilhar arquivos de projetos entre servidores ou simplesmente facilitar a vida no seu laboratório de testes. Vamos nessa?
Passo 1: Instalando o pacote (nfs-utils):
A primeira coisa que precisamos fazer é instalar as ferramentas que fazem a mágica do NFS acontecer. Abra seu terminal e mande ver:
$ sudo yum install -y nfs-utils
Este comando instala o nfs-utils, um pacote que contém tudo o que precisamos para rodar tanto o servidor quanto o cliente NFS. Simples assim!
Passo 2: Criando o diretório que será compartilhado:
Agora, precisamos decidir qual pasta do nosso servidor será compartilhada na rede. Para este guia, vamos criar um diretório chamado /nfs-share.
$ sudo mkdir /nfs-share
Você pode criar alguns arquivos de teste dentro dele para verificar se tudo está funcionando no final.
$ sudo fallocate -l 10MB /nfs-share/arquivo-teste1
$ echo "O NFS funciona!" | sudo tee /nfs-share/meu-arquivo.txt > /dev/null
Passo 3: Definindo as Regras do Jogo no /etc/exports:
Este é o coração da configuração. O arquivo /etc/exports diz ao nosso servidor NFS quais diretórios compartilhar e quem tem permissão para acessá-los.
Abra o arquivo com seu editor de texto preferido (vi, nano etc.):
$ sudo vi /etc/exports
Agora, adicione uma linha com a seguinte estrutura:
/nfs-share 192.168.1.100(rw,sync,no_root_squash)
O que significam essas opções?
Por exemplo, para compartilhar o diretório /nfs-share com uma máquina específica na sua rede (ex: 192.168.1.100) com permissão de leitura e escrita, você adicionaria:
rw: Read/Write. Permite que o cliente leia e escreva no diretório. Para apenas leitura, use ro.
sync: Sincroniza as escritas no disco antes de confirmar a operação. É mais seguro, mas pode ser um pouco mais lento.
no_root_squash: Por padrão, o NFS trata o usuário root do cliente como um usuário sem privilégios. Esta opção desativa esse comportamento, o que pode ser útil em ambientes controlados, mas use com cuidado!
Se quiser compartilhar com toda a sua rede (ex: 192.168.1.0/24), a linha ficaria assim:
/nfs-share 192.168.1.0/24(rw,sync,no_root_squash)
Salve e feche o arquivo.
Passo 4: Ligando os Motores do Servidor NFS:
Com tudo configurado, é hora de iniciar os serviços do NFS e garantir que eles subam automaticamente com o sistema.
sudo systemctl enable --now nfs-server
Passo 5: Liberando o Acesso no Firewall:
Por segurança, o firewall do Oracle Linux bloqueia as conexões por padrão. Precisamos criar uma regra para permitir o tráfego NFS.
Adicionando uma regra permanente para o serviço de NFS:
$ sudo firewall-cmd --permanent --add-service=nfs
Reinicializando o firewall para aplicar a nova regra:
$ sudo firewall-cmd --reload
Passo 6: Montando o compartilhamento no servidor de destino:
Agora que no seu servidor o NFS está pronto, o próximo passo é “apresentar” ele e montar no seus servidores de destino. Este processo é bem simples (apenas um comando). Veja:
$ mount -t nfs 192.168.1.200:/nfs-share /arquivos
O que significam essas opções?
Com o comando acima, na maquina de destino, estamos “montando” um compartilhamento a partir do que foi configurado na maquina de origem, ou seja, seu servidor NFS.
mount: monta um filesystem.
-t nfs: tipo de filesystem NFS.
192.168.1.200: servidor de origem (onde o NFS foi instalado).
/arquivos: diretório no servidor de destino, onde o NFS será montado.
Conclusão
E pronto! Seu servidor NFS está no ar, configurado e pronto para compartilhar arquivos no Oracle Linux.