Die CIFS-Bereitstellung in fstab ist unter IP erfolgreich und schlägt unter dem in / etc / hosts geschriebenen Hostnamen fehl

10

Ich frage mich, warum mein Ubuntu Server 14.04 LTS Probleme beim Auflösen eines Hostnamens aus fstab hat. Ich habe versucht, den folgenden Eintrag zu mounten:

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

Die Bereitstellung schlägt mit dem Fehler fehl

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

und der Syslog-Eintrag:

Unable to determine destination address.

Dies funktioniert jedoch wie ein Zauber, wenn ich den Hostnamen NAS-5h2-20 gegen die IP 192.168.1.29 austausche . Aus Gründen der Portabilität möchte ich den Mount jedoch nach Hostname in der fstab zuordnen.

Der Inhalt von / etc / hosts ist (unter anderem):

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

Diese Hostnamen sind nicht beim lokalen DNS-Server registriert. In einigen Fällen soll es möglich sein, unterschiedliche IP-Adressen (Servercluster / Workstation) für DNS und serverinterne Nutzung zu verwenden, sodass ich sie nicht beim DNS registrieren kann.

Es ist auch kein Problem

ping NAS-5h2-20

.

Ich bin mir also sicher, dass es sich um ein Resolver-Problem handelt. Ich kann jedoch nicht herausfinden, wo. Ich schaue auf nsswitch.conf, nichts Besonderes dort:

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

Und /etc/resolv.conf sieht auch OK aus:

# 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

Fragen: - Warum kann der Resolver die Hosts-Datei in diesem speziellen Fall nicht lesen ODER ignorieren ?
- Ist DNS / WINS / eine andere Auflösungsmethode in mount.cifs fest codiert?

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

Antworten:

8

Standardmäßig verwendet das Samba-Paket (cifs) in einigen Distributionen nicht die Hosts-Datei, um den Namen aufzulösen. Stattdessen wird der NetBIOS-Name verwendet, um in die IP aufzulösen. Hierfür gibt es zwei Möglichkeiten:

  • Stellen Sie samba so ein, dass die Hosts-Datei für die Auflösung verwendet wird.

Suchen und ändern oder erstellen Sie in Ihrer Datei smb.conf die folgende Zeile:

    [global]
    name resolve order =  hosts lmhosts wins bcast

und starte Samba neu. Dadurch wird Samba so eingestellt, dass zuerst die Hosts-Datei zum Auflösen des Namens verwendet wird. Zusätzlich machine-name.domainnameals Alias ​​in Ihrer Hosts-Datei hinzugefügt :

    192.168.1.28    machine-name    machine-name.domainname
  • Legen Sie den NetBIOS-Namen der Computer fest, zu denen Sie eine Verbindung herstellen möchten.

Auf den Computern, die Sie verbinden möchten, legen Sie Folgendes in der Datei smb.conf fest:

    netbios name = MachineName

und starte Samba neu.


Idealerweise möchten Sie beide Dinge tun, es sollte jedoch funktionieren, wenn Sie nur Samba für die Verwendung der Hosts-Datei festlegen.

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

Tiksi
quelle