无法从 Windows 11 连接到 Samba 共享,已尝试所有方法

无法从 Windows 11 连接到 Samba 共享,已尝试所有方法

我有一台用作服务器的旧 PC。它主要用于提供 Plex 和家庭照片/视频 - 仅连接三个 SATA 驱动器用于存储。该机器运行安装在 SATA A 上的 Ubuntu Server 22.04.2...个人文件位于 SATA B 和 C 上。它没有连接到显示器,因此我使用 PuTTy 从我的 Windows 11 PC 上管理它。

一年多来,一切都运行正常,直到上周,我失去了使用 Win11 机器上的“映射网络驱动器”功能安装 SATA A 或 B 的能力。我开始四处寻找,尝试使用在线论坛和 reddit 帖子进行自我诊断,但我陷入了困境。以下是我所知道的。

/etc/samba/smb.conf文件似乎设置正确。 testparm转储此

user@optiserver990:~$ testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed

Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

# Global parameters
[global]
        auto services = global
        bind interfaces only = Yes
        client max protocol = SMB3
        interfaces = lo eno1
        log file = /var/log/samba/log.%m
        logging = file
        map to guest = Bad User
        max log size = 1000
        obey pam restrictions = Yes
        pam password change = Yes
        panic action = /usr/share/samba/panic-action %d
        passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
        passwd program = /usr/bin/passwd %u
        server role = standalone server
        server string = %h server (Samba, Ubuntu)
        unix password sync = Yes
        usershare allow guests = Yes
        idmap config * : backend = tdb


[printers]
        browseable = No
        comment = All Printers
        create mask = 0700
        path = /var/spool/samba
        printable = Yes


[print$]
        comment = Printer Drivers
        path = /var/lib/samba/printers


[TERADRIVE]
        path = /media/TERADRIVE
        read only = No


[DECATERA]
        path = /media/DECATERA
        read only = No


[HOME]
        comment = user's home directory on Optiserver990
        path = /home/user
        read only = No

我无法连接到任何已定义的“TERADRIVE”、“DECATERA”或“HOME”共享。当我通过 SSH 连接时,我可以使用smbclient列出共享并得到此信息。

user@optiserver990:~$ smbclient -L 10.0.0.5
Password for [WORKGROUP\user]:

        Sharename       Type      Comment
        ---------       ----      -------
        print$          Disk      Printer Drivers
        TERADRIVE       Disk
        DECATERA        Disk
        HOME            Disk      user's home directory on Optiserver990
        IPC$            IPC       IPC Service (optiserver990 server (Samba, Ubuntu))
SMB1 disabled -- no workgroup available

我注意到 SMB1 已禁用 -- 没有可用的工作组,所以我四处寻找,发现网上有很多人说可以通过“启用可选功能”在 Windows 客户端启用 SMB1 协议...但这并没有解决我的问题。其他人说要添加行来/etc/samba/smb.conf设置各种最大和最小 SMB 协议版本。但这也没有解决我的问题。

有一件事我我似乎能够使用它smbclient来连接到共享。现在,这一切都是通过 PuTTy 进入服务器,所以也许我只是将服务器连接到它自己?

无论如何,这就是我得到的,我认为它至少验证了 Samba 已启动并配置正确。

user@optiserver990:~$ smbclient \\\\10.0.0.5\\DECATERA -m SMB3
Password for [WORKGROUP\user]:
Try "help" to get a list of possible commands.
smb: \> dir
  .                                   D        0  Sun Jul  2 10:08:41 2023
  ..                                  D        0  Mon Oct 17 14:16:51 2022
  SABnzbd complete                    D        0  Fri Dec 15 19:54:02 2023
  Movies                              D        0  Fri Nov 17 21:46:43 2023
  TV-Shows                            D        0  Fri Oct  6 21:00:00 2023
  HelloWorld.txt                      A      242  Wed May 17 22:52:05 2023
  lost+found                          D        0  Mon Oct 17 14:24:57 2022
  SABnzbd incomplete                  D        0  Fri Dec 15 19:54:02 2023

                7751273184 blocks of size 1024. 4576001592 blocks available

如果我放弃该-m SMB3选项,或者如果我通过,它也会起作用-m SMB2。我试过了-m SMB1,它说:

警告:忽略参数‘客户端最大协议’的无效值‘SMB1’。

当我通过这种方式连接时,它确实会显示为 Webmin 的 Samba 面板内的活动连接。

令人困惑的是,如果我通过了,smbstatus --shares我什么也得不到。

user@optiserver990:~$ sudo smbstatus --shares
[sudo] password for user:

Service      pid     Machine       Connected at                     Encryption   Signing
---------------------------------------------------------------------------------------------

最后,我尝试从 Ubuntu 客户端进行连接,以隔离问题。它也没有起作用。

ubuntu@ubuntu:~$ smbclient -U user //10.0.0.5/TERADRIVE
Password for [WORKGROUP\user]:
do_connect: Connection to 10.0.0.5 failed (Error NT_STATUS_IO_TIMEOUT)

其余一切都运行良好 - 我可以使用其他机器连接到 Webmin、Sabnzbd 等程序。Plex 正在播放电影。SSH 正在运行。

我只是可以从 Windows 客户端访问已安装的共享。我快要撞墙了!请帮忙

答案1

我也遇到过同样的情况,最后终于解决了。基本上,我必须在 Samba 服务器中强制使用 SMB3 协议:

protocol = SMB3

来源: https://snippets.pichler.network/docs/linux/#sharing-a-folder-with-the-windows-network-protocol

相关内容