我被要求查看一位家人朋友的 Win2k3 服务器 - 远程桌面不再工作,他们正在试图找出原因。该服务器运行的是 Win2k3 SP2。
我确定许可证服务存在一些问题(事件 ID 19,请参阅http://support.microsoft.com/kb/2021885了解详情) - 通过安装修补程序已修复此问题(http://support.microsoft.com/kb/983385) 并重新激活许可证,因此错误不再出现。但是,来自互联网的 RDP 连接仍然失败。
所连接的网络硬件是连接到 SonicWALL TZ170 设备的 DSL 调制解调器,并且连接到 24 端口交换机,该交换机为 1 个 PC 和 10 或 11 个瘦客户端 (Neoware) 提供有线访问。
回顾一下所查看的内容:
1. 端口 3389 正在服务器上监听(netstat -a -o 显示 ms-wbt-server 正在监听 3389)
2. Portqry(来自远程 Win7 系统)显示 3389 TCP 正在监听,但 3389 UDP 正在监听或被过滤(UDP 仅确定音频,不是吗?)
3. 我能够从远程 Win7 系统 telnet 到系统,到端口 3389 上的主机名/IP 并连接良好。4
. RDP 可在本地工作(例如,将笔记本电脑插入本地 LAN,mstsc 可以很好地连接到服务器,笔记本电脑具有内部 192.168.0.x 地址)5.
使用 nmap 在远程系统上进行端口扫描显示 3389 已打开。
6. 我没有注意到 Win2k3 系统上有防病毒软件(不确定它是否在 SonicWALL 设备上运行,尽管我无法检查,因为他们忘记了管理员密码,而且我真的不想对其进行恢复出厂设置)。Win2k3 服务器上的本地 Windows 防火墙未启用。
远程连接服务器会收到以下消息:
This computer can't connect to the remote computer.
Try connecting again. If the problem continues, contact the owner of the remote
computer or your network administrator.
但是,Win2k3 服务器在 Windows Update 上的修复/补丁方面表现很好 - 但是为什么在许可证问题出现之前这会导致问题,而这却一直有效,这让我无法理解...因为系统从未进行过完整备份(只是用户数据的备份),我在运行修补程序之前制作了驱动器的映像(以防万一)。
有什么建议吗?我已经做了我能想到的所有与许可、端口等相关的工作。由于它在本地工作但不在互联网上工作,我唯一能想到的就是 Sonicwall 在做一些事情(尽管端口转发似乎对 win2k3 服务器的内部 IP 工作正常,因为它可以将服务视为正在监听)。
我已经筋疲力尽了(并且忍耐力也到了极限)。
谢谢。
编辑:
我此刻不再在远程站点,因此无法使用 Wireshark 检查 - 但是,使用 Wireshark 远程检查显示服务器确实响应(SYN/ACK 已完成)但连接似乎没有建立。
正如你所看到的,我不太熟悉 Win2k3;我主要是一个 UNIX 人。/笑
端口 443 也在 SonicWALL 上打开,所以我想知道是否正在使用 TS 网关。
修改 RDP 设置以使用 RD 网关(RD/TS,随便什么!)确实会导致 Sonicwall 出现证书错误 - 导出该证书并将其导入根证书有效,但尝试重新连接时显示名称(即 CN)不匹配 - 这是有道理的,因为我连接的 FQDN 与证书名称不匹配(我从 Sonicwall 收到的证书显示 Sonicwall 192.168.0.1 的内部 IP,但不是全名)。
对!现在更困惑了。/笑
答案1
发现问题:
尽管“netstat -a”确实显示终端服务正在监听,但它显示的是名称而不是端口(即,它显示的是 ms-wbt-server,而不是端口 3389)。我使用 Wireshark/等工具验证了传到服务器的信息是通过网络传输的(确实如此 - 我会评价上述两个建议,但我还没有得到它的代表!)。
事实证明有人将服务器上的 RDP 设置为在非标准端口上运行。
包含此内容的注册表项是:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\终端服务器\WinStations\RDP-Tcp
我将其改回 3389(十进制)并保存,然后重新启动服务器。
此后终端服务就可以正常工作了。
请注意,我之前对端口 443/TS 网关的考虑并不适用,因为 TS Gateways/443 仅用于 Windows Server 2008(根据 MS Technet)。
答案2
您可能想要在 Windows 2003 服务器上使用 NetMon 或 Wireshark 来验证远程系统连接是否确实连接到 3389 上的服务器。
答案3
“我能够从远程 Win7 系统 telnet 到系统,连接到端口 3389 上的主机名/IP,并能正常连接”
比较“通过互联网”和“本地网络”之间的 telnet 连接标语,看它们是否匹配。
- 如果没有,那么就开始从该网络向互联网迈进。
- 如果它们匹配,那么可能是系统配置/互操作性问题。