【问题标题】:Able to RDP into remote server, but not able to ping or telnet能够 RDP 进入远程服务器,但不能 ping 或 telnet
【发布时间】:2016-03-03 18:02:31
【问题描述】:

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

最初的“当然,我会尽快为你整理”项目已经变成了长达一周的 WTF 项目:)

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

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

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

嗯哼

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

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

【问题讨论】:

    标签: windows-server-2008 firewall


    【解决方案1】:

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

    不要相信任何防火墙设置(尤其不要相信其他人所做的任何设置,尤其是如果您不认识他,则不要相信),除非您对其进行了测试。防火墙设置很棘手,即使是经验丰富的专业人员也会时不时地弄错。

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

    第 1 步:检查端点

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

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

    telnet <win2008server> 3389
    

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

    2.) 你可以在win2008server上本地远程登录到数据库吗?

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

    telnet <win2008server> <database port>
    

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

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

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

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

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

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

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

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

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

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

    进行此测试的另一种方法是使用 SSH 访问的网络空间。现在许多网络空间提供商都允许 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.) 并使用 &lt;third party location&gt;&lt;database port&gt; 和端口检查器(第四方检查)。

    第 3 步: 责备 ;)

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

    【讨论】:

    • 我已经部分完成了,只是想暂停一下说声谢谢 :) -- 我会回复任何问题或最终结果。 (顺便说一句,第 1 步和第 2 步都可以)
    • 我很好奇这个案子最后发生了什么。有消息吗?
    【解决方案2】:

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

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

    在我可以 ping 此服务器之后。

    【讨论】:

      猜你喜欢
      • 2018-09-17
      • 2013-11-10
      • 2013-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-06
      • 1970-01-01
      • 2013-05-13
      相关资源
      最近更新 更多