NFS Server · 6 min read · Dec 08, 2025

Configurando um Servidor e Cliente NFS no CentOS 7.2

Este guia explica como configurar um servidor NFS e um cliente NFS no CentOS 7. NFS significa Network File System; através do NFS, um cliente pode acessar (ler, escrever) um compartilhamento remoto em um servidor NFS como se estivesse no disco rígido local. Usarei um servidor minimalista CentOS 7.2 como base para a instalação.

1 Nota Preliminar

Estou usando dois sistemas CentOS aqui:

  • Servidor NFS: server.example.com, endereço IP: 192.168.1.100
  • Cliente NFS: client.example.com, endereço IP: 192.168.1.101

Usarei o editor nano neste tutorial para editar arquivos de configuração. O Nano pode ser instalado assim.

yum -y install nano

2 Configurando o Firewall

Recomendo ter um firewall instalado. Se você ainda não tem o firewalld instalado e deseja usar um firewall, instale-o com estes comandos:

yum -y install firewalld

inicie o firewall e habilite-o para ser iniciado na inicialização.

systemctl start firewalld.service  
systemctl enable firewalld.service

Em seguida, abra as portas SSH e NFS para garantir que você poderá se conectar ao servidor via SSH para fins administrativos e via NFS a partir do nosso cliente NFS.

firewall-cmd --permanent --zone=public --add-service=ssh  
firewall-cmd --permanent --zone=public --add-service=nfs  
firewall-cmd --reload

3 Instalando NFS

servidor:

No servidor NFS, executamos:

yum -y install nfs-utils

Em seguida, habilite e inicie o serviço do servidor nfs.

systemctl enable nfs-server.service  
systemctl start nfs-server.service

cliente:

No cliente, podemos instalar o NFS da seguinte forma (isso é na verdade o mesmo que no servidor):

yum install nfs-utils

4 Exportando Diretórios no Servidor

servidor:

Gostaria de tornar os diretórios /home e /var/nfs acessíveis ao cliente; portanto, devemos “exportá-los” no servidor.

Quando um cliente acessa um compartilhamento NFS, isso normalmente acontece como o usuário nfsnobody. Normalmente, o diretório /home não é de propriedade de nfsnobody (e não recomendo mudar sua propriedade para nfsnobody!), e como queremos ler e escrever em /home, dizemos ao NFS que os acessos devem ser feitos como root (se nosso compartilhamento /home fosse somente leitura, isso não seria necessário). O diretório /var/nfs não existe, então podemos criá-lo e mudar sua propriedade para o usuário e grupo nfsnobody.

mkdir /var/nfs  
chown nfsnobody:nfsnobody /var/nfs  
chmod 755 /var/nfs

Agora devemos modificar /etc/exports onde “exportamos” nossos compartilhamentos NFS. Especificamos /home e /var/nfs como compartilhamentos NFS e dizemos ao NFS para fazer acessos a /home como root (para saber mais sobre /etc/exports, seu formato e opções disponíveis, dê uma olhada em

man 5 exports

)

nano /etc/exports
/home           192.168.1.101(rw,sync,no_root_squash,no_subtree_check)
/var/nfs        192.168.1.101(rw,sync,no_subtree_check)

(A opção no_root_squash faz com que /home seja acessado como root.)

Sempre que modificamos /etc/exports, devemos executar:

exportfs -a

depois, para tornar as mudanças efetivas.

5 Montando os Compartilhamentos NFS no Cliente

cliente:

Primeiro, criamos os diretórios onde queremos montar os compartilhamentos NFS, por exemplo:

mkdir -p /mnt/nfs/home  
mkdir -p /mnt/nfs/var/nfs

Depois, podemos montá-los da seguinte forma:

mount 192.168.1.100:/home /mnt/nfs/home  
mount 192.168.1.100:/var/nfs /mnt/nfs/var/nfs

Agora você deve ver os dois compartilhamentos NFS nas saídas de

df -h
[root@client ~]# df -h  
Filesystem Size Used Avail Use% Mounted on  
/dev/mapper/centos-root 28G 1.7G 26G 7% /  
devtmpfs 909M 0 909M 0% /dev  
tmpfs 919M 0 919M 0% /dev/shm  
tmpfs 919M 8.6M 910M 1% /run  
tmpfs 919M 0 919M 0% /sys/fs/cgroup  
/dev/sda1 497M 208M 290M 42% /boot  
tmpfs 184M 0 184M 0% /run/user/0  
192.168.1.100:/home 28G 1.2G 27G 5% /mnt/nfs/home  
192.168.1.100:/var/nfs 28G 1.2G 27G 5% /mnt/nfs/var/nfs

