Mind map
File sharing (NFS) 209
Map content
File sharing (NFS) 209
- 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
- Um servidor NFS funciona através de vários processos, entre eles temos 3 principais:
- rcpbind
- 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
- Processo que atende as requisições do cliente.
- rpc.mountd
- Executa as solicitações encaminhadas pelo nfsd, montando efetivamente os compartilhamentos entre cliente-servidor.
Criando os Compartilhamentos
- No servidor, os compartilhamentos devem ser criados no arquivo /etc/exports (mais comum), ou em arquivos dentro do diretório /etc/exports.d/.
- Formato
- <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
- default - all requests by user root on client will be done as user nobody on nfsshop
- no_root_squash
- all requests as root on the client will be done as root on the server.
- all_squash
- no_all_squash
- O comando exportfs
- 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
- O exportfs também pode ser utilizado para exportar um diretório temporariamente, utilizando-se o seguinte formato:
- -a
- Habilita todos os compartilhamentos definidos no /etc/exports
- -r
- Reexporta os compartilhamentos, após mudanças nas configurações por exemplo.
- -ua
- Desabilita todos os compartilhamentos
- -v
- Exibe os compartilhamentos disponíveis com detalhes
- <sem opções>
- 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
- Os compartilhamentos são montados diretamente com o uso do comando mount, mais precisamente o mount.nfs, ou atraveś do /etc/fstab.
- mount.nfs
- 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
- O showmount é usado para listar os compartilhamentos disponíveis, tanto no servidor quanto a partir do cliente.
- # showmount -e
- show active exports
- # showmount -e IP-Servidor
- #showmount --all
- show both client-names and directories
- #showmount --directories
- show directories that the are mounted by remote clients
- nfsstat
- Exibir estatísticas do NFS, tanto no cliente como no servidor.
- -m
- Exibe estatísticas dos compartilhamento atualmente montados
- -c
- Estatísticas do cliente NFS
- -s
- Estatísticas do servidor NFS
- -3
- Estatísticas dos compartilhamentos que usam a versão 3 do NFS
- -4
- Estatísticas dos compartilhamentos que usam a versão 4 do NFS
- -l
- Exibe as estatísticas em um formato de lista
- #nfsstat -ns
- sample output
- rpcinfo
- Exibir informações do protocolo RCP (Remote Procedure Call), utilizado pelo NFS.
- rpcinfo -p
- A principal opção é o “rpcinfo -p”, que exibe a lista de processos e portas utilizados no momento pelo NFS.
- rpcinfo -u remotehost program
- showmount
- Pseudo FileSystem
- 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
- 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
- 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
- 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:
Information
- Description
- Mind Map on File sharing (NFS) 209, created by Luiz Eduardo on 03/08/2019.
- Created by
- Luiz Eduardo
- Views
- 114
- Rating