Je me demande pourquoi mon Ubuntu Server 14.04 LTS a des problèmes pour résoudre un nom d'hôte depuis 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.
Le contenu de / etc / hosts est (entre autres lignes):
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 auprès du serveur DNS local. Et il est prévu que dans certains cas, il soit possible d'utiliser différentes adresses IP (cluster de serveurs / station de travail) pour le DNS et l'utilisation interne au serveur, donc je ne peux pas les enregistrer sur le DNS.
Ce n'est pas non plus un problème pour
ping NAS-5h2-20
.
Je suis donc sûr que c'est un problème de résolveur. Cependant, je ne sais pas 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 également 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
Donc, 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-elle codée en dur dans mount.cifs?
sudo apt-get install cifs-utils
Réponses:
Par défaut, le package samba (cifs) sur certaines distributions n'utilise pas le fichier hosts pour résoudre le nom. Au lieu de cela, il utilise le nom NetBIOS pour se résoudre à l'IP. Il y a deux façons d'aborder cela:
Dans votre fichier smb.conf, recherchez et modifiez ou créez la ligne suivante:
et redémarrez samba. Cela configurera samba pour utiliser d'abord le fichier hosts pour résoudre le nom. De plus, ajouté
machine-name.domainname
comme alias dans votre fichier d'hôtes:Sur les machines que vous essayez de vous connecter pour définir les éléments suivants dans le fichier smb.conf:
et redémarrez samba.
Idéalement, vous voulez faire ces deux choses, mais simplement configurer samba pour utiliser le fichier hosts devrait fonctionner.
Références: https://www.samba.org/samba/docs/using_samba/ch07.html
la source