NFS Setup · 4 min read · Dec 26, 2025
Configurando um Servidor e Cliente NFS no Debian Wheezy
Este guia explica como configurar um servidor NFS e um cliente NFS no Debian Wheezy. NFS significa Network File System; através do NFS, um cliente pode acessar (ler, gravar) um compartilhamento remoto em um servidor NFS como se estivesse no disco rígido local. Neste Tutorial, vou mostrar duas exportações NFS diferentes, a exportação de um diretório do cliente que armazena arquivos como usuário nobody/nogroup sem preservar permissões de sistema de arquivos e uma exportação do diretório /var/www que preserva permissões e propriedade dos arquivos, conforme necessário em uma configuração de servidor de hospedagem.
1 Nota Preliminar
Estou usando dois sistemas Debian Wheezy aqui:
- Servidor NFS: server.example.com, endereço IP: 192.168.0.100
- Cliente NFS: client.example.com, endereço IP: 192.168.0.101
2 Instalando NFS
servidor:
No servidor NFS, executamos:
apt-get install nfs-kernel-server nfs-commonEntão, criamos os links de inicialização do sistema para o servidor NFS e o iniciamos:
cliente:
No cliente, podemos instalar o NFS da seguinte forma (isso é na verdade o mesmo que no servidor):
apt-get install nfs-common3 Exportando Diretórios no Servidor
servidor:
Gostaria de tornar os diretórios /home/client1 e /var/www acessíveis ao cliente para mostrar os dois modos de acesso diferentes do servidor NFS. O diretório /home/client1 é compartilhado no modo padrão, então todos os arquivos gravados neste diretório são armazenados como usuário nobody e grupo nogroup. Para o diretório /var/www, uso a opção no_root_squash que instrui o servidor NFS a preservar permissões e propriedade dos arquivos. Isso é, por exemplo, necessário quando você deseja exportar o diretório /var/www de um servidor web gerenciado com ISPConfig 3.
Primeiro, vou criar o diretório /home/client1
mkdir /home/client1
chown nobody:nogroup /home/client1
chmod 755 /home/client1O diretório /var/www provavelmente já existe no seu servidor. Se não, então crie-o:
mkdir /var/www
chown root:root /var/www
chmod 755 /var/wwwAgora devemos modificar /etc/exports onde “exportamos” nossos compartilhamentos NFS. Especificamos /home/client1 e /var/www como compartilhamentos NFS e dizemos ao NFS para fazer acessos a /home/client1 como usuário nobody (para saber mais sobre /etc/exports, seu formato e opções disponíveis, dê uma olhada em
man 5 exports)
vi /etc/exports/home/client1 192.168.0.101(rw,sync,no_subtree_check)
/var/www 192.168.0.101(rw,sync,fsid=0,crossmnt,no_subtree_check,no_root_squash)(A opção no_root_squash faz com que /var/www seja acessado como root.)
Para aplicar as mudanças em /etc/exports, reiniciamos o servidor NFS do kernel
/etc/init.d/nfs-kernel-server restart4 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/client1
mkdir -p /var/wwwSe o diretório /var/www já existir no seu servidor, então pare o apache, renomeie o diretório e crie um novo diretório vazio como ponto de montagem
/etc/init.d/apache2 stop
mv /var/www /var/www_bak
mkdir -p /var/wwwDepois, podemos montá-los da seguinte forma:
mount 192.168.0.100:/home/client1 /mnt/nfs/home/client1
mount 192.168.0.100:/var/www /var/wwwAgora 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/vg_server2-LogVol00
9.7G 1.7G 7.5G 18% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 504M 39M 440M 9% /boot
192.168.0.100:/home/client1 9.7G 1.7G 7.5G 19% /mnt/nfs/home/client1
192.168.0.100:/var/www
9.7G 1.7G 7.5G 19% /var/www
[root@client ~]#e
mount[root@client ~]# mount
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.0.100:/home/client1 on /mnt/nfs/home/client1 type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/var/www on /var/www type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[root@client ~]#5 Testando
No cliente, você pode agora tentar criar arquivos de teste nos compartilhamentos NFS:
cliente:
touch /mnt/nfs/home/client1/test.txt
touch /var/www/test.txtAgora vá até o servidor e verifique se você pode ver ambos os arquivos de teste:
servidor:
ls -l /home/client1/[root@server ~]# ls -l /home/client1
total 0
-rw-r--r-- 1 nobody nogroup 0 Feb 02 16:58 test.txt
[root@server ~]#ls -l /var/nfs[root@server ~]# ls -l /var/www
total 0
-rw-r--r-- 1 root root 0 Feb 02 16:58 test.txt
[root@server ~]#(Observe as diferentes propriedades dos arquivos de teste: o compartilhamento NFS /home/client1 é acessado como nobody / nogroup e é propriedade de nobody / nogroup; o compartilhamento /var/www é acessado como root, portanto /var/www/test.txt é propriedade do usuário e grupo root.)
6 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:
vi /etc/fstab[...]
192.168.0.100:/home/client1 /mnt/nfs/home/client1 nfs rw,sync,hard,intr 0 0
192.168.0.100:/var/www /var/www 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 sua modificação em /etc/fstab está funcionando, desmonte os compartilhamentos e execute mount -a:
umount /mnt/nfs/home/client1
umount /var/www
mount -aAgora 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/vg_server2-LogVol00
9.7G 1.7G 7.5G 18% /
tmpfs 499M 0 499M 0% /dev/shm
/dev/sda1 504M 39M 440M 9% /boot
192.168.0.100:/home/client1 9.7G 1.7G 7.5G 19% /mnt/nfs/home/client1
192.168.0.100:/var/www
9.7G 1.7G 7.5G 19% /var/www
[root@client ~]#e
mount[root@client ~]# mount
/dev/mapper/vg_server2-LogVol00 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.168.0.100:/home/client1 on /mnt/nfs/home/client1 type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
192.168.0.100:/var/www on /var/www type nfs (rw,vers=4,addr=192.168.0.100,clientaddr=192.168.0.101)
[root@client ~]#7 Créditos
Este Tutorial é baseado no Tutorial do Servidor NFS do Centos de Falko Timme.
8 Links
- Linux NFS: http://nfs.sourceforge.net/
- Debian: http://www.debian.org/
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.