Question Le montage CIFS dans fstab réussit sur IP et échoue sur le nom d'hôte écrit dans / etc / hosts


Je me demande pourquoi mon serveur Ubuntu 14.04 LTS rencontre des difficultés pour résoudre un nom d’hôte à partir de fstab. J'ai essayé de monter l'entrée suivante:

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

le montage échoue avec l'erreur

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

et l'entrée Syslog:

Unable to determine destination address.

Cependant, cela fonctionne comme un charme si j'échange le nom d'hôte NAS-5h2-20 pour son IP 192.168.1.29. Cependant, pour des raisons de portabilité, j'aimerais mapper le montage par nom d'hôte dans le fstab.

Contenu de / etc / hosts est (entre autres):

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

Ces noms d'hôtes ne sont pas enregistrés sur le serveur DNS local. Et il est prévu que, dans certains cas, différentes adresses IP (servercluster / workstation) soient utilisées pour le DNS et pour une utilisation interne au serveur, je ne peux donc pas les enregistrer dans le DNS.

Ce n'est pas non plus un problème

ping NAS-5h2-20

.

Donc, j'en suis sûr, c'est un problème de résolveur. Cependant, je ne peux pas savoir où. Je regarde nsswitch.conf, rien de spécial là-bas:

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

Et /etc/resolv.conf semble aussi 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

Alors, des questions: - pourquoi le résolveur ne parvient-il pas à lire OU ignore le fichier hosts dans ce cas particulier?
- DNS / WINS / une autre méthode de résolution est-il codé en dur dans mount.cifs?


10
2017-07-01 17:04


origine


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


Réponses:


Par défaut, le package samba (cifs) de certaines distributions n'utilise pas le fichier hosts pour résoudre le nom. Au lieu de cela, il utilise le nom NetBIOS pour résoudre l'adresse IP. Il y a deux façons d'aborder cela:

  • Définissez samba pour utiliser le fichier hosts pour la résolution.

Dans votre fichier smb.conf, recherchez et modifiez ou créez la ligne suivante:

    [global]
    name resolve order =  hosts lmhosts wins bcast

et redémarrez samba. Ceci configurera samba pour utiliser le fichier hosts en premier pour résoudre le nom. De plus, ajouté machine-name.domainname comme alias dans votre fichier hosts:

    192.168.1.28    machine-name    machine-name.domainname
  • Définissez le nom NetBIOS des ordinateurs auxquels vous essayez de vous connecter.

Sur les ordinateurs que vous essayez de vous connecter, définissez les éléments suivants dans le fichier smb.conf:

    netbios name = MachineName

et redémarrez samba.


Idéalement, vous voulez faire ces deux choses, cependant, le simple fait de configurer samba pour utiliser le fichier hosts devrait fonctionner.

Références: https://www.samba.org/samba/docs/using_samba/ch07.html


8
2017-07-01 18:15