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?
sudo apt-get install cifs-utils
Odpowiedzi:
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:
W pliku smb.conf znajdź i zmodyfikuj lub utwórz następujący wiersz:
i zrestartuj sambę. Spowoduje to, że samba najpierw użyje pliku hosts, aby rozwiązać nazwę. Dodatkowo dodano
machine-name.domainname
jako alias w pliku hosts:Na komputerach, z którymi próbujesz się połączyć, ustaw następujące ustawienia w pliku smb.conf:
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
źródło