Ubuntu 16.04 Exportações NFS / Compartilhamentos não montados na máquina do cliente

1

Eu segui os posts disponíveis o máximo possível para configurar o NFS em duas máquinas Ubuntu.

Eu instalei o nfs-kernel-server no sistema host, configure as exportações no servidor. Eu até desliguei o firewall para ter certeza de que não estava atrapalhando. A máquina cliente também tem o servidor instalado, bem como o pacote do cliente nfs-common.

Quando tento montar QUALQUER um dos compartilhamentos no cliente. (a localização atual da montagem é / home / nfs_local). O terminal trava sem resposta por um tempo muito longo, quando apenas diz "Conexão esgotada".

Estou tentando montar usando essa estrutura de comando para montar os compartilhamentos no terminal do cliente:

$ sudo mount 192.168.10.111:/home/uname/home/nfs_local

Veja a aparência das minhas exportações no / etc / exports

  

/ home 192.168.10.128/255.255.255.0(ro,anonuid=65534,no_subtree_check,insecure,sync,nohide)   / home / uname 192.168.10.128/255.255.255.0(rw,anonuid=65534,no_subtree_check,insecure,sync ,nohide)   / mnt / volumes / Massive_A 192.168.10.128/255.255.255.0 (rw, nohide, no_subtree_check, insegure ,sync) / mnt / volumes / Massive_B 192.168.10.128/255.255.255.0 (rw, nohide, no_subtree_check, inseguro, síncrono) / mnt / volumes / Massive_C 192.168.10.128/255.255.255.0 (rw, nohide, no_subtree_check, insegure ,sync) / mnt / volumes / SSD_B 192.168.10.128/255.255.255.0 (rw, nohide, no_subtree_check, insegure ,sync)

rpcinfo -p (lado do servidor) fornece a seguinte saída:

100000    4   tcp    111  portmapper
100000    3   tcp    111  portmapper
100000    2   tcp    111  portmapper
100000    4   udp    111  portmapper
100000    3   udp    111  portmapper
100000    2   udp    111  portmapper
100005    1   udp  46285  mountd
100005    1   tcp  40996  mountd
100005    2   udp  37056  mountd
100005    2   tcp  56903  mountd
100005    3   udp  59774  mountd
100005    3   tcp  33079  mountd
100003    2   tcp   2049  nfs
100003    3   tcp   2049  nfs
100003    4   tcp   2049  nfs
100227    2   tcp   2049
100227    3   tcp   2049
100003    2   udp   2049  nfs
100003    3   udp   2049  nfs
100003    4   udp   2049  nfs
100227    2   udp   2049
100227    3   udp   2049

E o firewall está inativo:

$ ufw status (lado do servidor e do lado do cliente)

  

Status: inativo

Alguém pode identificar o que estou sentindo falta aqui? Eventualmente, quero adicioná-los ao fstab para serem montados automaticamente na inicialização ... OU use um script para cada compartilhamento ... O conselho sobre os prós / contras desse uso também é muito apreciado.

Obrigado pela leitura.

    
por Orian 29.11.2016 / 13:45

1 resposta

1

Obrigado ao @ridgy por me apontar na direção dessa solução.

Ao usar o NFS, é necessário certificar-se de que as portas 111 e 2049 estejam abertas para o tráfego TCP e UDP. (Se você está SOMENTE usando o NFS v4, você não precisa da porta 111 PORTMAPPER) Você pode restringi-lo à sua rede local como achar melhor. Mas, ele deve estar aberto no cliente e no servidor para os dois tipos de tráfego.

Se você quiser usar a linha de comando, primeiro verifique o status do firewall, emitindo

  

$ sudo ufw status

se a informação retornada informar "Status: Inativo", você poderá desativá-la ou ativá-la e inserir regras para permitir que o NFS e seus dados PORTMAPPER passem.

Emita a diretiva:

  

$ sudo ufw enable

para iniciar o serviço de firewall

Verifique as regras atuais emitindo novamente a diretiva de status

  

$ sudo ufw status

Você verá a lista de regras que estão atualmente definidas (se alguma tiver sido definida) No entanto, você deve ver agora que a diretiva status retorna;

  

Status: Ativo

Procure por quaisquer regras que se apliquem às portas 2049 e 111. Elas devem estar abertas para o tráfego TCP e UDP ... de "qualquer lugar" (isso deve ser reforçado depois que os compartilhamentos estiverem em operação - dependendo da situação) * OBSERVE o firewall geralmente, permite que você aplique regras baseadas nos padrões "APPLICATION", no entanto, poupe tempo. Eu descobri que o NFS não está na lista.

A saída deve ser algo como isto:

 To                 Action          From 
111,2049/tcp       ALLOW           ANYWHERE 
111,2049/udp       ALLOW           ANYWHERE 
111,2049/tcp (v6)  ALLOW           ANYWHERE (v6) 
111,2049/udp (v6)  ALLOW           ANYWHERE (v6)

Se você não visualizar as portas explicitamente abertas, poderá emitir as seguintes diretivas para abri-las. Isso deve ser feito no host e no cliente.

$ sudo ufw allow 2049
$ sudo ufw allow 111

NOTA: Isso abrirá essas portas para todo o tráfego, não apenas NFS e PORTMAPPER. Eu recomendo que - depois de ter suas exportações / montagens NFS funcionando corretamente, você revisita a configuração do firewall para aumentar a segurança em torno dessas portas. (Isso está atualmente além do meu conhecimento e do escopo desta resposta)

Mais uma vez, emita a diretiva status ufw para garantir que as entradas foram adicionadas corretamente às suas regras de firewall.

AGORA ... para a parte constrangedora ... O firewall nos sistemas host e cliente pode não ser seu único problema de firewall. Você deve garantir que o seu roteador não esteja bloqueando essas portas também. (Isso causou alguns puxões de cabelo no meu caso. Como eu tinha visão de túnel nas duas máquinas. E, esqueci completamente o harware entre eles.) Obrigado novamente @ridgy!

Estou usando um ASUS AC3200 com DD-WRT. Então, é claro, seu sistema de roteadores provavelmente será diferente.

Se o firewall do seu roteador estiver ativo (recomendado), consulte as instruções do fabricante sobre como abrir as portas 111 e 2049 para o tráfego LAN ... Opcionalmente, e apenas para que as coisas funcionem, você pode TEMPORARIAMENTE desabilitar o firewall do roteador. recomendado) até que suas exportações / montagens funcionem corretamente.

Espero sinceramente que essa experiência seja útil para qualquer pessoa que tenha os mesmos problemas com a implementação e o ambiente de rede NFS.

    
por Orian 30.11.2016 / 14:17