Servidor NFS en Centos 8 Para Clientes Windows y Linux (ITLA) - VeryTutos
Í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, 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.
Pré-requisitos
Supomos que você tenha um servidor executando o CentOS 8 no qual configuraremos o servidor NFS e outras máquinas que atuarão como clientes NFS. 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.148 NFS Clients IPs: From the 192.168.33.0/24 range
Configurar o servidor NFS
Esta seção explica como instalar os pacotes necessários, criar e exportar os diretórios NFS e configurar o firewall.
Instalando o servidor NFS
O pacote "nfs-utils" fornece os utilitários e daemons NFS para o servidor NFS. Para instalá-lo, execute o seguinte comando:
sudo dnf install nfs-utils
Quando a instalação estiver concluída, ative e inicie o serviço NFS digitando:
sudo systemctl enable --now nfs-server
Por padrão, no CentOS 8 NFS versões 3 e 4.x estão ativadas, a versão 2 está desativada. O NFSv2 é bem antigo agora e não há motivo para ativá-lo. Para verificar, execute o seguinte comando
cat
:
sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2
As opções de configuração do servidor NFS são definidas nos arquivos
/etc/nfs.conf
e
/etc/nfs.conf
. As configurações padrão são suficientes para o nosso tutorial.
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.
Para explicar melhor como as montagens NFS podem ser configuradas, compartilharemos dois diretórios (
/var/www
e
/opt/backups
) com diferentes configurações.
O
/var/www/
pertence ao usuário e ao grupo
apache
e
/opt/backups
pertence ao
root
.
Crie o sistema de arquivos de exportação usando o comando
mkdir
:
sudo mkdir -p /srv/nfs4/{backups, 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, inclua as seguintes entradas no arquivo
/etc/fstab
:
sudo nano /etc/fstab
/ 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
Exporte os diretórios
www
e
backups
e permita 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.
A 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 opções padrão e, se você quiser alterá-las, precisará defini-las explicitamente.
/srv/nfs4/backups 192.168.33.3(sync, wdelay, hide, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/www 192.168.33.110(sync, wdelay, hide, no_subtree_check, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4 192.168.33.0/24(sync, wdelay, hide, crossmnt, no_subtree_check, fsid=0, sec=sys, rw, secure, root_squash, no_all_squash) /srv/nfs4/backups 192.168.33.0/24(sync, wdelay, hide, no_subtree_check, sec=sys, ro, secure, root_squash, no_all_squash)
root_squash
é 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 servidor CentOS. Agora você pode passar para a próxima etapa, configurar os clientes e conectar-se ao servidor NFS.
Configuração de firewall
FirewallD é a solução de firewall padrão no Centos 8.
O serviço NFS inclui regras predefinidas para permitir o acesso ao servidor NFS.
Os seguintes comandos permitirão permanentemente o acesso a partir da sub-rede
192.168.33.0/24
:
sudo firewall-cmd --new-zone=nfs --permanent
sudo firewall-cmd --zone=nfs --add-service=nfs --permanent
sudo firewall-cmd --zone=nfs --add-source=192.168.33.0/24 --permanent
sudo firewall-cmd --reload
sudo firewall-cmd --zone=nfs --add-source=192.168.33.0/24 --permanent
sudo firewall-cmd --reload
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 do cliente, instale as ferramentas necessárias para montar sistemas de arquivos NFS remotos.
-
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.148:/backups /backups
sudo mount -t nfs -o vers=4 192.168.33.148:/www /srv/www
Onde
192.168.33.148
é 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:
… 192.168.33.148:/backups 9.7G 1.2G 8.5G 13% /backups 192.168.33.148:/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.148:/backups /backups nfs defaults, timeo=900, retrans=5, _netdev 0 0 192.168.33.148:/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 em 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, como 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
O diretório
/var/www
pertence ao usuário
apache
e esse compartilhamento possui a opção
root_squash
definida, que mapeia o usuário root para o grupo de usuários e grupos
nogroup
que não possui permissões de gravação no compartilhamento remoto.
Supondo que exista um
apache
usuário na máquina cliente com o mesmo
UID
e
GID
que no servidor remoto (que deve ser o caso se, por exemplo, você instalou o apache nas duas máquinas), você pode testar para criar um arquivo como
apache
usuário com:
sudo -u apache 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 apache apache 4096 Jun 23 22:18. drwxr-xr-x 3 root root 4096 Jun 23 22:29.. -rw-r--r-- 1 apache apache 0 Jun 23 21:58 index.html -rw-r--r-- 1 apache apache 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.
terminal de montagem nfs centosUse 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 ubuntu 18.04

O Network File System (NFS) é um protocolo de sistema de arquivos distribuído que permite compartilhar diretórios remotos em uma rede. Neste tutorial, veremos como configurar um servidor NFSv4 no Ubuntu 18.04.
Como configurar um servidor openvpn no centos 7

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 abordará o processo de instalação do seu próprio servidor VPN, instalando e configurando o OpenVPN.