| Função | Endereço IP |
|---|---|
| Servidor | 192.168.100.10 |
| Cliente | 192.168.100.20 |
1. Configuração do Servidor
1.1 Enstalação dos pacotes necessários
[root@servidor ~]# dnf install -y nfs-utils
[root@servidor ~]# dnf install -y rpcbind
1.2 Iniciar serviços e habilitar inicialização automática
[root@servidor ~]# systemctl start rpcbind
[root@servidor ~]# systemctl enable rpcbind
[root@servidor ~]# systemctl start nfs-server
[root@servidor ~]# systemctl enable nfs-server
1.3 Configuração do firewall (ignorar se estiver desabilitado)
[root@servidor ~]# firewall-cmd --permanent --add-service=nfs
[root@servidor ~]# firewall-cmd --permanent --add-service=rpc-bind
[root@servidor ~]# firewall-cmd --permanent --add-service=mountd
[root@servidor ~]# firewall-cmd --reload
Alternativamente, liberando portas específicas:
[root@servidor ~]# firewall-cmd --permanent --add-port=111/tcp
[root@servidor ~]# firewall-cmd --permanent --add-port=111/udp
[root@servidor ~]# firewall-cmd --permanent --add-port=2049/tcp
[root@servidor ~]# firewall-cmd --permanent --add-port=20048/tcp
[root@servidor ~]# firewall-cmd --reload
Para iptables:
[root@servidor ~]# iptables -A INPUT -p tcp --dport 111 -j ACCEPT
[root@servidor ~]# iptables -A INPUT -p udp --dport 111 -j ACCEPT
[root@servidor ~]# iptables -A INPUT -p tcp --dport 2049 -j ACCEPT
[root@servidor ~]# iptables -A INPUT -p tcp --dport 20048 -j ACCEPT
[root@servidor ~]# service iptables save
1.4 Criar diretório de compartilhamento e configurar arquivo de export
[root@servidor ~]# mkdir /dados_compartilhados
[root@servidor ~]# vi /etc/exports
/dados_compartilhados 192.168.100.0/24(rw,no_root_squash)
[root@servidor ~]# systemctl reload nfs
| Parâmetro | Descrição |
|---|---|
| ro | Somente leitura |
| rw | Leitura e escrita |
| root_squash | Quando o cliente NFS acessa como root, mapeia para usuário anônimo do servidor |
| no_root_squash | Quando o cliente NFS acessa como root, mapeia para root do servidor |
| all_squash | Mapeia qualquer usuário para usuário anônimo do servidor |
| sync | Grava dados simultaneamente na memória e no disco |
| no_all_squash | Preserva UID e GID dos arquivos compartilhados (padrão) |
| async | Salva dados primeiro na memória, depois no disco; mais rápido, mas pode perder dados |
2. Configuração do Cliente
2.1 Instalação do cliente NFS
[root@cliente ~]# dnf -y install nfs-utils
2.2 Verificar compartilhamentos disponíveis no servidor
[root@cliente ~]# showmount -e 192.168.100.10
Export list for 192.168.100.10:
/dados_compartilhados 192.168.100.0/24
2.3 Montar sistema de arquivos (montagem persistente)
[root@cliente ~]# vi /etc/fstab
192.168.100.10:/dados_compartilhados /dados_compartilhados nfs noatime,nodiratime,defaults,_netdev 0 0
[root@cliente ~]# mount -a
[root@cliente ~]# df -Th
Filesystem Type Size Used Avail Use% Mounted on
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 68K 1.9G 1% /dev/shm
tmpfs tmpfs 1.9G 12M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/fedora_fedora-root xfs 50G 2.2G 48G 5% /
/dev/mapper/fedora_fedora-home xfs 46G 33M 46G 1% /home
/dev/sda1 xfs 1014M 151M 864M 15% /boot
tmpfs tmpfs 378M 0 378M 0% /run/user/0
/dev/sr0 iso9660 4.4G 4.4G 0 100% /mnt
192.168.100.10:/dados_compartilhados nfs4 1014M 32M 982M 4% /dados_compartilhados