A montagem CIFS no fstab é bem-sucedida no IP, falha no nome do host escrito em / etc / hosts

10

Gostaria de saber por que meu Ubuntu Server 14.04 LTS tem problemas para resolver um nome de host do fstab. Eu tentei montar a seguinte entrada:

//NAS-5h2-20/backuppc/  /mnt/backuppc   cifs   auto,user=THEUSER,password=THEPASSWORD,cifsacl,uid=109      0       0

a montagem falha com o erro

mount: wrong fs type, bad option, bad superblock on //NAS-5h1-15/backuppc,
   missing codepage or helper program, or other error
   (for several filesystems (e.g. nfs, cifs) you might
   need a /sbin/mount.<type> helper program)
   In some cases useful info is found in syslog - try
   dmesg | tail  or so

e a entrada Syslog:

Unable to determine destination address.

No entanto, isso funciona como um encanto se eu trocar o nome do host NAS-5h2-20 pelo seu IP 192.168.1.29 . No entanto, por motivos de portabilidade, eu gostaria de mapear a montagem pelo nome do host no fstab.

O conteúdo do / etc / hosts é (entre outras linhas):

192.168.1.28    NAS-5h1-15
192.168.1.29    NAS-5h2-20
192.168.1.30    NAS-6h1-04

Esses nomes de host não são registrados no servidor DNS local. E, em alguns casos, é possível usar IPs diferentes (servercluster / estação de trabalho) para DNS e uso interno do servidor, por isso não posso registrá-los no DNS.

Também não é problema para

ping NAS-5h2-20

.

Portanto, tenho certeza, é um problema de resolução. No entanto, não consigo descobrir onde. Eu olho para nsswitch.conf, nada de especial lá:

passwd:         compat
group:          compat
shadow:         compat
hosts:          files dns
networks:       files
protocols:      db files
services:       db files
ethers:         db files
rpc:            db files
netgroup:       nis

E /etc/resolv.conf também parece OK:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.1.1
search ourdomain.local

Então, perguntas: - por que o resolvedor falha ao ler OU ignora o arquivo hosts neste caso especial?
- o DNS / WINS / algum outro método de resolução está codificado no mount.cifs?

Nachtexpress
fonte
1
De askubuntu.com/a/374699 :sudo apt-get install cifs-utils

Respostas:

8

Por padrão, o pacote samba (cifs) em algumas distribuições não usa o arquivo hosts para resolver o nome. Em vez disso, ele usa o nome NetBIOS para resolver o IP. Existem duas maneiras de fazer isso:

  • Defina o samba para usar o arquivo hosts para resolução.

No seu arquivo smb.conf, localize e modifique ou crie a seguinte linha:

    [global]
    name resolve order =  hosts lmhosts wins bcast

e reinicie o samba. Isso definirá o samba para usar o arquivo hosts primeiro para resolver o nome. Além disso, adicionado machine-name.domainnamecomo um alias no seu arquivo hosts:

    192.168.1.28    machine-name    machine-name.domainname
  • Defina o nome NetBIOS das máquinas às quais você está tentando se conectar.

Nas máquinas que você está tentando conectar, defina o seguinte no arquivo smb.conf:

    netbios name = MachineName

e reinicie o samba.


Idealmente, você quer fazer as duas coisas, no entanto, apenas configurar o samba para usar o arquivo hosts deve funcionar.

Referências: https://www.samba.org/samba/docs/using_samba/ch07.html

Tiksi
fonte