FreeBSD

25 de outubro de 2016

Servidor NFS no FreeBSD

Mais artigos de »
Escrito por: Leonardo Souza
Tags:

Servidor NFS no FreeBSD

O Network File System (NFS) é o protocolo padrão para o compartilhamento de arquivos nos sistemas UNIX e derivados, GNU/Linux e FreeBSD, por exemplo. Através deste protocolo é possível acessar arquivos disponibilizados remotamente em outros dispositivos e que podem ser acessados por meio da rede. Veremos neste artigo o uso do NFS no FreeBSD.

O que acontece na prática, durante o compartilhamento, é que é criado um diretório virtual onde são disponibilizados diretórios e arquivos compartilhados, e o cliente, desde que possua permissão para tal, pode visualizar, executar ou editar estes arquivos. Estas permissões são devidamente configuradas no arquivo de exportação, arquivo este, que veremos logo adiante.




O NFS utiliza arquitetura cliente-servidor, e dessa forma permite que o cliente NFS acesse o conteúdo compartilhado de forma transparente, de forma que lhe parece estar acessando um diretório localmente. Ou seja, o usuário consegue manipular seus arquivos como se estivessem presentes no seu próprio computador.

Várias são as vantagens de se utilizar o NFS como transparência, unificação de comandos, redução de espaço local e  independência de sistemas operacionais e hardware. Através deste recurso é possível disponibilizar arquivos de sistemas GNU/Linux para FreeBSD e virce-versa.

Veremos agora como configurar o servidor NFS.

Configurando o Servidor NFS no FreeBSD

Para que um servidor disponibilize o serviço NFS no FreeBSD, não é necessário a instalação de nenhum programa, precisamos apenas realizar algumas configurações. A primeira destas configurações precisa ser realizada no arquivo /etc/rc.conf.

Abra o arquivo /etc/rc.conf:

# ee /etc/rc.conf

Insira as seguintes linhas:

nfs_server_enable=”YES”

nfsv4_server_enable=”YES”

nfsuserd_enable=”YES”

Veja abaixo:

rc-conf-server

Estas linhas fazem com que o nfsd, daemon do NFS, seja ativado no momento do boot do sistema. Ao iniciar o sistema podemos ver os dois processos do nfsd ativos por meio do comando:

# service nfsd status

nfsd-status

Neste exemplo, os dois processos responsáveis pelo nfsd são o 659 e o 661.

Agora precisamos configurar nosso compartilhamento, isso é feito através do arquivo /etc/exports.

Atenção: se este arquivo não existir você deverá criá-lo.

Vamos iniciar fazendo um compartilhamento simples. Vamos criar um diretório chamado /compartilhamento e dentro dele um outro diretório chamado “adm”.

mkdir2

Agora vamos criar um subdiretório do /compartilhamento chamado vendas:

mkdir3

Pronto, com este comando criamos o diretório e subdiretório que serão compartilhados.

Agora vamos editar o arquivo /etc/exports, nele serão configurados todos os compartilhamentos. Para compartilhar o diretório criado, precisamos inserir uma linha no seguinte modelo:

V4: diretório_compartilhado

diretorio_compartilhado/subdiretorios opções hosts_permitidos

A expressão “V4” destaca que estamos utilizando a versão 4 do NFS, logo depois especificamos o diretório que será compartilhado. Nas linhas abaixo especificamos realmente o compartilhamento.

Primeiro definimos o caminho completo do diretório que será compartilhado. Logo depois informamos algumas opções de acesso e por fim quais são os hosts que terão acesso a este compartilhamento.

Exemplo:

NFS no FreeBSD

Neste exemplo estamos compartilhando o diretório /compartilhamento, criado anteriormente, e configuramos dois subdiretórios dele para ser acessados por meio do NFS. Na segunda linha liberamos acesso ao subdiretório “adm” para ser acessado pelo host 172.20.20.150 e na terceira linha liberamos acesso ao subdiretório “venda” para ser acessado pelo host 172.20.20.200 com acesso apenas de leitura.

