Интересно, почему у моего Ubuntu Server 14.04 LTS возникают проблемы с разрешением имени хоста из fstab. Я попытался смонтировать следующую запись:
//NAS-5h2-20/backuppc/ /mnt/backuppc cifs auto,user=THEUSER,password=THEPASSWORD,cifsacl,uid=109 0 0
монтирование не удается с ошибкой
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
и запись системного журнала:
Unable to determine destination address.
ОДНАКО, это работает как прелесть, если я меняю имя хоста NAS-5h2-20 на его IP 192.168.1.29 . Однако из соображений переносимости я хотел бы сопоставить монтирование по имени хоста в fstab.
Содержимое / etc / hosts (среди других строк):
192.168.1.28 NAS-5h1-15
192.168.1.29 NAS-5h2-20
192.168.1.30 NAS-6h1-04
Эти имена хостов не зарегистрированы на локальном DNS-сервере. Предполагается, что в некоторых случаях можно использовать разные IP-адреса (кластер сервера / рабочая станция) для DNS и для внутреннего использования сервером, поэтому я не могу зарегистрировать их в DNS.
Это также не проблема
ping NAS-5h2-20
,
Таким образом, я уверен, что это решающая проблема. Однако я не могу понять, где. Я смотрю на nsswitch.conf, там ничего особенного:
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
И /etc/resolv.conf также выглядит нормально:
# 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
Итак, вопросы: - почему распознаватель не может прочитать ИЛИ игнорирует файл hosts в этом особом случае?
DNS / WINS / какой-либо другой метод разрешения жестко запрограммирован в mount.cifs?
sudo apt-get install cifs-utils
Ответы:
По умолчанию пакет samba (cifs) в некоторых дистрибутивах не использует файл hosts для разрешения имени. Вместо этого он использует имя NetBIOS для разрешения IP-адреса. Есть два способа сделать это:
В вашем файле smb.conf найдите и измените или создайте следующую строку:
и перезапустите самбу. Это заставит samba сначала использовать файл hosts для разрешения имени. Кроме того, добавлено
machine-name.domainname
в качестве псевдонима в вашем файле hosts:На машинах, которые вы пытаетесь подключить, установите следующее в файле smb.conf:
и перезапустите самбу.
В идеале, вы хотите сделать обе эти вещи, однако простая настройка samba для использования файла hosts должна работать.
Ссылки: https://www.samba.org/samba/docs/using_samba/ch07.html
источник