Montowanie CIFS w fstab kończy się powodzeniem w przypadku adresu IP, awaria nazwy hosta zapisanej w / etc / hosts

11

Zastanawiam się, dlaczego mój Ubuntu Server 14.04 LTS ma problemy z rozpoznaniem nazwy hosta z fstab. Próbowałem zamontować następujący wpis:

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

montowanie kończy się niepowodzeniem z błędem

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

i wpis Syslog:

Unable to determine destination address.

JEDNAK to działa jak urok, jeśli wymienię nazwę hosta NAS-5h2-20 na jego adres IP 192.168.1.29 . Jednak ze względu na przenośność chciałbym zmapować mounta według nazwy hosta w fstab.

Zawartość / etc / hosts to (między innymi liniami):

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

Te nazwy hostów nie są zarejestrowane na lokalnym serwerze DNS. I w niektórych przypadkach ma być możliwe używanie różnych adresów IP (klaster serwerów / stacja robocza) do DNS i do użytku wewnętrznego serwera, więc nie mogę zarejestrować ich w DNS.

To też nie stanowi problemu

ping NAS-5h2-20

.

Jestem więc pewien, że jest to problem rozwiązujący. Nie wiem jednak, gdzie. Patrzę na nsswitch.conf, nic specjalnego:

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

I /etc/resolv.conf również wygląda 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

Tak więc pytania: - dlaczego resolver nie odczytuje LUB ignoruje plik hosts w tym szczególnym przypadku?
- czy DNS / WINS / jakaś inna metoda rozwiązywania jest na stałe zapisana w mount.cifs?

Nachtexpress
źródło
1
Od askubuntu.com/a/374699 :sudo apt-get install cifs-utils

Odpowiedzi:

8

Domyślnie pakiet samba (cifs) w niektórych dystrybucjach nie używa pliku hosts do rozwiązania nazwy. Zamiast tego używa nazwy NetBIOS do rozpoznania adresu IP. Można to zrobić na dwa sposoby:

  • Ustaw sambę, aby używała pliku hosts do rozstrzygania.

W pliku smb.conf znajdź i zmodyfikuj lub utwórz następujący wiersz:

    [global]
    name resolve order =  hosts lmhosts wins bcast

i zrestartuj sambę. Spowoduje to, że samba najpierw użyje pliku hosts, aby rozwiązać nazwę. Dodatkowo dodano machine-name.domainnamejako alias w pliku hosts:

    192.168.1.28    machine-name    machine-name.domainname
  • Ustaw nazwę NetBIOS komputerów, z którymi próbujesz się połączyć.

Na komputerach, z którymi próbujesz się połączyć, ustaw następujące ustawienia w pliku smb.conf:

    netbios name = MachineName

i zrestartuj sambę.


Idealnie byłoby zrobić obie te rzeczy, jednak ustawienie samby w celu użycia pliku hosts powinno działać.

Odnośniki: https://www.samba.org/samba/docs/using_samba/ch07.html

Tiksi
źródło