Linux 客户端与 Windows 共享失去连接但可以与 smbclient 连接

Linux 客户端与 Windows 共享失去连接但可以与 smbclient 连接

我有一台 Linux 计算机,它连接到 Windows 7 桌面上的共享文件夹。当 Windows 计算机进入睡眠状态然后恢复时,共享不再可访问。如果我重新启动 Linux 计算机,Windows 共享将再次可访问。

共享由 systemd 自动挂载单元挂载。Windows 机器进入睡眠状态并恢复后,如果我尝试 cd 到共享的挂载点,我会收到一条"Host is down"消息。

如果我跑smbclient -L xxx.xxx.x.xx -U 用户 -d 256 共享在列表中可见,但最后出现错误:

SPNEGO login failed: The transport connection has been reset.
session setup failed: NT_STATUS_CONNECTION_RESET

为什么当我重新启动 Linux 时共享可以再次访问?

_更新 我正在为自己的问题添加信息。我尝试了 Windows 7 和(更新的)NIC 驱动程序中可以找到的所有电源选项。没有帮助。

我已经更新了 samba。我还尝试了几种不同的挂载方法,包括使用和不使用自动挂载,以及在 fstab 中的挂载命令中添加“noperm”和“_netdev”。我尝试启用 winbind 并将“wins”添加到 nsswitch.conf 文件中。

共享在重启时仍然会挂载,但即使 Windows 主机没有进入睡眠状态,也会在短时间后丢失。如果我卸载并尝试重新挂载共享,则会收到错误"no such file or directory"。但我可以毫无问题地使用 smbclient 连接到共享。

对我来说,所有这些都表明问题至少部分出在 Linux 上,但我仍然希望听到有关可能导致问题的 Windows 设置的任何建议。TIA

答案1

Windows 10 在睡眠期间会断开网络,但这个问题可以修复。

步骤 1:将“待机状态下的网络连接”添加到电源选项

  • 运行 regedit
  • 位置到键 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\F15576E8-98B7-4186-B944-EAFA664402D9
  • 双击该Attributes项目
  • 将其值更改为2
  • 单击“确定”。

步骤 1:睡眠模式下保持网络连接活跃(使用电池并插入电源)

  • 跑步开始 > 电源选项
  • 点击您的电源计划的“更改计划设置”
  • 点击“更改高级电源设置”
  • 在您的电源计划下,您应该会看到一个名为“待机网络连接”的分支,因此展开它
  • 对“使用电池”和“插入电源”都选择“启用”
  • 单击“确定”。

可能需要重新启动。


另一种方法是通过本地组策略编辑器:

  • 运行策略编辑器 ( gpedit.msc)
  • 定位至 计算机配置 > 管理模板 > 系统 > 电源管理 > 睡眠设置
  • 双击并设置为启用两个设置:“允许在连接待机期间进行网络连接(使用电池)”和“允许在连接待机期间进行网络连接(插入电源)”。

可能需要重新启动。

更多信息请参阅文章 防止 Windows 10 在睡眠期间断开网络

相关内容