[Samba] Windows clients connecting to SMB share differently over IP than DNS
Gavin Greenwalt
im.thatoneguy at gmail.com
Thu Apr 1 17:51:53 UTC 2021
>It might help if the OP did two things:
>Upgrade Samba, 4.4.16 is very old and EOL.
>Post their smb.conf, at the moment we have no idea how they are running Samba.
>
>Rowland
Unfortunately I'm locked into 4.4 because that's what Synology is
using in DSM. But my next step will be to spin up a fresh VM of
Ubuntu and compare a clean installation of 4.4.16 to see if Synology
DSM is somehow introducing the slowdown.
smb.conf (sanitized) >
[global]
printcap name=cups
winbind enum groups=yes
include=/var/tmp/nginx/smb.netbios.aliases.conf
password server=3.3.3.100
encrypt passwords=yes
admin users=@DOM\Domain Admins, at DOM\Enterprise Admins
min protocol=SMB2_10
security=ads
local master=no
realm=DOMAIN.COM
syno sync dctime=yes
passdb backend=smbpasswd
ldap timeout=60
printing=cups
max protocol=SMB3
winbind enum users=yes
load printers=yes
workgroup=DOM
smbinfo.conf >
[global]
rpc_server:mdssvc=external
prev domain=DOM
server signing=yes
veto files=
advanced_domain_option=yes
smb2 leases=yes
btrfs clone=no
winbind expand groups=1
register nic=bond1
rpc_daemon:mdssd=fork
enable nt4 enum=no
allow insecure widelinks=no
disable shadow copy=no
smb.share.conf >
[Share]
recycle bin admin only=yes
ftp disable modify=no
ftp disable download=no
write list=nobody,nobody
browseable=yes
mediaindex=no
hide unreadable=no
win share=yes
enable recycle bin=yes
invalid users=nobody,nobody
read list=nobody,nobody
ftp disable list=no
edit synoacl=yes
valid users=nobody,nobody
writeable=yes
guest ok=yes
path=/volume1/Share
skip smb perm=yes
comment="Share Directory"
Gavin
On Thu, Apr 1, 2021 at 9:50 AM Jeremy Allison <jra at samba.org> wrote:
> On Thu, Apr 01, 2021 at 09:44:40AM -0700, Gavin Greenwalt via samba wrote:
> >I have a CIFS share on a samba server ((Version 4.4.16)) joined as a
> member
> >to a Windows 2012 R2 AD domain. If I on a windows 10 machine mount the
> >share over IP address it takes about 14.5 minutes for 21,000 files to
> copy.
> >(which is in of itself slow but I believe due to a lack of official SMB3
> >multichannel support in Samba.) If I mount the share with the DNS name it
> >takes *205* minutes to copy the 21,000 files to copy. More than 10x
> >slower.
> >
> >Connecting to the IP address (e.g. \\1.1.1.1\share) the SMB transaction
> >goes as expected.
> >
> >5153 19.122016 2.2.2.2 1.1.1.1 Create Request File:
> >temp\Folder\1 - Copy (83).txt
> >
> >5154 19.122612 1.1.1.1 2.2.2.2 Create Response File:
> >temp\Folder\1 - Copy (83).txt
> >
> >5155 19.122716 2.2.2.2 1.1.1.1 SetInfo Request
> >FILE_INFO/SMB2_FILE_ENDOFFILE_INFO File: temp\Folder\1 - Copy (83).txt
> >
> >5156 19.122886 1.1.1.1 2.2.2.2 SetInfo Response
> >
> >5157 19.122951 2.2.2.2 1.1.1.1 Write Request Len:8888
> >Off:0 File: temp\Folder\1 - Copy (83).txt
> >
> >5159 19.123135 1.1.1.1 2.2.2.2 Write Response
> >
> >5160 19.123165 2.2.2.2 1.1.1.1 SetInfo Request
> >FILE_INFO/SMB2_FILE_BASIC_INFO File: temp\Folder\1 - Copy (83).txt
> >
> >5161 19.123308 1.1.1.1 2.2.2.2 SetInfo Response
> >
> >5162 19.123338 2.2.2.2 1.1.1.1 GetInfo Request
> >FILE_INFO/SMB2_FILE_NETWORK_OPEN_INFO File: temp\Folder\1 - Copy (83).txt
> >
> >5163 19.123420 1.1.1.1 2.2.2.2 GetInfo Response
> >
> >5164 19.123541 2.2.2.2 1.1.1.1 GetInfo Request
> >FILE_INFO/SMB2_FILE_NETWORK_OPEN_INFO File: temp\Folder\1 - Copy (83).txt
> >
> >5165 19.123616 1.1.1.1 2.2.2.2 GetInfo Response
> >
> >5166 19.123666 2.2.2.2 1.1.1.1 GetInfo Request
> >SEC_INFO/SMB2_SEC_INFO_00 File: temp\Folder\1 - Copy (83).txt
> >
> >5167 19.127104 1.1.1.1 2.2.2.2 GetInfo Response,
> >Error: STATUS_BUFFER_TOO_SMALL
> >
> >5168 19.127171 2.2.2.2 1.1.1.1 GetInfo Request
> >SEC_INFO/SMB2_SEC_INFO_00 File: temp\Folder\1 - Copy (83).txt
> >
> >5169 19.130321 1.1.1.1 2.2.2.2 GetInfo Response
> >
> >5170 19.130584 2.2.2.2 1.1.1.1 Close Request File:
> >temp\Folder\1 - Copy (83).txt
> >
> >5171 19.130800 1.1.1.1 2.2.2.2 Close Response
> >
> >
> >
> >Over DNS (e.g. \\server\share) things screech to a halt and follow a
> >completely different transaction loop involving a tree connect request
> over
> >every single file. This slows things down to about 1 file/second.
> >
> >
> >
> >4365 9.064473 2.2.2.2 1.1.1.1 Session Setup Request
> >
> >4367 9.067749 2.2.2.2 1.1.1.1 Create Request File:
> >temp\Folder\1 - Copy (83).txt
> >
> >4749 10.061721 2.2.2.2 1.1.1.1 Create Request File:
> >temp\Folder
> >
> >4755 10.068555 1.1.1.1 2.2.2.2 Session Setup Response
> >
> >4756 10.068922 2.2.2.2 1.1.1.1 Tree Connect Request
> >Tree: \\Synology\Share
> >
> >4757 10.069262 1.1.1.1 2.2.2.2 Create Response File:
> >temp\Folder\1 - Copy (83).txt
> >
> >4758 10.069483 2.2.2.2 1.1.1.1 SetInfo Request
> >FILE_INFO/SMB2_FILE_ENDOFFILE_INFO File: temp\Folder\1 - Copy (83).txt
> >
> >4759 10.069613 1.1.1.1 2.2.2.2 Create Response File:
> >temp\Folder
> >
> >4760 10.069729 2.2.2.2 1.1.1.1 Find Request File:
> >temp\Folder SMB2_FIND_ID_BOTH_DIRECTORY_INFO Pattern: *;Find Request File:
> >temp\Folder SMB2_FIND_ID_BOTH_DIRECTORY_INFO Pattern: *
> >
> >4762 10.074482 1.1.1.1 2.2.2.2 Tree Connect Response,
> >Error: STATUS_ACCESS_DENIED
> >
> >4763 10.074550 2.2.2.2 1.1.1.1 Session Logoff Request
> >
> >4764 10.074688 1.1.1.1 2.2.2.2 SetInfo Response
> >
> >4765 10.074810 2.2.2.2 1.1.1.1 Write Request Len:8888
> >Off:0 File: temp\Folder\1 - Copy (83).txt
> >
> >4767 10.077222 1.1.1.1 2.2.2.2 Response;Find
> Response,
> >Error: STATUS_NO_MORE_FILES
> >
> >4769 10.077405 1.1.1.1 2.2.2.2 Session Logoff
> Response
> >
> >4770 10.077448 2.2.2.2 1.1.1.1 Close Request File:
> >temp\Folder
> >
> >4771 10.077535 1.1.1.1 2.2.2.2 Write Response
> >
> >4772 10.077630 1.1.1.1 2.2.2.2 Close Response
> >
> >4774 10.077712 2.2.2.2 1.1.1.1 SetInfo Request
> >FILE_INFO/SMB2_FILE_BASIC_INFO File: temp\Folder\1 - Copy (83).txt
> >
> >4775 10.077872 2.2.2.2 1.1.1.1 Create Request File:
> >temp\Folder
> >
> >4776 10.078096 1.1.1.1 2.2.2.2 SetInfo Response
> >
> >4777 10.078166 2.2.2.2 1.1.1.1 GetInfo Request
> >FILE_INFO/SMB2_FILE_NETWORK_OPEN_INFO File: temp\Folder\1 - Copy (83).txt
> >
> >4778 10.078337 1.1.1.1 2.2.2.2 Create Response File:
> >temp\Folder
> >
> >4779 10.078378 1.1.1.1 2.2.2.2 GetInfo Response
> >
> >4781 10.078430 2.2.2.2 1.1.1.1 Close Request File:
> >temp\Folder
> >
> >4782 10.078550 1.1.1.1 2.2.2.2 Close Response
> >
> >4783 10.078648 2.2.2.2 1.1.1.1 GetInfo Request
> >FILE_INFO/SMB2_FILE_NETWORK_OPEN_INFO File: temp\Folder\1 - Copy (83).txt
> >
> >4784 10.078670 2.2.2.2 1.1.1.1 Create Request File:
> >temp
> >
> >4785 10.078748 1.1.1.1 2.2.2.2 GetInfo Response
> >
> >4786 10.078821 2.2.2.2 1.1.1.1 GetInfo Request
> >SEC_INFO/SMB2_SEC_INFO_00 File: temp\Folder\1 - Copy (83).txt
> >
> >4787 10.078897 1.1.1.1 2.2.2.2 Create Response File:
> >temp
> >
> >4788 10.078998 2.2.2.2 1.1.1.1 Close Request File:
> temp
> >
> >4789 10.083060 1.1.1.1 2.2.2.2 GetInfo Response,
> >Error: STATUS_BUFFER_TOO_SMALL
> >
> >4790 10.083148 1.1.1.1 2.2.2.2 Close Response
> >
> >4791 10.083155 2.2.2.2 1.1.1.1 GetInfo Request
> >SEC_INFO/SMB2_SEC_INFO_00 File: temp\Folder\1 - Copy (83).txt
> >
> >4792 10.083252 2.2.2.2 1.1.1.1 Create Request File:
> >
> >4793 10.087615 1.1.1.1 2.2.2.2 GetInfo Response
> >
> >4794 10.087860 1.1.1.1 2.2.2.2 Create Response File:
> >
> >4796 10.087948 2.2.2.2 1.1.1.1 Find Request File:
> >SMB2_FIND_ID_BOTH_DIRECTORY_INFO Pattern: *;Find Request File:
> >SMB2_FIND_ID_BOTH_DIRECTORY_INFO Pattern: *
> >
> >4797 10.088101 2.2.2.2 1.1.1.1 Close Request File:
> >temp\Folder\1 - Copy (83).txt
> >
> >4798 10.089075 1.1.1.1 2.2.2.2 Find Response;Find
> >Response, Error: STATUS_NO_MORE_FILES
> >
> >4800 10.089169 2.2.2.2 1.1.1.1 Close Request File:
> >
> >4801 10.089291 1.1.1.1 2.2.2.2 Close Response
> >
> >4802 10.089375 1.1.1.1 2.2.2.2 Close Response
> >
> >
> >
> >The initial delay seems to be somewhat random. E.g. but consistenly around
> >1second per file for the negotiation.
> >
> >11686 28.24ms 2.2.2.2 1.1.1.1 Session Setup Request
> >
> >11688 28.24ms 2.2.2.2 1.1.1.1 Create Request File:
> >temp\Folder\1 - Copy (114).txt
> >
> >11997 28.74ms 2.2.2.2 1.1.1.1 Create Request File:
> >temp\Folder\Files
> >
> >12079 28.99ms 1.1.1.1 2.2.2.2 Session Setup Response
> >
> >12080 28.99ms 2.2.2.2 1.1.1.1 Tree Connect Request
> >Tree: \\Synology\Share
> >
> >Do windows clients connect to \\path\shares differently from
> >\\ip.ad.d.ress\paths? I’m kind of stuck trying to think of what else to
> >test to make progress on why the server is so much slower on Windows 10
> >clients when mapped over DNS name. Windows reports the smb connection as
> >a 3.1.1 dialect for both \\ip and \\dns.
> >
> >The only intriguing thing I can note is that Windows connects to the \\ip
> >address as domain\user for credentials. However no matter what I do it
> >connects as domain*.com*\user for named server connections (both Windows
> >and Linux\samba). For comparison a Windows 2012R2 file server and a
> >Windows 10 desktop client follow the correct (fast\streamlined) SMB
> >transaction with both DNS and IP Address. So it seems to be limited to
> the
> >Samba share.
>
> That's... really bizarre. The only difference between IP address
> and dns name should be in the auth used. For IP it's going to
> be NTLMv2, for DNS it could be krb5.
>
More information about the samba
mailing list