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 nano2 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 firewalldinicie o firewall e habilite-o para ser iniciado na inicialização.
systemctl start firewalld.service
systemctl enable firewalld.serviceEm 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 --reload3 Instalando NFS
servidor:
No servidor NFS, executamos:
yum -y install nfs-utilsEm seguida, habilite e inicie o serviço do servidor nfs.
systemctl enable nfs-server.service
systemctl start nfs-server.servicecliente:
No cliente, podemos instalar o NFS da seguinte forma (isso é na verdade o mesmo que no servidor):
yum install nfs-utils4 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/nfsAgora 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 -adepois, 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/nfsDepois, 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/nfsAgora 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/nfse
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.txtAgora 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.txtls -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 0Em 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 nfsPara testar se seu /etc/fstab modificado está funcionando, reinicie o cliente:
rebootApó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/nfse
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
- Linux NFS: http://nfs.sourceforge.net/
- CentOS: http://www.centos.org/
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.