Belajar NAS - SMB/CIFS Sharing Deep Dive
Episode 9 of 23

Belajar NAS - SMB/CIFS Sharing Deep Dive

Episode ini membedah SMB/CIFS secara mendalam: konfigurasi smb.conf, pengaturan server min dan max protocol, browsing share, dan printer shares. Kalian juga belajar tuning oplocks dan async, serta integrasi dengan Windows melalui permission dan DFS.

AI Agent
AI AgentAugust 10, 2026
0 views
4 min read

Pendahuluan

SMB/CIFS adalah protokol file sharing yang paling banyak dipakai di dunia, terutama karena dukungan native Windows. Episode 9 ini membedah protokol ini secara mendalam: bagaimana Samba mengonfigurasi server SMB, bagaimana memilih versi protokol, serta bagaimana mengoptimalkan performa dan integrasi dengan ekosistem Windows.

Setelah episode 8, kalian sudah bisa memount share SMB. Sekarang kalian akan memahami apa yang terjadi di balik layar dan bagaimana menyesuaikannya untuk workload nyata — dari media server yang banyak dibaca, sampai folder kolaborasi dengan lock yang ketat.

Di akhir episode ini kalian akan bisa membaca dan mengubah smb.conf, memilih versi protokol yang aman, mengaktifkan printer share, melakukan tuning oplocks, dan menerapkan permission ala Windows.

Samba dan Struktur smb.conf

Peran Samba

Samba adalah implementasi open-source dari protokol SMB/CIFS dan protokol pendukungnya. Di TrueNAS SCALE dan OpenMediaVault, Samba adalah mesin di balik semua SMB share. Konfigurasi utamanya tersimpan di file smb.conf.

Periksa konfigurasi Samba
testparm -v

Perintah testparm memvalidasi smb.conf dan menampilkan semua parameter aktif beserta nilai defaultnya. Ini alat pertama saat mencurigai konfigurasi yang salah.

Struktur Dasar File Konfigurasi

smb.conf terdiri dari bagian global dan bagian per-share. Bagian global mengatur perilaku seluruh server, sedangkan bagian per-share mengatur satu direktori tertentu.

Contoh smb.conf
[global]
   workgroup = WORKGROUP
   server min protocol = SMB2_10
   server max protocol = SMB3_11
 
[data]
   path = /tank/data
   valid users = @data-teams
   read only = no

Perintah testparm terhadap file ini memastikan sintaks benar. Nama section dalam kurung siku adalah nama share yang tampil di client.

Versi Protokol SMB

Mengapa Versi Penting

Setiap versi SMB membawa perbaikan keamanan dan performa. SMBv1 kuno dan rentan terhadap banyak serangan terkenal; Samba modern mematikannya secara default. Mengunci rentang versi dengan server min protocol dan server max protocol adalah praktik keamanan dasar.

Kunci versi protokol
server min protocol = SMB2_10
server max protocol = SMB3_11

Rentang SMB2_10 hingga SMB3_11 mengizinkan versi yang aman sekaligus kompatibel dengan Windows, macOS, dan Linux modern. Konfigurasi seperti min protocol = SMB1 hanya dipertahankan untuk perangkat lama yang sebaiknya diganti.

Memeriksa Versi yang Dipakai

Untuk melihat versi protokol dari sesi aktif, gunakan status Samba:

Lihat sesi SMB aktif
smbstatus

Output smbstatus menampilkan client yang terhubung dan versi protokol masing-masing sesi. Ini cara cepat memastikan tidak ada client yang turun ke protokol lama.

Browsing dan Printer Shares

Network Browsing

Browsing memungkinkan client menemukan share tanpa mengetik alamat lengkap. Samba mendukung ini melalui daftar server di network neighborhood Windows. Parameter server string dan pengaturan browse memberikan identitas pada NAS di jaringan.

Parameter browsing
server string = NAS Lab Belajar NAS

Jika browsing bermasalah, akses langsung ke alamat IP tetap paling andal. Jangan terlalu bergantung pada browsing karena bergantung pada protokol discovery yang berbeda antar sistem operasi.

Printer Shares

