Como configurar um servidor Linux NFS em sua rede doméstica (e por quê)
Se você precisa compartilhar pastas em sua rede e a velocidade é sua prioridade, o NFS pode ser a solução para você.
Tenho várias pastas compartilhadas na minha rede. Algumas dessas pastas são para arquivos menores que precisam ser acessados de todas as máquinas da minha LAN (rede local), enquanto outras tendem a ser usadas para arquivos maiores (como vídeos). Entretanto, para arquivos menores (como cópias de backup de galeras), eu uso o Samba porque é flexível e fácil de usar. Para arquivos maiores, geralmente uso o NFS.
NFS significa Network File System e é um sistema simples para compartilhar pastas em uma rede. Além da flexibilidade, o Samba é um pouco mais fácil de trabalhar do que o NFS, e é por isso que tantos optam por seguir esse caminho. Mas quando você precisa salvar arquivos maiores em um compartilhamento de rede, o NFS é um bom caminho a seguir.
Quero mostrar como configurar um compartilhamento NFS na sua rede, usando Linux.
Como instalar o NFS
O que você precisa:As únicas coisas que você precisa para isso são uma instância do Linux em execução (demonstrarei no Pop!_OS baseado no Ubuntu), um usuário com privilégios sudo e uma rede doméstica.
1. Instale os pacotes de servidor necessários
Faça login em sua máquina Linux, abra uma janela de terminal e prepare-se para executar um comando. Se a sua distribuição preferida for o Ubuntu, esse comando seria:
sudo apt-get install nfs-kernel-server -y
Se a máquina for baseada no Fedora, o comando seria:
sudo dnf -install libnfsidmap sssd-nfs-idmap nfs-utils -y
Se a máquina for baseada em Arch, o comando será:
sudo pacman -S nfs-utils
2. Instale o pacote de cliente necessário
Já instalamos o pacote do cliente no Fedora e Arch e devemos fazer o mesmo no Ubuntu. O comando para isso é:
sudo apt-get install nfs-common -y
Como criar um compartilhamento NFS
1. Crie o novo diretório
A seguir, criaremos um diretório para armazenar os arquivos do nosso compartilhamento NFS. Você pode colocá-lo onde quiser, mas vamos adicioná-lo ao diretório raiz com o comando:
sudo mkdir /share
2. Dê à pasta as permissões adequadas
Com a pasta compartilhada criada, é hora de conceder as permissões necessárias com o comando:
sudo chmod -R 777 /share
Como definir nosso novo compartilhamento com NFS
O próximo passo é definir o novo compartilhamento. Para isso, você precisará saber o endereço IP da máquina que acessará o compartilhamento. Com essas informações em mãos, vamos definir o compartilhamento.
1. Abra o arquivo de configuração NFS
Abra o arquivo de configuração com o comando:
sudo nano /etc/exports
2. Adicione o compartilhamento
No arquivo de exportações, adicione o seguinte:
/share ADDRESS(rw)
Onde ADDRESS é o endereço IP da máquina cliente que acessará o compartilhamento NFS. O rw significa que o cliente terá acesso de leitura e gravação ao compartilhamento.
Como abrir o firewall
1. Máquinas baseadas em Fedora e Arch
Você precisará então abrir o firewall em seu servidor. Se o servidor for uma máquina baseada em Arch ou Fedora, os comandos para isso são:
sudo firewall-cmd --permanent --zone=public --add-service=nfs
sudo firewall-cmd --reload
2. Máquinas baseadas em Ubuntu
Se a máquina for baseada em Ubuntu, o comando para abrir o firewall é:
sudo ufw allow from 192.168.1.0/24 to any port nfs
Inicie o serviço
Agora você pode iniciar o serviço NFS. O mesmo comando pode ser usado em sistemas Arch, Fedora e Ubuntu. Esse comando é:
sudo systemctl --enable now nfs-server
O servidor deve iniciar e agora está pronto para conexões.
Como montar o compartilhamento
Ao contrário do Samba, o compartilhamento não fica automaticamente visível na sua rede. Em vez disso, você precisa montá-lo em outras máquinas Linux. Veja como fazer isso.
Digamos que o endereço IP do seu servidor NFS seja 192.168.1.176 e o compartilhamento seja /share. Para montar isso em uma máquina cliente, primeiro você precisa criar uma pasta para montar o compartilhamento. Na sua máquina cliente, emita o comando:
nano mkdir ~/nfs_mount
Em seguida, abra o arquivo fstab com o comando:
sudo nano /etc/fstab
Na parte inferior do arquivo, adicione a seguinte linha:
192.168.1.176:/share /home/USER/nfs_mount nfs rw 0 0
Onde USER é o seu nome de usuário do Linux.
Salve e feche o arquivo. Verifique a configuração com:
sudo mount -a
Você não deverá ver erros na saída.
Neste ponto, o compartilhamento NFS agora está acessível em sua máquina Linux a partir do diretório ~/nfs_mount. Todos os arquivos que já estiverem no compartilhamento estarão disponíveis e qualquer arquivo que você adicionar a ~/nfs_mount (no cliente) aparecerá no diretório /share no servidor. Como adicionamos o comando mount a /etc/fstab, o compartilhamento será montado automaticamente, mesmo após uma reinicialização.