¿Cómo Instalar NFS en Ubuntu Server 18.04 LTS?
Índice:
- Pré-requisitos
- Configurar o servidor NFS
- Instalando o servidor NFS
- Criando os sistemas de arquivos
- Exportando os sistemas de arquivos
- Configuração de firewall
- Configurar os clientes NFS
- Instalando o cliente NFS
- Montando Sistemas de Arquivos
- Testando o acesso NFS
- Desmontando o sistema de arquivos NFS
- Conclusão
O Network File System (NFS) é um protocolo de sistema de arquivos distribuído que permite compartilhar diretórios remotos em uma rede. Com o NFS, você pode montar diretórios remotos no sistema e trabalhar com os arquivos na máquina remota como se fossem arquivos locais.
O protocolo NFS não é criptografado por padrão e, ao contrário do Samba, ele não fornece autenticação do usuário. O acesso ao servidor é restrito pelos endereços IP ou nomes de host dos clientes.
Neste tutorial, veremos como configurar um servidor NFSv4 no Ubuntu 18.04. Também mostraremos como montar um sistema de arquivos NFS no cliente.
Pré-requisitos
Este exemplo pressupõe que você tenha um servidor executando o Ubuntu 18.04 e outro executando qualquer outra distribuição Linux. O servidor e os clientes devem poder se comunicar através de uma rede privada. Se o seu provedor de hospedagem não oferecer endereços IP privados, você poderá usar os endereços IP públicos e configurar o firewall do servidor para permitir o tráfego na porta
2049
apenas de fontes confiáveis.
As máquinas neste exemplo têm os seguintes IPs:
NFS Server IP: 192.168.33.10 NFS Clients IPs: From the 192.168.33.0/24 range
Configurar o servidor NFS
Começaremos instalando e configurando o servidor NFS.
Instalando o servidor NFS
Atualize o índice de pacotes e instale o pacote do servidor NFS:
sudo apt update
sudo apt install nfs-kernel-server
Depois que a instalação estiver concluída, os serviços NFS serão iniciados automaticamente.
Por padrão, no Ubuntu 18.04 NFS versão 2 está desativado. As versões 3 e 4 estão ativadas. Você pode verificar isso executando o seguinte comando
cat
:
sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2
O NFSv2 é bem antigo agora e não há motivo para ativá-lo.
As opções de configuração do servidor NFS são definidas nos arquivos
/etc/default/nfs-kernel-server
e
/etc/default/nfs-common
. As configurações padrão são suficientes no nosso caso.
Criando os sistemas de arquivos
Ao configurar um servidor NFSv4, é uma boa prática usar um diretório raiz NFS global e vincular a montagem dos diretórios reais ao ponto de montagem do compartilhamento. Neste exemplo, usaremos o diretório
/srv/nfs4
como raiz do NFS.
Compartilharemos dois diretórios (
/var/www
e
/opt/backups
), com diferentes configurações, para explicar melhor como as montagens NFS podem ser configuradas.
O
/var/www/
pertence ao usuário e ao grupo
www-data
e
/opt/backups
pertence ao
root
.
Crie o sistema de arquivos de exportação usando o comando
mkdir
:
sudo mkdir -p /srv/nfs4/backups
sudo mkdir -p /srv/nfs4/www
Monte os diretórios reais:
sudo mount --bind /opt/backups /srv/nfs4/backups
sudo mount --bind /var/www /srv/nfs4/www
Para tornar as montagens de ligação permanentes, abra o arquivo
/etc/fstab
:
sudo nano /etc/fstab
e adicione as seguintes linhas:
/ etc / fstab
/opt/backups /srv/nfs4/backups none bind 0 0 /var/www /srv/nfs4/www none bind 0 0
Exportando os sistemas de arquivos
A próxima etapa é definir os sistemas de arquivos que serão exportados pelo servidor NFS, as opções de compartilhamento e os clientes com permissão para acessar esses sistemas de arquivos. Para fazer isso, abra o arquivo
/etc/exports
:
sudo nano /etc/exports
O arquivo
/etc/exports
também contém comentários que descrevem como exportar um diretório.
No nosso caso, precisamos exportar os diretórios
www
e
backups
e permitir o acesso somente de clientes na rede
192.168.33.0/24
:
/srv/nfs4 192.168.33.0/24(rw, sync, no_subtree_check, crossmnt, fsid=0) /srv/nfs4/backups 192.168.33.0/24(ro, sync, no_subtree_check) 192.168.33.3(rw, sync, no_subtree_check) /srv/nfs4/www 192.168.33.110(rw, sync, no_subtree_check)
A primeira linha contém
fsid=0
que define o diretório raiz do NFS
/srv/nfs
. O acesso neste volume NFS é permitido apenas aos clientes da sub-rede
192.168.33.0/24
. A opção
crossmnt
é necessária para compartilhar diretórios que são subdiretórios de um diretório exportado.
Na segunda linha, mostra como especificar várias regras de exportação para um sistema de arquivos. Ele exporta o diretório
/srv/nfs4/backups
e permite apenas acesso de leitura a todo o intervalo
192.168.33.0/24
e acesso de leitura e gravação ao
192.168.33.3
. A opção de
sync
informa ao NFS para gravar as alterações no disco antes de responder.
A última linha deve ser auto-explicativa. Para obter mais informações sobre todas as opções disponíveis, digite
man exports
em seu terminal.
Salve o arquivo e exporte os compartilhamentos:
sudo exportfs -ra
Você precisa executar o comando acima sempre que modificar o arquivo
/etc/exports
. Se houver algum erro ou aviso, eles serão mostrados no terminal.
Para visualizar as exportações ativas atuais e seu estado, use:
sudo exportfs -v
A saída incluirá todos os compartilhamentos com suas opções. Como você pode ver, também existem opções que não definimos no arquivo
/etc/exports
. Essas são as opções padrão e, se você quiser alterá-las, precisará definir explicitamente essas opções.
/srv/nfs4/backups 192.168.33.3(rw, wdelay, root_squash, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/www 192.168.33.110(rw, wdelay, root_squash, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4 192.168.33.0/24(rw, wdelay, crossmnt, root_squash, no_subtree_check, fsid=0, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/backups 192.168.33.0/24(ro, wdelay, root_squash, no_subtree_check, sec=sys, ro, secure, root_squash, no_all_squash)
No Ubuntu,
root_squash
é ativado por padrão. Essa é uma das opções mais importantes relacionadas à segurança do NFS. Isso evita que os usuários root conectados dos clientes tenham privilégios root nos compartilhamentos montados. Ele
nogroup
UID
e o
GID
raiz para
nobody
/
nogroup
UID
/
GID
.
Para que os usuários nas máquinas clientes tenham acesso, o NFS espera que os IDs de usuário e grupo do cliente correspondam aos do servidor. Outra opção é usar o recurso de mapeamento de id do NFSv4 que converte os IDs de usuário e grupo em nomes e vice-versa.
É isso aí. Neste ponto, você configurou um servidor NFS no seu servidor Ubuntu. Agora você pode passar para a próxima etapa, configurar os clientes e conectar-se ao servidor NFS.
Configuração de firewall
Supondo que você esteja usando o
UFW
para gerenciar seu firewall e permitir o acesso a partir da sub-rede
192.168.33.0/24
é necessário executar o seguinte comando:
sudo ufw allow from 192.168.33.0/24 to any port nfs
Para verificar a alteração, execute:
sudo ufw status
A saída deve mostrar que o tráfego na porta
2049
é permitido:
To Action From -- ------ ---- 2049 ALLOW 192.168.33.0/24 22/tcp ALLOW Anywhere 22/tcp (v6) ALLOW Anywhere (v6)
Configurar os clientes NFS
Agora que o servidor NFS está configurado e os compartilhamentos são exportados, a próxima etapa configura os clientes e monta os sistemas de arquivos remotos.
Você também pode montar o compartilhamento NFS em máquinas macOS e Windows, mas focaremos nos sistemas Linux.
Instalando o cliente NFS
Nas máquinas clientes, precisamos instalar apenas as ferramentas necessárias para montar um sistema de arquivos NFS remoto.
-
Instale o cliente NFS no Debian e Ubuntu
O nome do pacote que inclui programas para montar sistemas de arquivos NFS em distribuições baseadas no Debian é
nfs-common
. Para instalá-lo, execute:sudo apt update
sudo apt install nfs-common
Instale o cliente NFS no CentOS e Fedora
No Red Hat e seus derivados, instale o pacote
nfs-utils
:sudo yum install nfs-utils
Montando Sistemas de Arquivos
Trabalharemos na máquina cliente com IP
192.168.33.110
que possui acesso de leitura e gravação ao sistema de arquivos
/srv/nfs4/www
e acesso somente leitura ao sistema de arquivos
/srv/nfs4/backups
.
Crie dois novos diretórios para os pontos de montagem. Você pode criar esses diretórios em qualquer local que desejar.
sudo mkdir -p /backups
sudo mkdir -p /srv/www
Monte os sistemas de arquivos exportados com o comando
mount
:
sudo mount -t nfs -o vers=4 192.168.33.10:/backups /backups
sudo mount -t nfs -o vers=4 192.168.33.10:/www /srv/www
Onde
192.168.33.10
é o IP do servidor NFS. Você também pode usar o nome do host em vez do endereço IP, mas ele precisa ser resolvido pela máquina cliente. Isso geralmente é feito mapeando o nome do host para o IP no arquivo
/etc/hosts
.
Ao montar um sistema de arquivos NFSv4, você precisa omitir o diretório raiz do NFS; portanto, em vez de
/srv/nfs4/backups
você precisa usar
/backups
.
Verifique se os sistemas de arquivos remotos foram montados com sucesso usando o comando mount ou
df
:
df -h
O comando imprimirá todos os sistemas de arquivos montados. As duas últimas linhas são os compartilhamentos montados:
Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00 38G 1.7G 36G 5% / devtmpfs 236M 0 236M 0% /dev tmpfs 244M 0 244M 0% /dev/shm tmpfs 244M 4.5M 240M 2% /run tmpfs 244M 0 244M 0% /sys/fs/cgroup /dev/sda2 1014M 87M 928M 9% /boot tmpfs 49M 0 49M 0% /run/user/1000 192.168.33.10:/backups 9.7G 1.2G 8.5G 13% /backups 192.168.33.10:/www 9.7G 1.2G 8.5G 13% /srv/www
Para tornar as montagens permanentes na reinicialização, abra o arquivo
/etc/fstab
:
sudo nano /etc/fstab
e adicione as seguintes linhas:
/ etc / fstab
192.168.33.10:/backups /backups nfs defaults, timeo=900, retrans=5, _netdev 0 0 192.168.33.10:/www /srv/www nfs defaults, timeo=900, retrans=5, _netdev 0 0
Para obter mais informações sobre as opções disponíveis ao montar um sistema de arquivos NFS, digite
man nfs
no seu terminal.
Outra opção para montar os sistemas de arquivos remotos é usar a ferramenta
autofs
ou criar uma unidade systemd.
Testando o acesso NFS
Vamos testar o acesso aos compartilhamentos criando um novo arquivo para cada um deles.
Primeiro, tente criar um arquivo de teste no diretório
/backups
usando o comando
touch
:
sudo touch /backups/test.txt
O sistema de arquivos
/backup
é exportado como somente leitura e conforme o esperado, você verá uma mensagem de erro
Permission denied
:
touch: cannot touch '/backups/test': Permission denied
Em seguida, tente criar um arquivo de teste para o diretório
/srv/www
como raiz usando o comando
sudo
:
sudo touch /srv/www/test.txt
Mais uma vez, você verá a mensagem
Permission denied
.
touch: cannot touch '/srv/www': Permission denied
Supondo que você tenha um uso de
www-data
na máquina cliente com o mesmo
UID
e
GID
do servidor remoto (que deve ser o caso se, por exemplo, você instalou o nginx nas duas máquinas), você pode testar para criar um arquivo como usuário
www-data
com:
sudo -u www-data touch /srv/www/test.txt
O comando não mostrará saída, o que significa que o arquivo foi criado com sucesso.
Para verificar, liste os arquivos no diretório
/srv/www
:
ls -la /srv/www
A saída deve mostrar o arquivo recém-criado:
drwxr-xr-x 3 www-data www-data 4096 Jun 23 22:18. drwxr-xr-x 3 root root 4096 Jun 23 22:29.. -rw-r--r-- 1 www-data www-data 0 Jun 23 21:58 index.html -rw-r--r-- 1 www-data www-data 0 Jun 23 22:18 test.txt
Desmontando o sistema de arquivos NFS
sudo umount /backups
Se o ponto de montagem estiver definido no arquivo
/etc/fstab
, remova a linha ou comente-a adicionando
#
no início da linha.
Conclusão
Neste tutorial, mostramos como configurar um servidor NFS e como montar os sistemas de arquivos remotos nas máquinas clientes. Se você estiver implementando o NFS na produção e compartilhando dados confidenciais, é uma boa ideia habilitar a autenticação kerberos.
Como alternativa ao NFS, você pode usar o SSHFS para montar diretórios remotos em uma conexão SSH. O SSHFS é criptografado por padrão e muito mais fácil de configurar e usar.
Sinta-se livre para deixar um comentário se tiver alguma dúvida.
ubuntu nfs mount terminalUse o aplicativo Configurar os PCs da escola para configurar PCs com Windows em Escolas Baixe o aplicativo Configurar computadores da escola na Windows Store e use-o para configurar rapidamente seus computadores Windows 10 para melhores opções de aprendizado para os alunos

Os computadores agora se tornaram parte integrante da educação nas escolas, e quase todas as boas escolas têm os sistemas de computador definidos para seus alunos. O único problema com a educação em informática na escola ocorre quando os alunos se distraem com vários aplicativos e recursos dos PCs.
Como instalar e configurar um servidor nfs no centos 8

Neste tutorial, você seguirá as etapas necessárias para configurar um servidor NFSv4 no CentOS 8. Também mostraremos como montar um sistema de arquivos NFS no cliente.
Como configurar um servidor openvpn no ubuntu 18.04

Uma VPN permite que você se conecte a servidores VPN remotos, tornando sua conexão criptografada e segura e navegando na Web anonimamente, mantendo seus dados de tráfego privados. Este tutorial o guiará pelo processo de instalação do seu próprio servidor VPN, instalando e configurando o OpenVPN.