Table of Contents

Ubuntu - Samba - SMB Protocol Versions

According to the Samba Official Wiki the Linux cifs kernel client has been included in the kernel since kernel version 2.5.42.

SMB3 is the now the default dialect (SMB3.02/SMB3/SMB2.1 dialects are requested by default).

CIFS protocol (and other old dialects) can be selected (by specifying “vers=1.0” or “vers=2.02” in the mount options.

vers=3.11SMB3_11Latest, more secure version. SMB3.11 can also be requested (vers=3.1.1). By default SMB3 selects the SMB3_11 variant.
vers=3.10SMB3_10Early Windows 10 technical preview.
vers=3.02SMB3_02Windows 8.1
vers=3.0SMB3Windows 8, Windows Server 2012. Mostly the same as SMB2_24
vers=2.24SMB2_24Windows 8 beta SMB2 version.
vers=2.22SMB2_22Early Windows 8 SMB2 version.
vers=2.1SMB2_10Windows 7, Windows Server 2008 R2. The default is SMB2 is selected.
vers=2.0SMB2_02Vista SP1, Windows Server 2008
vers=1.0SMB1NT1 i.e. Windows 95, NT 4.0

Specify with “vers=” and consider that the Linux kernel does not fully support all of the features in these new SMB versions. The newest, most secure dialect, SMB3.11 can also be requested (vers=3.1.1).


Add the following lines to /etc/samba/smb.conf

TODO: Some of these may not work - so try different combinations. PETER=FIX this

/etc/samba/smb.conf
server min protocol = SMB2
server max protocol = SMB3
client min protocol = SMB2
client max protocol = SMB3
min protocol = SMB2
max protocol = SMB3
protocol = SMB2
client ipc min protocol = SMB2

Configuration to enable SMBv2

Edit smb.conf file:

Find the [global] section and append the following line:

/etc/samba/smb.conf
...
[global]
...
  min protocol = SMB2
...

The following gives best options:

   client min protocol = SMB2
   client max protocol = SMB3

Also this works well:

server min protocol = SMB2_10
client max protocol = SMB3
client min protocol = SMB2_10

Errors

Server:

min protocol = SMB2

Client:

smbclient -U=username -Ncommand=”dir Directory/*//192.168.0.1/Directory

Error:

protocol negotiation failed: NT_STATUS_INVALID_NETWORK_RESPONSE

Try to Use:

protocol = SMB2