CIFS mount di fstab berhasil pada IP, gagal pada nama host yang ditulis di / etc / hosts

11

Saya bertanya-tanya mengapa Ubuntu Server 14.04 LTS saya memiliki masalah dalam menyelesaikan nama host dari fstab. Saya mencoba memasang entri berikut:

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

pemasangan gagal dengan kesalahan

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

dan entri Syslog:

Unable to determine destination address.

NAMUN, ini berfungsi seperti pesona jika saya menukar nama host NAS-5h2-20 dengan IP 192.168.1.29 . Namun, untuk alasan portabilitas, saya ingin memetakan mount dengan nama host di dalam fstab.

Isi dari / etc / hosts adalah (di antara baris lain):

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

Nama Host ini tidak terdaftar dengan DNS-Server lokal. Dan itu dimaksudkan agar dalam beberapa kasus dapat menggunakan IP yang berbeda (servercluster / workstation) untuk DNS dan penggunaan internal server, jadi saya tidak bisa mendaftarkannya ke DNS.

Ini juga tidak masalah

ping NAS-5h2-20

.

Jadi saya yakin, ini adalah masalah penyelesaian. Namun, saya tidak tahu, di mana. Saya melihat nsswitch.conf, tidak ada yang istimewa di sana:

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

Dan /etc/resolv.conf juga terlihat 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

Jadi, pertanyaan: - mengapa resolver gagal membaca ATAU mengabaikan file host dalam kasus khusus ini?
- Apakah DNS / MENANG / beberapa metode penyelesaian lainnya hardcoded ke mount.cifs?

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

Jawaban:

8

Secara default, paket samba (cifs) pada beberapa distribusi tidak menggunakan file host untuk menyelesaikan nama. Sebaliknya, ia menggunakan nama NetBIOS untuk menyelesaikan ke IP. Ada dua cara untuk melakukannya:

  • Atur samba untuk menggunakan file host untuk resolusi.

Di file smb.conf Anda, temukan dan modifikasi atau buat baris berikut:

    [global]
    name resolve order =  hosts lmhosts wins bcast

dan mulai kembali samba. Ini akan mengatur samba untuk menggunakan file host terlebih dahulu untuk menyelesaikan nama. Selain itu, ditambahkan machine-name.domainnamesebagai alias di file host Anda:

    192.168.1.28    machine-name    machine-name.domainname
  • Tetapkan nama NetBIOS dari mesin yang Anda coba sambungkan.

Pada mesin yang Anda coba sambungkan untuk mengatur yang berikut di file smb.conf:

    netbios name = MachineName

dan mulai kembali samba.


Idealnya, Anda ingin melakukan kedua hal ini, namun hanya pengaturan samba untuk menggunakan file host harus bekerja.

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

Tiksi
sumber