El montaje CIFS en fstab tiene éxito en IP, falla en el nombre de host escrito en / etc / hosts

10

Me pregunto por qué mi Ubuntu Server 14.04 LTS tiene problemas para resolver un nombre de host desde fstab. Traté de montar la siguiente entrada:

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

el montaje falla con el error

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

y la entrada de Syslog:

Unable to determine destination address.

SIN EMBARGO, esto funciona de maravilla si cambio el nombre de host NAS-5h2-20 por su IP 192.168.1.29 . Sin embargo, por razones de portabilidad, me gustaría asignar el montaje por nombre de host dentro del fstab.

El contenido de / etc / hosts es (entre otras líneas):

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

Estos nombres de host no están registrados con el servidor DNS local. Y se pretende que, en algunos casos, pueda usar diferentes IP (servidor / estación de trabajo) para DNS y uso interno del servidor, por lo que no puedo registrarlas en el DNS.

Tampoco es un problema

ping NAS-5h2-20

.

Por lo tanto, estoy seguro, es un problema de resolución. Sin embargo, no puedo entender dónde. Miro nsswitch.conf, nada especial allí:

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

Y /etc/resolv.conf también se ve bien:

# 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

Entonces, preguntas: ¿por qué el solucionador no lee O ignora el archivo de hosts en este caso especial?
- ¿DNS / WINS / algún otro método de resolución está codificado en mount.cifs?

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

Respuestas:

8

Por defecto, el paquete samba (cifs) en algunas distribuciones no usa el archivo hosts para resolver el nombre. En su lugar, utiliza el nombre NetBIOS para resolver la IP. Hay dos maneras de hacer esto:

  • Configure samba para usar el archivo de hosts para la resolución.

En su archivo smb.conf, busque y modifique o cree la siguiente línea:

    [global]
    name resolve order =  hosts lmhosts wins bcast

y reiniciar samba. Esto configurará a samba para usar el archivo de hosts primero para resolver el nombre. Además, agregado machine-name.domainnamecomo un alias en su archivo de hosts:

    192.168.1.28    machine-name    machine-name.domainname
  • Establezca el nombre NetBIOS de las máquinas a las que está intentando conectarse.

En las máquinas que está intentando conectar para configurar lo siguiente en el archivo smb.conf:

    netbios name = MachineName

y reiniciar samba.


Idealmente, desea hacer ambas cosas, sin embargo, solo configurar samba para usar el archivo hosts debería funcionar.

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

Tiksi
fuente