GNU/Linux >> Belajar Linux >  >> Debian

Debian – Cifs Secara Acak Kehilangan Koneksi Ke Windows Bagikan?

Saya memiliki beberapa direktori yang dipasang dari jarak jauh dari Debian Jessie, di Windows share, selama beberapa bulan.

Dalam beberapa minggu terakhir, saya terus mengalami keluhan terputusnya koneksi secara acak dari mountpoint, dan harus melakukan

sudo mount -a

untuk mendapatkan kembali konektivitas mount, beberapa kali (server digunakan sekali atau dua kali seminggu).

misalnya tunggangan tidak sering pulih setelah beberapa waktu tanpa digunakan.

Administrator Windows juga memberi tahu saya bahwa server Windows belum di-boot ulang untuk sementara waktu.

Hari ini, kebetulan saat melakukan mount -a sekali lagi, ini hanya berhasil pada percobaan ke-2, sedangkan percobaan pertama memberikan kesalahan berikut:

sudo mount -a
mount error(104): Connection reset by peer
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
mount error(112): Host is down
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Direktori dipasang dari /etc/fstab seperti:

//10.2.1.2/XX/ZZ/YY /mnt/mount_point cifs credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0770,dir_mode=0770,uid=1001,gid=1001 0 0

Saat melakukan perintah mount, Anda juga dapat melihat opsi echo_interval diaktifkan secara default pada 60 menit.

$mount
//10.2.1.2/XX/ZZ/YY on /mnt/mount_point type cifs (rw,relatime,vers=1.0,cache=strict,username=someusername,domain=XXX,uid=1001,forceuid,gid=1001,forcegid,addr=10.2.1.2,file_mode=0770,dir_mode=0770,nounix,serverino,mapposix,rsize=61440,wsize=65536,echo_interval=60,actimeo=1)

Apa yang harus dilakukan?

Jawaban yang Diterima:

Saya menemukan posting terkait yang menarik di sini folder yang dipasang cifs terus terputus (server ubuntu), berbicara tentang masalah yang sama (kesalahan yang sama, Samba berbagi).

Berita gembira yang relevan di sini, untuk mengikuti sisa jawaban, adalah bahwa pemasangan CIFS menggunakan protokol SMBv1.0 secara default, seperti yang dapat diverifikasi dengan mengeluarkan mount perintah, dan perhatikan vers=1.0 lapangan.

$mount
//10.2.1.2/XX/ZZ/YY on /mnt/mount_point type cifs (rw,relatime,vers=1.0,cache=strict,username=someusername,domain=XXX,uid=1001,forceuid,gid=1001,forcegid,addr=10.2.1.2,file_mode=0770,dir_mode=0770,nounix,serverino,mapposix,rsize=61440,wsize=65536,echo_interval=60,actimeo=1)

Saya juga menemukan di Stack Overflow, posting Mount CIFS Host sedang down

Ini bisa juga karena ketidakcocokan protokol. Pada tahun 2017 Microsoft
menambal Server Windows dan menyarankan untuk menonaktifkan protokol SMB1.

Mulai sekarang, mount.cifs mungkin memiliki masalah dengan negosiasi protokol.

Kesalahan yang ditampilkan adalah "Host sedang down." tetapi ketika Anda melakukan debug dengan:

smbclient -L <server_ip> -U <username> -d 256

Anda akan mendapatkan kesalahan:

protocol negotiation failed: NT_STATUS_CONNECTION_RESET

Posting tersebut menyebutkan bahwa patch Windows ke protokol/Wannacry dan lainnya, mengacaukan/atau lebih tepatnya, beberapa orang menonaktifkan fungsionalitas permintaan CIFS v1; masalah serupa telah terjadi di bagian depan Windows, dan, mengingat waktunya, itu membuat saya curiga masalahnya pasti terkait.

Kami belum menonaktifkan CIFS v1 di server khusus ini, AFAIK (dan pengujian mengonfirmasi hal ini), namun buletin MS menyarankan perilaku SMBv1 default (sedikit) berubah.

Saya akhirnya mengikuti ide umum yang disarankan dalam pertanyaan Samba yang disebutkan. Dari man mounts.cifs :

vers=

    Versi protokol UKM. Nilai yang diizinkan adalah:

    • 1.0 – Protokol CIFS/SMBv1 klasik. Ini adalah default.

    • 2.0 – Protokol SMBv2.002. Ini awalnya diperkenalkan di Windows Vista Service Pack 1, dan Windows Server 2008. Perhatikan bahwa
      versi rilis awal Windows Vista menggunakan dialek yang sedikit berbeda (2.000) yang tidak didukung.

    • 2.1 – Protokol SMBv2.1 yang diperkenalkan di Microsoft Windows 7 dan Windows Server 2008R2.

    • 3.0 – Protokol SMBv3.0 yang diperkenalkan di Microsoft Windows 8 dan Windows Server 2012.

    Perhatikan juga bahwa meskipun opsi ini mengatur versi protokol yang digunakan, tidak semua fitur dari setiap versi tersedia.

