smbclient encontra o NAS, mas o mount não consegue encontrá-lo

3

Eu estou tentando montar automaticamente uma unidade NAS que eu tenho para o Ubuntu Server, mas isso está me dando um problema onde parece não encontrar o nome NAS na rede quando eu o monto.

Puxar os compartilhamentos como este funciona bem e me dá uma impressão dos compartilhamentos no NAS.

smbclient -L //NASNAMEHERE

Eu continuei adicionando o compartilhamento que eu quero / etc / fstab usando a linha abaixo. O arquivo .smbcredentials contém o combo user / pass para o acesso RW ao compartilhamento.:

//NASNAMEHERE/Archive    /home/user/Archive        cifs    credentials=/home/user/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0

No entanto, quando executo o sudo mount -a para montar o novo dispositivo, isso me dá isso.

mount error: could not resolve address for martinez-nas: Unknown error

Parece ser um problema de rede, já que não consigo fazer o ping do NAS diretamente pelo nome, mas estou confuso sobre por que isso não funcionará, se smbclient puder encontrar o NAS corretamente e listar o ações.

Executando o Ubuntu Server 14.04.2

    
por WR7500 18.08.2015 / 22:18

2 respostas

1

Encontrado esta questão que responde por mim. Basicamente, o Samba pode fazer buscas de nomes de host, enquanto o mount não pode. Eu configurei o endereço IP em vez do nome do host em /etc/fstab e funcionou como um encanto.

    
por WR7500 19.08.2015 / 16:00
1

A diferença é que o cliente samba faz pesquisas de nome netbios, enquanto o mount.cifs faz pesquisas de nome de host que requerem algum tipo de mecanismo DNS do lado da rede. O CIFS não tem idéia do nome do netbios.

Existem algumas soluções:

[1] Alguns roteadores fornecem esse mecanismo de DNS do lado da rede automaticamente. É por isso que apenas um subconjunto de usuários do CIFS enfrenta esse problema de resolução de nomes. Talvez o seu roteador faça isso, mas não esteja ativado - vale a pena investigá-lo.

[2] Você pode dar um endereço IP estático ao seu nas. Isso também pode ser feito no roteador se você não quiser fazê-lo no próprio NAS. Em seguida, basta acessar o servidor por esse endereço IP.

[3] Você pode usar um nome de host qualificado pelo mDNS (hostname.local) se o seu nas tiver um. Atualmente Linux, Win10 (você precisa ativá-lo), Apple Macs e esses Todos os dispositivos projetados para trabalhar com Macs têm esses nomes de host. Se você souber o endereço IP atual do nas, você pode usar este comando (com o endereço ip correto) para ver se ele tem um:

avahi-resolve -a 192.168.1.208

Use o nome dessa saída e anexe um .local ao final, se ainda não tiver isso.

[4] E, por último, é o "truque" do winbind muito mal entendido e mal interpretado :

Se um aplicativo quiser resolver o endereço IP de um nome de host, ele procurará no arquivo /etc/nsswitch.conf para saber como. Se você olhar o arquivo, verá as diferentes maneiras de fazer isso: "arquivos" (/ etc / hosts), "mdns4" (mDNS) e "dns". Em nenhum lugar existe qualquer referência ao netbios. Então, adicione-o colocando o parâmetro wins antes do parâmetro dns .

vitórias, por sua vez, precisam da biblioteca libnss_wins.so e você obtém isso quando instala o seguinte pacote:

sudo apt install libnss-winbind

Instalar esse pacote também instala o próprio winbind.

Então você acaba instalando algo (winbind) projetado para algo completamente diferente, a fim de fazer um nome netbios aparecer como um nome de host para coisas como CIFS e ping. No passado, essa "solução" tinha consequências, pois às vezes diminuía o acesso à Internet, mas, considerando a velocidade relativa aumentada ao longo dos anos, acredito que ninguém notaria.

    
por Morbius1 08.09.2018 / 21:09