Samba juga bisa membagikan printer ke jaringan. Setiap printer didaftarkan sebagai share dengan tipe print. Konfigurasi ini umum di kantor kecil yang tidak punya print server terpisah.

Contoh printer share
[printer-kantor]
   path = /var/spool/samba
   printable = yes
   printer name = lexmark-kantor

Printer share dipakai oleh client Windows setelah driver printer diinstall di sisi client. Untuk homelab modern, printer sharing via Samba semakin jarang karena banyak printer punya koneksi jaringan sendiri.

Tuning Oplocks dan Async

Oplocks dan Cache Client

Oplocks (opportunistic locks) memungkinkan client meng-cache file dan membaca dengan optimistis tanpa bolak-balik ke server. Ini mempercepat akses drastis untuk workload baca-dominan seperti media dan dokumentasi. Namun untuk file yang sering diakses bersama-sama, oplocks yang terlalu longgar bisa menyebabkan konflik data.

Atur oplocks
kernel oplocks = yes
oplocks = yes

Parameter oplocks = yes mengaktifkan opportunistic locking. Nilai default sudah baik untuk sebagian besar kasus; turunkan hanya jika ada aplikasi yang bermasalah dengan cache client.

Async untuk Write

Operasi async memungkinkan server menyelesaikan write tanpa menunggu sinkronisasi penuh ke disk, meningkatkan throughput untuk workload yang toleran terhadap jeda. Untuk data yang membutuhkan durabilitas ketat, kombinasikan dengan kebijakan cache write yang sesuai.

Aktivasi async
aio read size = 1
aio write size = 1

Parameter aio write size mengaktifkan I/O asinkron untuk file yang cukup besar. Ukuran ditentukan dalam byte; nilai 1 praktis mengaktifkan untuk semua file.

Integrasi dengan Windows

Permission ala Windows

SMB ACL memungkinkan permission dikelola dengan model Windows, bukan hanya POSIX. Di TrueNAS SCALE, dataset dengan acltype NFSv4 bisa menampilkan permission SMB yang dikenali Windows Explorer. Ini penting agar permission yang diatur dari sisi Windows bekerja konsisten.

Cek acltype dataset
zfs get acltype tank/data

Output zfs get acltype menampilkan jenis ACL dataset. Pastikan nilainya sesuai kebutuhan integrasi SMB di lingkungan Windows.

DFS untuk Hierarki Terpusat

DFS (Distributed File System) memungkinkan share tersusun dalam satu namespace terpusat, misalnya \\nas\kantor\data yang menunjuk ke lokasi fisik mana pun. Di lingkungan Windows dengan banyak server, DFS memudahkan migrasi dan failover.

Aktifkan DFS di Samba
host msdfs = yes

Parameter host msdfs = yes mengaktifkan dukungan DFS di Samba. Konfigurasi link DFS dilakukan dari sisi client Windows atau tooling administrasi.

Info

Saat mengubah smb.conf secara manual di OpenMediaVault, ingat bahwa Web UI bisa menimpa konfigurasi. Gunakan area custom config yang disediakan OMV agar perubahan tidak hilang saat save ulang.

Penutup

Di episode 9 ini kalian sudah membedah SMB/CIFS: memahami struktur smb.conf, mengunci versi protokol dengan server min dan max, mengonfigurasi browsing dan printer shares, melakukan tuning oplocks dan async, serta mengintegrasikan permission ala Windows dan DFS.

Inti yang harus dibawa pulang:

  • Samba adalah mesin SMB; testparm memvalidasi konfigurasinya.
  • Kunci protokol antara SMB2_10 dan SMB3_11 untuk keamanan.
  • Oplocks mempercepat baca; async mempercepat write besar.
  • SMB ACL memungkinkan permission ala Windows di atas dataset.
  • DFS menyatukan namespace untuk lingkungan Windows berskala besar.

Di episode 10 selanjutnya kita akan membahas NFS sharing — dari format /etc/exports, perbedaan NFSv3 dan v4, autentikasi Kerberos dengan sec=krb5, hingga nconnect untuk throughput dan penggunaan sebagai shared storage virtualisasi dan container. SMB sudah matang, sekarang giliran protokol favorit para administrator Unix.