我想知道为什么我的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
和Syslog条目:
Unable to determine destination address.
但是,如果我为其IP 192.168.1.29交换主机名NAS-5h2-20,这就像一个魅力.但是,出于可移植性的原因,我想在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(servercluster /工作站)进行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的解析方法吗?
默认情况下,某些发行版上的samba(cifs)包不使用hosts文件来解析名称.相反,它使用NetBIOS名称解析为IP.有两种方法可以解决这个问题:
>设置samba以使用hosts文件进行解析.
[global] name resolve order = hosts lmhosts wins bcast
并重新启动samba.这将设置samba以首先使用hosts文件来解析名称.此外,在hosts文件中添加了machine-name.domainname作为别名:
192.168.1.28 machine-name machine-name.domainname
>设置您尝试连接的计算机的NetBIOS名称.
在您尝试连接的计算机上,在smb.conf文件中设置以下内容:
netbios name = MachineName
并重新启动samba.
理想情况下,您希望同时执行这两项操作,但只需将samba设置为使用hosts文件即可.