Embora tenhamos utilizado os IPs dos hosts aqui, podemos referenciá-los pelos seus respectivos nomes.

Podemos informar mais de um host, basta para isso inserir um espaço entre eles.

compartilhamento2

Assim, nosso primeiro compartilhamento está completo.

Várias são as opções que podem ser utilizadas, na tabela abaixo listamos as principais:

Opções do NFS

Segue uma tabela com as principais opções do compartilhamento NFS.

opcoes_nfs

Veremos agora como configurar o cliente NFS.

Configurando o Cliente NFS

Agora vamos configurar o cliente NFS e acessar o conteúdo disponibilizado. Semelhante ao servidor NFS, no cliente também não precisamos instalar pacote algum. Porém, inicialmente precisamos inserir algumas linhas no arquivo /etc/rc.conf.

Abra o arquivo com o comando:

# ee /etc/rc.conf

Insira as linhas:

nfsuserd_enable=”YES”

nfscbd_enable=”YES

Veja abaixo:

rc-conf_cliente

Pronto, assim nosso servidor iniciará o cliente NFS juntamente com o boot do sistema. Agora já podemos “montar” este compartilhamento no cliente. Para isso precisamos saber o IP do servidor, pois este IP será utilizado para referenciá-lo no momento da montagem.

No servidor digitamos o comando ifconfig.

# ifconfig

ip_servidor

Perceba que o IP do servidor é 172.20.20.100.

Para realizar a montagem utilizamos o comando “mount” com a seguinte sintaxe:

# mount servidor:/diretorio_compartilhado /local_da_montagem

Para esta montagem vamos criar um diretório chamado compartilhado dentro do diretório “/”.

NFS no FreeBSD

Primeiro criamos o diretório /compartilhado (1), logo depois realizamos a montagem do diretório compartilhado no servidor dentro do diretório recém criado (2). Por fim, finalizamos realizando uma listagem do conteúdo do diretório montado (3).

Embora tenhamos utilizado o IP do servidor para realizar a montagem, podemos também fazê-la por meio do nome do host, neste caso o “server”. Para isso podemos editar o arquivo /etc/hosts do cliente e inserir uma entrada referente ao IP e nome do servidor.

# ee /etc/hosts

Insira a linha:

172.20.20.100            server

hosts_cliente

Desta forma, já podemos utilizar o comando mount substituindo o IP pelo nome do servidor.

mount3

Neste exemplo, criamos o diretório /vendas com o comando “mkdir” (1), logo depois realizamos a montagem do diretório compartilhado no servidor utilizando, desta vez não o IP, mas o nome do host servidor (2). Por fim, realizamos uma listagem do diretório montado (3), confirmando assim o sucesso da operação.

Configurando a montagem automática

Em alguns casos existe a necessidade de uma montagem permanente, e assim, é mais prático e útil realizar a montagem automática do diretório compartilhado, dessa forma quando o cliente NFS iniciar, o diretório compartilhado será montado. Isso pode ser feito por meio do arquivo /etc/fstab.

Abra o arquivo /etc/fstab e insira uma entrada referente a montagem automática.

fstab_client

Neste exemplo, realizamos a montagem do diretório compartilhado. Quando o sistema inicia o diretório já é montado automaticamente. Perceba que utilizamos o nome do host e não o IP, porém o contrário poderia ser feito, sem problema algum.

Como pode ser visto configurar o NFS no FreeBSD, tanto no cliente quanto no servidor, é algo relativamente fácil e simples, como quase tudo no FreeBSD. Como qualquer serviço configurado na rede, é extremamente importante atentar para questões de segurança, isso inclui o que compartilhar, assim como quem vai acessar e com quais privilégios.

Espero que o conteúdo tenha sido útil.






Sobre o Autor

Foto de perfil de Leonardo Souza
Leonardo Souza
Bacharel em Informática, pós graduado em Segurança de Redes de Computadores e analista de Segurança da Informação. Entusiasta de Segurança da Informação e usuário FreeBSD, porém sem xiismo.




0 Comments


Seja o Primeiro a Comentar!


You must be logged in to post a comment.