--verbose

    Cetak informasi debug tambahan untuk mount. Perhatikan bahwa parameter ini harus ditentukan sebelum -o . Misalnya:

 mount -t cifs //server/share /mnt --verbose -o user=username

Seperti yang terlihat pada manual, dalam versi Windows terbaru setelah Windows 8
menggunakan setidaknya vers=2.0 mungkin lebih masuk akal; sintaks alternatif di
baris perintah dengan --verbose opsi yang disebutkan juga
berguna untuk men-debug lebih lanjut setiap komplikasi yang mungkin timbul.

Dengan demikian, karena server Windows tempat saya memasang barang dari pertanyaan ini adalah server Windows 2008 R2, saya memasukkan /etc/fstab :

//10.2.1.2/XX/ZZ/YY /mnt/mount_point cifs credentials=/root/.smbcredentials,iocharset=utf8,file_mode=0770,dir_mode=0770,uid=1001,gid=1001,vers=2.1 0 0

Kemudian pasang kembali agar opsi diterapkan:

sudo mount -o remount /mnt/mount_point

Sekarang kami memverifikasi, dengan mount sekali lagi, untuk mengonfirmasi protokol yang dinegosiasikan:

Terkait:cara memasang Windows Explorer untuk menggunakan tampilan Detail sebagai default?

$mount
//10.2.1.2/XX/ZZ/YY on /mnt/mount_point type cifs (rw,relatime,vers=2.1,cache=strict,username=someusername,domain=XXX,uid=1001,forceuid,gid=1001,forcegid,addr=10.2.1.2,file_mode=0770,dir_mode=0770,nounix,serverino,mapposix,rsize=61440,wsize=65536,echo_interval=60,actimeo=1)

Dan kami memang dapat mengonfirmasi bahwa kami berhasil memodifikasi protokol SMB yang digunakan.

Perlu juga dicatat CIFS v1.0, selain usang, sangat tidak efisien dan tidak aman, dibandingkan dengan versi protokol yang lebih baru.

Dari blog MS – Berhenti menggunakan SMB1

SMB1 tidak modern atau efisien
Saat Anda menggunakan SMB1, Anda kehilangan
kinerja utama dan pengoptimalan produktivitas untuk pengguna akhir.

  • Baca dan tulis yang lebih besar (2,02+) – penggunaan jaringan yang lebih cepat dengan lebih efisien
    atau WAN dengan latensi lebih tinggi. Dukungan MTU yang besar.
  • Peer caching folder dan
    properti file (2.02+) – klien menyimpan salinan lokal folder dan
    file melalui BranchCache
  • Pegangan yang tahan lama (2.02, 2.1) – memungkinkan
    koneksi terhubung kembali secara transparan ke server jika ada
    pemutusan sementara
  • Model leasing oplock klien (2.02+) – membatasi
    data yang ditransfer antara klien dan server, meningkatkan
    kinerja pada jaringan latensi tinggi dan meningkatkan skalabilitas server SMB
  • Multichannel &SMB Direct (3.0+) – agregasi jaringan
    bandwidth dan toleransi kesalahan jika beberapa jalur tersedia antara
    klien dan server, ditambah penggunaan ultra-tinggi modern di seluruh RDMA
    infrastruktur
  • Directory Leasing (3.0+) – Meningkatkan waktu respons
    aplikasi di kantor cabang melalui caching

Cukup menarik, artikel terakhir ini menyarankan masalah pemutusan cenderung muncul setelah pemutusan (pegangan tahan lama) jika menggunakan protokol>=2.01, jadi saya akan menekankan lagi, untuk tidak terus menggunakan CIFS v1.0. (mis., saat berada di 1.0, echo_interval=60 tetap terhubung, jika ada gangguan jaringan, atau gangguan server lainnya, mount tidak akan pulih sendiri tanpa intervensi manual, saat menggunakan CIFS v1.0)

Sebagai saran terakhir, hindari melakukan sudo mount -a , dan mulai lakukan:

sudo mount -o remount -a

Lihat pertanyaan saya juga CIFS memasang banyak salinan dari bagian yang sama pada titik pemasangan yang sama


Debian
  1. Debian – Mengapa Cifs Share Menampilkan File Yang Sama Beberapa Kali?

  2. Pasang share SMB/CIFS di dalam container Docker

  3. Pasang saham Samba menggunakan tiket Kerberos

  1. Cara Memasang Windows Share Jarak Jauh di Linux

  2. Cara Memasang Samba Share di Ubuntu dan Debian

  3. mount error(13):Izin ditolak dengan windows share

  1. CIFS Share Filesystem Tidak Dipasang setelah Reboot di CentOS/RHEL 7

  2. pasang share windows jarak jauh dari centos

  3. Memasang share windows di Subsistem Windows untuk Linux