ISA Server 出现 TermService 1036 导致无法远程桌面
一台 ISA Server 2006 with SP1 标准版,每次停电重新启动后会导致不论从内部还是外部均无法远程桌面到该服务器上故障。一直找不到原因,困扰已久!唯一的解决办法就是删除访问策略重新添加,便可以恢复正常,甚是诡异!
这次再次发生这个故障,不过总算是找到了线索,留意到一个事件日志,如下图所示:
来源:TermServcice,事件ID:1036,描述:终端服务器会话创建失败。相关的状态代码为 0x2740。阅读了KB555382,该KB地址是:http://support.microsoft.com/kb/555382
了解到应该是 RDP 协议未能正确绑定网卡而导致的。根据 KB 对注册表进行了检查,发现并为有异常。那么问题出在了哪里呢?!
首先重新审查 ISA Server 的配置及规则策略。该 ISA Server 外部绑定有 3 个公网 IP,内部共有3块网卡,有2块物理网卡连接两个子网,一块 Microsoft Loopback 网卡用于虚拟机网络。为了方便管理,在其中一个公网 IP 上发布了局域网中一台服务器的 RDP 服务,另外两个发布了本机的其中一个内网网卡IP上。
OK,根据前面KB中所描述的信息,分析本案例发现,ISA Server 上的 RDP 绑定了所有网卡,也就是说在 Remote Desktop 启动后会对这些网卡上的 IP 进行侦听,假设我们创建了访问规则允许内部或外部访问 ISA Server 的 3389 或者创建了一个完全访问 ISA Server 规则,那么这条访问规则是正确的,ISA Server 开启了对本机 3389 的访问。
但是,让我创建了一个发布规则,就意味着我需要在外部或某个接口上创建侦听,通俗讲就是在指定接口上创建了一个仿真服务用于接收用户请求,然后转向到指定要发布的服务器上。
现在,真相大白了!原来是在 ISA Server 上创建的 RDP 发布规则与本机 RDP 协议冲突,从而导致重新启动后,RDP 启动失败。
因为本案例中涉及发布 RDP ,那么正确的配置可以是这样的。配置 RDP 协议只侦听内部的一块网卡,然后创建侦听来自外部的 RDP 请求即可!
问题很简单,但是一直没有注意到,可能也是因为创建的发布规则并没有收到 ISA Server 的警告。不过,自己做深刻检讨!主要的原因还是在自己……
ISA本机上的RDP服务运行了,还有必要发布内部的某台服务器的RDP服务吗?当然,我认为没有必要的前提是内部你要发布的服务器和ISA均有你来管理。如果这样的话,还是不要发布了吧,直接通过远程登录ISA然后跳到内部不是更好?毕竟那样多侦听一个端口呀。