e

mount
[root@client ~]# mount  
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)  
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)  
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=930320k,nr_inodes=232580,mode=755)  
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)  
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)  
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)  
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)  
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)  
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)  
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)  
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)  
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)  
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)  
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)  
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)  
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)  
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)  
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)  
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)  
configfs on /sys/kernel/config type configfs (rw,relatime)  
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)  
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)  
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)  
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)  
debugfs on /sys/kernel/debug type debugfs (rw,relatime)  
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)  
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)  
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)  
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)  
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=188060k,mode=700)  
192.168.1.100:/home on /mnt/nfs/home type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.101,local_lock=none,addr=192.168.1.100)  
192.168.1.100:/var/nfs on /mnt/nfs/var/nfs type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.101,local_lock=none,addr=192.168.1.100)

6 Testando

No cliente, você pode agora tentar criar arquivos de teste nos compartilhamentos NFS:

cliente:

touch /mnt/nfs/home/test.txt  
touch /mnt/nfs/var/nfs/test.txt

Agora vá para o servidor e verifique se você pode ver ambos os arquivos de teste:

servidor:

ls -l /home/
[root@server1 ~]# ls -l /home/  
total 0  
drwx------. 2 administrator administrator 59 Jun 21 16:13 administrator  
-rw-r--r--. 1 root root 0 Jun 29 13:07 test.txt
ls -l /var/nfs
[root@server1 ~]# ls -l /var/nfs  
total 0  
-rw-r--r--. 1 nfsnobody nfsnobody 0 Jun 29 13:07 test.txt

(Observe as diferentes propriedades dos arquivos de teste: o compartilhamento NFS /home é acessado como root, portanto /home/test.txt é de propriedade de root; o compartilhamento /var/nfs é acessado como nobody/65534, portanto /var/nfs/test.txt é de propriedade de 65534.)

7 Montando Compartilhamentos NFS na Inicialização

Em vez de montar os compartilhamentos NFS manualmente no cliente, você pode modificar /etc/fstab para que os compartilhamentos NFS sejam montados automaticamente quando o cliente inicializa.

cliente:

Abra /etc/fstab e adicione as seguintes linhas:

nano /etc/fstab
[...]  
192.168.1.100:/home  /mnt/nfs/home   nfs      rw,sync,hard,intr  0     0  
192.168.1.100:/var/nfs  /mnt/nfs/var/nfs   nfs      rw,sync,hard,intr  0     0

Em vez de rw,sync,hard,intr você pode usar diferentes opções de montagem. Para saber mais sobre as opções disponíveis, dê uma olhada em

man nfs

Para testar se seu /etc/fstab modificado está funcionando, reinicie o cliente:

reboot

Após a reinicialização, você deve encontrar os dois compartilhamentos NFS nas saídas de

df -h
[root@client ~]# df -h  
Filesystem Size Used Avail Use% Mounted on  
/dev/mapper/centos-root 28G 1.7G 26G 7% /  
devtmpfs 909M 0 909M 0% /dev  
tmpfs 919M 0 919M 0% /dev/shm  
tmpfs 919M 8.6M 910M 1% /run  
tmpfs 919M 0 919M 0% /sys/fs/cgroup  
/dev/sda1 497M 208M 290M 42% /boot  
tmpfs 184M 0 184M 0% /run/user/0  
192.168.1.100:/home 28G 1.2G 27G 5% /mnt/nfs/home  
192.168.1.100:/var/nfs 28G 1.2G 27G 5% /mnt/nfs/var/nfs

e

mount
[root@client ~]# mount  
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)  
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)  
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=930320k,nr_inodes=232580,mode=755)  
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)  
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)  
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)  
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)  
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,seclabel,mode=755)  
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)  
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)  
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)  
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)  
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)  
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)  
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)  
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)  
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)  
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)  
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)  
configfs on /sys/kernel/config type configfs (rw,relatime)  
/dev/mapper/centos-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)  
selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)  
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=25,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)  
mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)  
debugfs on /sys/kernel/debug type debugfs (rw,relatime)  
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)  
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)  
nfsd on /proc/fs/nfsd type nfsd (rw,relatime)  
/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)  
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,seclabel,size=188060k,mode=700)  
192.168.1.100:/home on /mnt/nfs/home type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.101,local_lock=none,addr=192.168.1.100)  
192.168.1.100:/var/nfs on /mnt/nfs/var/nfs type nfs4 (rw,relatime,vers=4.0,rsize=262144,wsize=262144,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.1.101,local_lock=none,addr=192.168.1.100)

8 Links

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.