Como instalar e configurar servidor NFS – Linux
O NFS (Network File System) é uma solução amplamente usada para compartilhamento de arquivos em rede em sistemas Linux. Ele permite que arquivos e diretórios em um servidor sejam acessados remotamente como se estivessem localmente na máquina do cliente.
Caso esteja precisando apenas configurar um cliente NFS, veja nosso post sobre o assunto.
Configurar um NFS Server é simples e oferece várias opções de controle de acesso e restrições de rede. Neste tutorial, vamos abordar a instalação e configuração do NFS Server no Debian e Red Hat em uma abordagem combinada, já que os passos são bastante semelhantes.
Instalação
No Debian, a instalação é feita usando o apt:
sudo apt update
sudo apt install nfs-kernel-server
No Red Hat, usamos o dnf para instalar os pacotes necessários:
sudo dnf install nfs-utils
Ambos os sistemas exigem a instalação do pacote correspondente ao servidor NFS.
Iniciar e Habilitar o Serviço
No Red Hat e no Debian, o serviço NFS precisa ser iniciado e habilitado para iniciar automaticamente:
sudo systemctl enable --now nfs-server
Configuração do NFS Server
Criar o Diretório a Ser Compartilhado
Crie o diretório que será compartilhado via NFS:
sudo mkdir /srv/nfs_share
sudo chown nobody:nogroup /srv/nfs_share # Debian
sudo chown nfsnobody:nfsnobody /srv/nfs_share # Red Hat
sudo chmod 755 /srv/nfs_share
Apenas os IDs de usuários/grupos são diferentes entre Debian e Red Hat. No Debian, usamos nobody:nogroup, enquanto no Red Hat usamos nfsnobody:nfsnobody.
Configurar o Arquivo de Exportação
Edite o arquivo /etc/exports para definir os diretórios que serão compartilhados e aplicar restrições de rede:
sudo nano /etc/exports
Adicione as seguintes linhas para exportar o diretório com permissões e restrições de rede configuráveis:
/srv/nfs_share 192.168.1.0/24(rw,sync,no_subtree_check) # Rede local com permissão de leitura e escrita
/srv/nfs_share 192.168.2.0/24(ro,sync,no_subtree_check) # Somente leitura para outra rede
/srv/nfs_share 10.10.0.0/16(ro,sync,no_root_squash) # Rede com permissão root
/srv/nfs_share 172.16.0.0/16(rw,sync,root_squash) # Permissão com root restrito
Opções Explicadas:
- rw/ro: Permite leitura e escrita (rw) ou somente leitura (ro).
- sync: Garante que as operações de escrita no NFS sejam síncronas e gravadas diretamente no disco.
- no_subtree_check: Evita verificações de subárvore, melhorando a performance.
- root_squash: Restringe os privilégios de root nos clientes.
- no_root_squash: Permite que o root no cliente tenha privilégios de root no servidor.
Aplicar as Configurações
Após configurar o arquivo /etc/exports, reinicie o serviço NFS para aplicar as mudanças:
sudo systemctl restart nfs-server
Atualize as exportações para que o sistema carregue as novas permissões:
sudo exportfs -a
Ajustar o Firewall
Permitir o tráfego NFS pelo firewall é essencial para garantir que as máquinas clientes possam acessar os diretórios compartilhados.
Usamos firewall UFW, execute:
sudo ufw allow from 192.168.1.0/24 to any port nfs
sudo ufw allow from 192.168.2.0/24 to any port nfs
Usamos firewall-cmd, execute:
sudo firewall-cmd --add-service=nfs --permanent
sudo firewall-cmd --reload
Usando iptables, execute:
sudo iptables -A INPUT -p tcp --dport 2049 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 2049 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 111 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 111 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 20048 -j ACCEPT
sudo iptables -A INPUT -p udp --dport 20048 -j ACCEPT
Usando nftables, execute (troque table filter e chain input para o que usar no seu ambiente):
sudo nft add rule inet filter input tcp dport {2049,111,20048} accept
sudo nft add rule inet filter input udp dport {2049,111,20048} accept
Conclusão
Configurar um servidor NFS no Debian e no Red Hat segue um fluxo bem semelhante. A maior parte do processo é compartilhada entre os dois sistemas, com exceções mínimas nos detalhes de permissões e comandos. Com essas configurações, você pode controlar quem tem acesso a quais dados, oferecendo segurança e flexibilidade na configuração de compartilhamento de arquivos em redes corporativas ou domésticas.
Fontes:
https://kifarunix.com/install-and-setup-nfs-server-on-debian-12/
https://www.linuxtechi.com/setup-nfs-server-on-centos-8-rhel-8/
Publicar comentário