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.
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
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.
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.