Gostaria de saber por que meu Ubuntu Server 14.04 LTS tem problemas para resolver um nome de host do fstab. Eu tentei montar a seguinte entrada:
//NAS-5h2-20/backuppc/ /mnt/backuppc cifs auto,user=THEUSER,password=THEPASSWORD,cifsacl,uid=109 0 0
a montagem falha com o erro
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
e a entrada Syslog:
Unable to determine destination address.
No entanto, isso funciona como um encanto se eu trocar o nome do host NAS-5h2-20 pelo seu IP 192.168.1.29 . No entanto, por motivos de portabilidade, eu gostaria de mapear a montagem pelo nome do host no fstab.
O conteúdo do / etc / hosts é (entre outras linhas):
192.168.1.28 NAS-5h1-15
192.168.1.29 NAS-5h2-20
192.168.1.30 NAS-6h1-04
Esses nomes de host não são registrados no servidor DNS local. E, em alguns casos, é possível usar IPs diferentes (servercluster / estação de trabalho) para DNS e uso interno do servidor, por isso não posso registrá-los no DNS.
Também não é problema para
ping NAS-5h2-20
.
Portanto, tenho certeza, é um problema de resolução. No entanto, não consigo descobrir onde. Eu olho para nsswitch.conf, nada de especial lá:
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
E /etc/resolv.conf também parece 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
Então, perguntas: - por que o resolvedor falha ao ler OU ignora o arquivo hosts neste caso especial?
- o DNS / WINS / algum outro método de resolução está codificado no mount.cifs?
sudo apt-get install cifs-utils
Respostas:
Por padrão, o pacote samba (cifs) em algumas distribuições não usa o arquivo hosts para resolver o nome. Em vez disso, ele usa o nome NetBIOS para resolver o IP. Existem duas maneiras de fazer isso:
No seu arquivo smb.conf, localize e modifique ou crie a seguinte linha:
e reinicie o samba. Isso definirá o samba para usar o arquivo hosts primeiro para resolver o nome. Além disso, adicionado
machine-name.domainname
como um alias no seu arquivo hosts:Nas máquinas que você está tentando conectar, defina o seguinte no arquivo smb.conf:
e reinicie o samba.
Idealmente, você quer fazer as duas coisas, no entanto, apenas configurar o samba para usar o arquivo hosts deve funcionar.
Referências: https://www.samba.org/samba/docs/using_samba/ch07.html
fonte