无法从 Windows 10 连接到 Linux Samba 共享

无法从 Windows 10 连接到 Linux Samba 共享

我在 Ubuntu 14.04 上运行了一个 Samba 服务器版本 4.1.11。我无法从 Windows 10 连接(但可以从 Windows 7 连接)。

服务器和客户端不在同一个局域网上。

Windows 给出的错误消息是服务器在线但没有响应。但是 Samba 日志却显示并非如此。

我已附加 Windows 10 中连接失败的日志以及 Windows 7 中连接成功尝试的日志(用于比较)。

简而言之,与成功的尝试不同,失败的尝试始于:

switch message SMBnegprot (pid 2855) conn 0x0

然后它会在选择之前请求多个不同的协议SMB2_FF。然后,经过一些安全协商后,它会切换到协议SMB 2.???,然后SMB3_00是:

Server exit (NT_STATUS_END_OF_FILE).

成功的尝试SMB2_10从一开始就选择了协议,但 Windows 10 甚至没有请求该协议。

以下是日志:

尝试失败(来自 Windows 10)
http://pastebin.com/M0xmBuY3

成功尝试(来自 Windows 7)
http://pastebin.com/jF8VzaiA

我已在评论中添加了我的 smb.conf 文件(不能有超过 2 个声誉低于 10 的链接)

答案1

这解决了我的问题:

Windows 10 将尝试协商 SMB3_11,而 Samba4 尚不支持该协议(
当前的 4.3 候选版本除外)。我认为,目前
在 Windows 10 客户端上禁用 SMB2/3 是最佳选择(即使不是最理想的选择)。

操作说明可以
在这里找到:https://support.microsoft.com/en-us/kb/2696547

https://lists.samba.org/archive/samba/2015-September/193886.html

进一步阅读:

答案2

问题:Windows 在最新的 Windows 操作系统上删除了 SMB v1 协议,Linux 尝试使用 v1 协议连接,而 Windows/Linux 无法尝试协议 2、3 等。

解决方案:编辑linux(ubuntu)Samba conf文件:

sudo nano /etc/samba/smb.conf

在 [GLOBAL] 部分添加:

客户端最小协议 = SMB2

客户端最大协议 = SMB3

然后保存文件并重新启动 samba

就我而言,我还必须明确输入密码或我的 Samba 用户,但我认为这是我的特定系统问题。

答案3

我认为我有一个适用于 Windows 7 - 10 和 Server 2012 的解决方案

就我而言,注释掉“smb ports 139”行有帮助。

我正在使用 FreeBSD 10 和 Samba 4.4.5

这是我的 SMB4.conf 的副本。希望它能对某些人有所帮助。

[global]
    netbios name = SERV
    server string = FreeBSD Samba Server
    security = ADS
    workgroup = FFTPJ
    realm = fftpj.local

    log file = /var/log/samba4/%m.log
    log level = 1

    # Default idmap config used for BUILTIN and local windows accounts/groups
    idmap config *:backend = tdb
    idmap config *:range = 2000-9999

    # idmap config for domain FFTPJ
    idmap config DOMAIN:backend = rid
    idmap config DOMAIN:range = 10000-99999

    # Use template settings for login shell and home directory
    winbind nss info = template
    winbind enum users = Yes
    winbind enum groups = Yes
    winbind use default domain = yes

    client use spnego = yes
    client ntlmv2 auth = yes

    encrypt passwords = yes
    restrict anonymous = 2

    valid users = @"Domain Users

    # **** When smb ports is Set Windows 10 clients cannot connect
    #smb ports = 139

    load printers = No
    disable spoolss = Yes
    local master = No
    hide dot files = No
    wide links = No
    store dos attributes = yes

    vfs objects = acl_xattr
    map acl inherit = yes

[images]
    comment = Images Drive
    path = /images
    read only = No

[backups]
    comment = Backup Drive
    path = /data/backup
    read only = No

答案4

我发现这可行,无需编辑注册表或禁用 SMB 2/3 服务,我就可以连接到使用 Samba-4.2.10-Debian 的 raspi 3,通过手动输入地址以及在 Windows 10 上的文件资源管理器的地址栏中输入 raspi 的 smb.conf 文件中设置的 netbios 名称。

我单击了网络选项卡,但是我找不到我的 samba 共享,即使网络共享已启用,但在输入 //192.168.0.22(我的 pi 的地址)或 //SAMBA(我在 smb.conf 中设置的 netbios 名称)后,我就可以连接我的 samba 共享。

当时我的 Windows 10 仍然无法连接到 SMB 4.x,但这似乎可以解决这个问题。之后只需映射驱动器,您不再需要手动输入地址。

Win 10 版本 - 10.0.14393 Build 14393(包含最新更新)

希望这对将来的其他人有所帮助。

//桑巴 //192.168.0.22

相关内容