Suponha que temos temos em nossa rede local 01 (um) modem externo do tipo ADSL desses fornecidos pelos provedores como Velox, Speed, Ajax, Turbo e etc com o ip 192.168.1.1 e mais outros 03 (três) micros. Veja a tabela abaixo:
=====================
Micro Endereço IP
=====================
router 192.168.1.1 (Modem adsl/gateway)
Jamira 192.168.1.2
Josenda 192.168.1.3
Jembas 192.168.1.7
=====================
O que desejamos fazer é permitir que os micros da jamira e josenda acessem e compartilhem os dados que estão no micro do jembas, mais explicitamente, dentro da pasta (arquivos), ou seja, /home/jembas/arquivos.
Configurando o micro jembas (servidor de arquivos)
1) Abra uma janela de terminal
2) Passe para root:
$ sudo su
ou apenas:
$ su
3) Crie o diretório que será compartilhado:
# mkdir /home/jembas/arquivos
4) Mude as permissões para esse diretório de forma que qualquer usuário possa ler, gravar e executar comandos:
# chmod 777 /home/jembas/arquivos
5) Instale o programa nfs que fará todo o compartilhamento funcionar:
# apt-get update
# apt-get install nfs-kernel-server (o nfs do debian e derivados)
# apt-get install nfs-user-server
# apt-get install nfs-common
# apt-get install portmap
6) Edite o arquivo
/etc/exports e acrescente a linha conforme mostrado abaixo:
/home/jembas/arquivos 192.168.1.*(rw)
7) Salve o arquivo /etc/exports e reinicie o nfs:
# /etc/init.d/nfs-kernel-server restart
# /etc/init.d/portmap restart
Ou apenas:
# exportfs -a -v
Pronto! No micro servidor de arquivos não temos mais o que fazer.
OBS: O comando "exportfs -a -v" é um refresh do arquivo de configuração /etc/exports, que atualiza tudo sem precisar restartar o serviço do nfs.
Configurando os micros clientes
Agora os procedimentos a seguir deverão ser realizados em todos os demais micros da rede, no caso, nos micros da jamira e da josenda, escolha um micro por onde começar e digite num terminal (como root) conforme mostrado abaixo:
1) Se o nfs não estiver instalado nos micros clientes, repita o passo 5 (cinco) da configuração do micro servidor e depois restarte o serviço.
2)
# mkdir /media/arquivos
No comando acima estamos definindo o ponto de montagem para o compartilhamento, ou seja, o local ou o diretório que irá conter os dados compartilhados do micro servidor, o micro jembas. Você pode usar qualquer outro local de sua preferência. Para usuários do kurumin, geralmente os pontos de montagem são criados no diretório /mnt ao invés do /media, isso tudo é apenas uma questão de gosto, você pode definir o ponto de montagem para ser criado até no seu desktop, na raiz do disco (muito inseguro) e assim por diante.
3)
# mount -t nfs -o soft 192.168.1.7:/home/jembas/arquivos /media/arquivos
Pronto!
Comentários:
O comando acima monta o compartilhamento da pastas arquivos do micro 192.168.1.7 no diretório local (ponto de montagem), ou seja, no micro jamira, p.ex., na pasta /media/arquivos.
Agora se você abrir o seu gerenciador de arquivos (nautilus para usuários gnome e konqueror para usuários kde) e indicar o caminho /media/arquivos, poderá visualizar os dados do micro jembas, e, como foi definido no servidor o acesso a leitura e gravação (rw) a usuária jamira poderá criar, alterar,excluir e visualizar arquivos do diretório arquivos compartilhados no micro jembas.
- -t nfs
É o tipo de partição a ser montada.
- -o soft
Garante que caso o micro servidor caia, os gerenciadores de arquivo dos micros clientes não travem, ao invés disso, emitam aviso de indisponibilidade do compartilhamento, o que é muito melhor.
- 192.168.1.7:/home/jembas/arquivos
A partição, o local, o conteúdo do que será montado (origem)
- /media/arquivos
Onde será montado o conteúdo acima (destino)
OBS: Algo muito importante a ser realizada pelo micro jembas (servidor): Depois de disponibilizar arquivos na pasta (arquivos), mude as permissões dos arquivos para que os demais usuários da rede possam modificá-los, para tal, use, p.ex. "chmod -R 777 /home/jembas/arquivos/*".
Antes de desligar qualquer um dos micros cliente desfaça o ponto de montagem usando o comando "umount /media/arquivos".
Montando automaticamente o compartilhamento durante o boot:
Edite em qualquer um dos micros cliente o arquivo
/etc/fstab e acrescente a linha conforme mostrado abaixo:
192.168.1.7:/home/jembas/arquivos /media/arquivos nfs defaults 0 0
Gerenciando melhor:
Você também pode desejar que o compartilhamento não seja montado automaticamente durante o boot, mas sim, que você possa montá-lo facilmente e rapidamente, usando um simples mount e umount. Para tal, mudaremos a linha que foi mostrada no exemplo acima para:
192.168.1.7:/home/jembas/arquivos /media/arquivos nfs noauto,users,exec 0 0
Agora o micro não mais irá montar o compartilhamento automaticamente, mas sim, quando o usuário digitar "mount /media/arquivos" e irá poder desmontar digitando "umount /media/arquivos".
Usando dessa forma, acredito que tudo ficará mais simples. Você pode criar um script para realizar esses procedimentos e colocá-los no seu desktop, mas isso é outra história, em outro artigo.
Por enquanto isso é tudo. Até mais.
flandatico,
Eu estava com o mesmo problema no Red Hat Enterprise Linux AS 5, veja como resolvi:
~]# mount -t nfs 10.0.3.10:/home /home/
mount: mount to NFS server '10.0.3.10' failed: RPC Error: Program not registered.
Verifique no Network File Server (NFS), os seguintes arquivos: /etc/hosts.allow e /etc/hosts.deny
No meu caso, eu precisei incluir a seguinte configuração no meu arquivo "/etc/hosts.allow":
ALL:10.0.3.0/255.255.255.0
Conforme for, utilize: echo "ALL:10.0.3.0/255.255.255.0" >> /etc/hosts.allow
Existem diversos artigos e tutorias na Internet, onde a máscara de rede é configurada da seguinte forma: ALL:10.0.3.0/24
Neste caso, não funcionará pelos testes realizados! Estou procurando alguma documentação (lógica é claro!) para isto ;)
Veja o exemplo do meu arquivo: "/etc/hosts.deny":
# Created by JOCA
portmap: ALL
lockd: ALL
mountd: ALL
rquotad: ALL
statd: ALL
Após realizar as alterações, faça um reload no serviço de NFS e portmap!
Abs!
Joca!