我遇到了一个奇怪的问题,希望有人能帮我解决。我有一台较旧的 32 位 Windows Server 2003SP2 服务器,无法访问我们 64 位 Windows Server 2012R2 域控制器上的任何共享。2003 服务器可以正常访问其他 2012R2 服务器上的共享,只有一台服务器有问题。此外,2012R2 服务器可以正常访问 2003 服务器上的共享。2003 服务器上没有防火墙或 AV,但 2012R2 服务器上安装了防火墙和 Symantec Endpoint Protection。其他客户端在访问 2012R2 服务器时没有问题(尽管访问它的其他所有计算机都是 Win10/Win2012R2)。
我检查了两台机器上的事件日志,没有消息。如果我尝试使用 Windows 资源管理器访问共享,我会收到错误“Windows 找不到‘\win2012R2\sharename’。请检查拼写并重试,或者尝试通过单击“开始”按钮然后单击“搜索”来搜索该项目。”如果我尝试从命令行使用 NET USE,我会收到错误“发生了系统错误 64。指定的网络名称不再可用”。我可以从 2003 服务器 ping 2012R2 服务器。DNS 查找也正常工作。
是否有某种我可以查看的 SMB 访问日志?
编辑:
我安装了 Wireshark 并在尝试连接 2003 服务器时记录了以下流量:
No. Time Source Destination Protocol Length Info
6361 79.400489000 2003srvr.domainname.lcl 2012r2srvr.domainname.lcl TCP 62 12575->netbios-ssn [SYN] Seq=0 Win=64240 Len=0 MSS=1460 SACK_PERM=1
Frame 6361: 62 bytes on wire (496 bits), 62 bytes captured (496 bits) on interface 0
Ethernet II, Src: Vmware_9b:7e:e5 (ff:ff:ff:9b:7e:e5), Dst: 192.168.112.6 (ff:ff:ff:9b:08:04)
Internet Protocol Version 4, Src: 2003srvr.domainname.lcl (192.168.112.10), Dst: 2012r2srvr.domainname.lcl (192.168.112.6)
Transmission Control Protocol, Src Port: 12575 (12575), Dst Port: netbios-ssn (139), Seq: 0, Len: 0
No. Time Source Destination Protocol Length Info
6363 79.400812000 2012r2srvr.domainname.lcl 2003srvr.domainname.lcl TCP 62 netbios-ssn->12575 [SYN, ACK] Seq=0 Ack=1 Win=8192 Len=0 MSS=1460 SACK_PERM=1
Frame 6363: 62 bytes on wire (496 bits), 62 bytes captured (496 bits) on interface 0
Ethernet II, Src: 192.168.112.6 (ff:ff:ff:9b:08:04), Dst: Vmware_9b:7e:e5 (ff:ff:ff:9b:7e:e5)
Internet Protocol Version 4, Src: 2012r2srvr.domainname.lcl (192.168.112.6), Dst: 2003srvr.domainname.lcl (192.168.112.10)
Transmission Control Protocol, Src Port: netbios-ssn (139), Dst Port: 12575 (12575), Seq: 0, Ack: 1, Len: 0
No. Time Source Destination Protocol Length Info
6364 79.400822000 2003srvr.domainname.lcl 2012r2srvr.domainname.lcl TCP 54 12575->netbios-ssn [ACK] Seq=1 Ack=1 Win=64240 Len=0
Frame 6364: 54 bytes on wire (432 bits), 54 bytes captured (432 bits) on interface 0
Ethernet II, Src: Vmware_9b:7e:e5 (ff:ff:ff:9b:7e:e5), Dst: 192.168.112.6 (ff:ff:ff:9b:08:04)
Internet Protocol Version 4, Src: 2003srvr.domainname.lcl (192.168.112.10), Dst: 2012r2srvr.domainname.lcl (192.168.112.6)
Transmission Control Protocol, Src Port: 12575 (12575), Dst Port: netbios-ssn (139), Seq: 1, Ack: 1, Len: 0
No. Time Source Destination Protocol Length Info
6366 79.400881000 2003srvr.domainname.lcl 2012r2srvr.domainname.lcl NBSS 126 Session request, to 2012R2SRVR<20> from 2003SRVR<00>
Frame 6366: 126 bytes on wire (1008 bits), 126 bytes captured (1008 bits) on interface 0
Ethernet II, Src: Vmware_9b:7e:e5 (ff:ff:ff:9b:7e:e5), Dst: 192.168.112.6 (ff:ff:ff:9b:08:04)
Internet Protocol Version 4, Src: 2003srvr.domainname.lcl (192.168.112.10), Dst: 2012r2srvr.domainname.lcl (192.168.112.6)
Transmission Control Protocol, Src Port: 12575 (12575), Dst Port: netbios-ssn (139), Seq: 1, Ack: 1, Len: 72
NetBIOS Session Service
No. Time Source Destination Protocol Length Info
6368 79.401133000 2012r2srvr.domainname.lcl 2003srvr.domainname.lcl NBSS 60 Positive session response
Frame 6368: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface 0
Ethernet II, Src: 192.168.112.6 (ff:ff:ff:9b:08:04), Dst: Vmware_9b:7e:e5 (ff:ff:ff:9b:7e:e5)
Internet Protocol Version 4, Src: 2012r2srvr.domainname.lcl (192.168.112.6), Dst: 2003srvr.domainname.lcl (192.168.112.10)
Transmission Control Protocol, Src Port: netbios-ssn (139), Dst Port: 12575 (12575), Seq: 1, Ack: 73, Len: 4
NetBIOS Session Service
No. Time Source Destination Protocol Length Info
6369 79.401226000 2003srvr.domainname.lcl 2012r2srvr.domainname.lcl SMB 191 Negotiate Protocol Request
Frame 6369: 191 bytes on wire (1528 bits), 191 bytes captured (1528 bits) on interface 0
Ethernet II, Src: Vmware_9b:7e:e5 (ff:ff:ff:9b:7e:e5), Dst: 192.168.112.6 (ff:ff:ff:9b:08:04)
Internet Protocol Version 4, Src: 2003srvr.domainname.lcl (192.168.112.10), Dst: 2012r2srvr.domainname.lcl (192.168.112.6)
Transmission Control Protocol, Src Port: 12575 (12575), Dst Port: netbios-ssn (139), Seq: 73, Ack: 5, Len: 137
NetBIOS Session Service
SMB (Server Message Block Protocol)
No. Time Source Destination Protocol Length Info
6371 79.401507000 2012r2srvr.domainname.lcl 2003srvr.domainname.lcl TCP 60 netbios-ssn->12575 [RST, ACK] Seq=5 Ack=210 Win=0 Len=0
Frame 6371: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface 0
Ethernet II, Src: 192.168.112.6 (ff:ff:ff:9b:08:04), Dst: Vmware_9b:7e:e5 (ff:ff:ff:9b:7e:e5)
Internet Protocol Version 4, Src: 2012r2srvr.domainname.lcl (192.168.112.6), Dst: 2003srvr.domainname.lcl (192.168.112.10)
Transmission Control Protocol, Src Port: netbios-ssn (139), Dst Port: 12575 (12575), Seq: 5, Ack: 210, Len: 0
也许对 SMB 有更多了解的人可以提供帮助,但看起来 2003 服务器在尝试协商协议后正在关闭连接。
答案1
这听起来确实像是 SMB 问题。是的,有 SMB 日志记录。您需要在两个文件服务器上的事件查看器中查看并按事件 ID 进行筛选。有五个事件 ID 与 SMB 相关。事件 ID 为 2011 2022 2504 2505 和 2506。
https://technet.microsoft.com/en-us/library/dd364961(v=ws.10).aspx
您应该确保启用了通用版本的 SMB(在您的情况下,您需要启用 SMB1,因为您使用的是 Windows Server 2003 平台)。
您可以通过将值名称 SMB1 或 SMB2 的数值数据设置为“0”(禁用)或“1”(启用)来更改 HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters 中服务器使用的 SMB 版本。
您的 Wireshark 日志似乎表明两台服务器无法协商通用的 SMB 版本。如果这是原因,那么在 2012 服务器上启用 SMB1 应该可以解决问题。
答案2
不能 100% 确定,但问题可能出在组策略中的 NTLM 设置上。您可以修改策略设置以启用 NTLM v1 和 NTLM v2,这样 Win 2003 就可以看到共享。
答案3
我遇到过类似的问题,只不过 Win10 客户端无法访问 Win2003 服务器。我也没有事件日志消息。但是,NET USE \\<servername>\<sharename>
从客户端的管理命令窗口执行会导致出现一条信息性错误消息,指出需要 SMBv1 但不可用。SMB 将自动协商到兼容级别,但 SMBv1 存在安全漏洞,因此在某些 Windows 版本上已被禁用,而在其他版本中不可用。Windows Server 2003 最高只支持 SMBv1,因此如果另一台计算机没有 SMBv1,则连接将失败。共享的访问者(客户端)只需要客户端协议,而主机只需要服务器协议。可以通过控制面板 | 程序和功能 | 打开或关闭 Windows 功能 | SMB 1.0/CIFS 文件共享支持(如果已安装)来启用/禁用它。也可以通过 GPO 启用/禁用它,这可能会覆盖 Windows 功能更改。
我建议只启用必要的功能,并且只在必要的时间内启用。它因某种原因被禁用(例如一些勒索软件攻击)。
答案4
最后,让我们来回答这个问题,看看最后发生了什么。我一直没能让它正常工作,但我们最终在整个企业中禁用了 SMBv1,并在此后不久停用了 2003 服务器。