Il montaggio CIFS in fstab ha esito positivo su IP, non riesce su nome host scritto in / etc / hosts


11

Mi chiedo perché Ubuntu Server 14.04 LTS abbia problemi a risolvere un nome host da fstab. Ho provato a montare la seguente voce:

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

il montaggio fallisce con l'errore

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 la voce Syslog:

Unable to determine destination address.

Tuttavia, questo funziona come un incantesimo se cambio il nome host NAS-5h2-20 con il suo IP 192.168.1.29 . Tuttavia, per motivi di portabilità, mi piacerebbe mappare il mount in base al nome host all'interno di fstab.

Il contenuto di / etc / hosts è (tra le altre righe):

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

Questi nomi host non sono registrati con il server DNS locale. Ed è previsto che in alcuni casi sia possibile utilizzare IP diversi (servercluster / workstation) per DNS e uso interno del server, quindi non posso registrarli sul DNS.

Inoltre non è un problema

ping NAS-5h2-20

.

Quindi sono sicuro, è un problema risolutore. Tuttavia, non riesco a capire dove. Guardo nsswitch.conf, niente di speciale 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 sembra anche a posto:

# 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

Quindi, domande: - perché il risolutore non riesce a leggere O ignora il file hosts in questo caso speciale?
- DNS / WINS / qualche altro metodo di risoluzione è codificato in mount.cifs?


1
Da askubuntu.com/a/374699 :sudo apt-get install cifs-utils

Risposte:


8

Per impostazione predefinita, il pacchetto samba (cifs) su alcune distribuzioni non utilizza il file hosts per risolvere il nome. Al contrario, utilizza il nome NetBIOS per risolvere l'IP. Esistono due modi per farlo:

  • Imposta samba per usare il file hosts per la risoluzione.

Nel tuo file smb.conf, trova e modifica o crea la seguente riga:

    [global]
    name resolve order =  hosts lmhosts wins bcast

e riavvia samba. Questo imposterà samba per utilizzare prima il file hosts per risolvere il nome. Inoltre, aggiunto machine-name.domainnamecome alias nel file hosts:

    192.168.1.28    machine-name    machine-name.domainname
  • Impostare il nome NetBIOS delle macchine a cui si sta tentando di connettersi.

Sulle macchine che si sta tentando di connettersi per impostare quanto segue nel file smb.conf:

    netbios name = MachineName

e riavvia samba.


Idealmente, vuoi fare entrambe queste cose, tuttavia solo l'impostazione di samba per utilizzare il file hosts dovrebbe funzionare.

Riferimenti: https://www.samba.org/samba/docs/using_samba/ch07.html

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.