0

我们有一个为我们托管(专用)的 Win Server 2008 盒子。
我需要从我们局域网中的服务器连接到其中一个数据库。

一开始是“当然,我会尽快为你把它放在一起”的项目已经变成了长达一周的扯头发的 WTF :)

我能够在没有失败或问题的情况下 RDP 进入该服务器。
当我尝试连接到数据库时,我得到了一个通用的“无法连接”错误,所以我去寻找。
Telnet 尝试和 ping 超时。

从那时起,我们尝试了无数种防火墙设置(包括全开),但仍然......不行。
除了我们的防火墙外,托管服务提供商还有一个防火墙层。

我们打开了所有日志记录,我们甚至没有在我们的 FW 上看到任何连接尝试。
然后我们让托管服务提供商打开所有日志记录,他们也看不到任何连接尝试!

嗯哼

我完全不知所措。
有什么建议么?

顺便说一句,虽然我对所有这些探索和做出改变感到很舒服,但我在防火墙和其他东西方面的​​经验相当有限,所以不要犹豫,让它变得愚蠢;)

4

2 回答 2

2

这个问题很难只给出一个答案,因为问题分析的中期结果会导致您接下来需要执行的不同步骤。这更有可能是一步一步地帮助追查问题。

不要相信任何防火墙设置(特别是不要相信其他人做过的任何事情,尤其是如果你不认识他,不要相信),除非你测试过。防火墙设置很棘手,即使是经验丰富的专业人员也会时不时地弄错。

在下面的指南中,我将编写<win2008server>命令,您必须在其中输入要连接的 Windows 2008 服务器的名称或 IP。另一方面,当我指的是您在办公室中的工作站 PC 时,我将使用“办公室 PC”这一表达方式,您正试图从那里连接到 win2008server。

第 1 步:检查端点

1.) 你能远程登录到 RDP 端口吗?

在您的办公室 PC 上,在命令提示符下尝试此操作:

telnet <win2008server> 3389

这是为了确保 DNS 名称解析适用于 telnet,以及网络硬件和路由。应该的,因为你可以使用 RDP 来建立这个连接。但是,任何事情都可能介于两者之间,例如 telnet 命令以任何方式配置为非标准或因任何原因在公司 PC 上被替换(系统管理员有时会有奇怪的想法......)。

2.) 你能在win2008server上本地telnet到数据库吗?

在win2008服务器上使用RDP登录时,在服务器上打开命令提示符,发出命令

telnet <win2008server> <database port>

这意味着您正在尝试从服务器连接到自身。这是为了确保在服务器上打开数据库端口。

第 2 步:检查端点的防火墙

如果对于 1.) 和 2.),您的答案是肯定的,它可以工作,您必须测试是否无法到达远程端或您的位置是否无法连接到您正在测试的端口(数据库端口)上的互联网。为此,您可以将相应的另一端替换为 Internet 上您知道它可以访问或可以访问其他服务器的任何其他主机。通常,您在谷歌上搜索端口检查器;)

3.) 检查是否可以从其他位置访问 win2008server:

3.1.) 检查是否可以从第三方位置访问win2008server的RDP端口:

谷歌端口检查器并获取第一个结果(例如http://www.yougetsignal.com/tools/open-ports/)。输入 win2008server 的名称或 IP 地址和 RDP 端口,通常为 3389 。单击“检查”并等待成功或超时。

3.2.) 检查是否可以从第三方位置访问win2008server的数据库端口:

执行与 3.1 相同的操作。),只是使用数据库端口而不是 RDP 端口。

4.) 检查是否可以在数据库端口上连接到外部服务器:

为此,您需要知道一台服务器或创建一台服务器,该服务器位于 Internet 外部某处,并且侦听数据库端口。您通常通过让您的私人 PC 在家中运行并通过 RDP 或 SSH 访问来做到这一点,然后您打开服务器并配置您的私人互联网路由器以正确转发连接。

进行此测试的另一种方法是使用 SSH 访问的 webspace。如今,许多网络空间提供商都允许使用 SSH 登录(通常是每月 4 美元及以上的任何网络空间)。

假设您可以通过 SSH 访问任何此类第三方位置。您可以使用 nc (netcat) 使用以下命令在数据库端口上打开服务器套接字:

nc -l <database port>

如果它是您家中的私人 PC,您通常还必须配置您的私人路由器并为您的互联网访问设置一个动态 DNS 名称,以便整个故事得以解决。对于基于网络空间的 SSH 登录,您没有这项额外的工作。但是,您无法测试低于 1024 的端口,因为您没有权限。祝你好运;)

得到这个之后,尝试连接到你打开的端口:

4.1.) 从您的办公室 PC 使用

telnet <third party location> <database port>

4.2.) 如果 4.1.) 不起作用,还请尝试使用端口检查器,因为您可能在设置服务器时遇到了问题。看 3.) ,并使用<third party location>and<database port>和端口检查器(第四方检查)。

第 3 步:责备 ;)

至少其中一件事现在应该失败了,你可以开始打电话给人们,让他们知道你的测试和结果。你应该能够在逻辑上组合结果,但永远不要从那开始。考虑如何传达信息。从你的发现开始,然后让他们有时间得出自己的结论。很难告诉其他公司或部门的某人他们的防火墙配置不正确。即使有证据,他们也可能否认这一点。要有耐心。再次解释你的发现。提示结论。这可能是整个问题解决方案中最棘手的部分。

于 2013-10-21T22:55:48.580 回答
0

我不得不说,今天我遇到了同样的问题。

我的解决方案只是编辑 secpol.msc 并禁用所有 FW 配置文件;然后,运行 services.msc 并禁用 Windows 防火墙服务。

在这台服务器对我来说是可ping通的。

于 2014-12-04T19:49:40.187 回答