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

10

Eu me pergunto 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 do 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 razões de portabilidade, gostaria de mapear a montagem por hostname dentro do fstab.

O conteúdo de / 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 estão registrados no DNS-Server local. E, em alguns casos, ele tem a intenção de usar IPs diferentes (servercluster / workstation) 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

.

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

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?
- DNS / WINS / algum outro método de resolução está codificado em mount.cifs?

    
por Nachtexpress 01.07.2014 / 19:04

1 resposta

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:

  • Configure o samba para usar o arquivo de hosts para resolução.

Em seu arquivo smb.conf, encontre 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, adicionou machine-name.domainname como um alias no seu arquivo de 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 se conectar, defina o seguinte no arquivo smb.conf:

    netbios name = MachineName

e reinicie o samba.

O ideal é que você queira fazer as duas coisas, mas apenas configurar o samba para usar o arquivo hosts deve funcionar.

Referências: link

    
por 01.07.2014 / 20:15