Zusammenfassung der Ressource
File sharing (NFS) 209
Anmerkungen:
- O NFS (Network File System) permite que diretórios compartilhados remotamente sejam montados
como locais.
Nesse modelo, o servidor NFS é quem está disponibilizando um diretório para ser compartilhado e
o cliente realiza a montagem desse compartilhamento remotamente.
A versão atual do NFS é a 4.1, mas o software de cliente/servidor suporta também todas as versões
anteriores. A versão 3.0 ainda é muito utilizada.
- Os Processos do NFS
Anmerkungen:
- Um servidor NFS funciona através de vários processos, entre eles temos 3 principais:
- rcpbind
Anmerkungen:
- portmap) : Realiza a função de mapeamento de portas (portmapper), ou seja,
permite ao cliente identificar as portas em que está sendo disponibilizada o serviço. Essas
portas são por padrão dinâmicas, então o serviço é essencial.
- nfsd
Anmerkungen:
- Processo que atende as requisições do cliente.
- rpc.mountd
Anmerkungen:
- Executa as solicitações encaminhadas pelo nfsd, montando efetivamente os
compartilhamentos entre cliente-servidor.
- Criando os Compartilhamentos
Anmerkungen:
- No servidor, os compartilhamentos devem ser criados no arquivo /etc/exports (mais comum), ou
em arquivos dentro do diretório /etc/exports.d/.
- Formato
Anmerkungen:
- <Diretorio-Compartilhado> <Clientes-Permitidos>(Opções)
- Por exemplo
- var/log 192.168.1.111(ro,sync,no_subtree_check)
- /opt/nfs 192.168.1.0/24(rw,async,no_subtree_check)
- /home/ftp/pub clientN(rw) *.exemple.com(ro)
- Opções
- rw
- ro
- sync
- async
- no_subtree_check
- root_squash
Anmerkungen:
- default - all requests by user root on client will be done as user nobody on nfsshop
- no_root_squash
Anmerkungen:
- all requests as root on the client will be done as root on the server.
- all_squash
- no_all_squash
- O comando exportfs
Anmerkungen:
- Após configurar os compartilhamentos, deve ser utilizado o comando “exportfs” para disponibilizá-
los aos clientes. As principais opções do exportfs são:
- exportfs
Anmerkungen:
- O exportfs também pode ser utilizado para exportar um diretório temporariamente, utilizando-se o
seguinte formato:
- -a
Anmerkungen:
- Habilita todos os compartilhamentos definidos no /etc/exports
- -r
Anmerkungen:
- Reexporta os compartilhamentos, após mudanças nas configurações por exemplo.
- -ua
Anmerkungen:
- Desabilita todos os compartilhamentos
- -v
Anmerkungen:
- Exibe os compartilhamentos disponíveis com detalhes
- <sem opções>
Anmerkungen:
- Exibe os compartilhamentos disponíveis
- # exportfs <IP-Cliente>:<compartilhamento> -o <lista-de-opções>
- # exportfs 192.168.1.220:/home/ricardo -o ro,async
- Montando Remotamente
Anmerkungen:
- Os compartilhamentos são montados diretamente com o uso do comando mount, mais
precisamente o mount.nfs, ou atraveś do /etc/fstab.
- mount.nfs
Anmerkungen:
- A sintaxe do comando mount é:
- # mount -t nfs
<IP-Servidor>:<Compartilhamento>
<Ponto-de-Montagem>
- # mount -t nfs
192.168.1.210:/var/log
/mnt/log-remoto
- /etc/fstab
- 192.168.1.210:/var/log /mnt/log-remoto nfs defaults 0 0
- Comandos
- showmount
Anmerkungen:
- O showmount é usado para listar os compartilhamentos disponíveis, tanto no servidor
quanto a partir do cliente.
- # showmount -e
Anmerkungen:
- # showmount -e IP-Servidor
- #showmount --all
Anmerkungen:
- show both client-names and directories
- #showmount --directories
Anmerkungen:
- show directories that the are mounted by remote clients
- nfsstat
Anmerkungen:
- Exibir estatísticas do NFS, tanto no cliente como no servidor.
- -m
Anmerkungen:
- Exibe estatísticas dos compartilhamento atualmente montados
- -c
Anmerkungen:
- Estatísticas do cliente NFS
- -s
Anmerkungen:
- Estatísticas do servidor NFS
- -3
Anmerkungen:
- Estatísticas dos compartilhamentos que usam a versão 3 do NFS
- -4
Anmerkungen:
- Estatísticas dos compartilhamentos que usam a versão 4 do NFS
- -l
Anmerkungen:
- Exibe as estatísticas em um formato de lista
- #nfsstat -ns
Anmerkungen:
- rpcinfo
Anmerkungen:
- Exibir informações do protocolo RCP (Remote Procedure Call), utilizado pelo NFS.
- rpcinfo -p
Anmerkungen:
- A principal opção é o “rpcinfo -p”, que exibe a lista de processos e portas utilizados no momento
pelo NFS.
- rpcinfo -u remotehost program
- Pseudo
FileSystem
Anmerkungen:
- A partir da versão 4, ao invés do NFS exportar cada compartilhamento individualmente, todos os
compartilhamentos são exportados como se fossem um filesystem único, o que é chamado de
pseudo-filesystem.
Isso é feito internamente pelo NFS e é transparente para o cliente
- TCP Wrapper
Anmerkungen:
- Assim como outros serviços do Linux, o NFS também utiliza as bibliotecas do TCP Wrapper, dessa
forma é possível utilizar os arquivos /etc/hosts.allow e /etc/hosts.deny para adicionar uma camada
extra de segurança no uso do serviço.
Por exemplo, para liberar apenas o acesso da rede 192.168.1.0/24 ao servidor, pode ser feita a
seguinte configuração
- /etc/hosts.allow
Anmerkungen:
- rpcbind: 192.168.1.0/24
Por exemplo, para liberar apenas o acesso da rede 192.168.1.0/24 ao servidor, pode ser feita a
seguinte configuração:
- /etc/hosts.deny
Anmerkungen:
- rpcbind: ALL
Por exemplo, para liberar apenas o acesso da rede 192.168.1.0/24 ao servidor, pode ser feita a
seguinte configuração: