为什么我无法通过 SSH 隧道连接到远程 Microsoft SQL Server?

为什么我无法通过 SSH 隧道连接到远程 Microsoft SQL Server?

我家里有一台 D-Link DIR-615 C1 路由器,DD-WRT。我在路由器上设置了 SSH 服务器,并通过受 SSH2-RSA 密码保护的密钥登录。该路由器是本地网络和互联网之间的网关。该网络上的其中一台计算机安装了 Microsoft SQL Server 2008,并通过端口 1433 启用了 TCP/IP 协议。我在路由器上设置了端口转发,这样就可以进行远程连接,而且实际上可以正常工作(一些开发人员可以远程登录,没有任何问题)。

我属于另一个网络,该网络通过代理服务器访问互联网,代理服务器仅开放了端口 80 和 443。我无法连接到该远程服务器上的 MSSQL 服务器,因为该网络上的 1433 端口已关闭。
我通过 443 端口(使用 Putty)连接到路由器的 SSH 服务器,并设置了 2 个隧道。一个用于 RDP(3389),它正在运行。另一个用于 1433 端口,用于连接到服务器。

我无法通过 SSH 隧道连接到 MS SQL Server,无论是通过 telnet 还是通过 GUI 客户端。

我是否遗漏了什么?

额外细节:
连接时,我从 SQL Server Management Studio 收到此错误:

标题:连接到服务器

无法连接到本地主机:14330。


附加信息:

与 SQL Server 建立连接时发生与网络相关或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40 - 无法打开与 SQL Server 的连接)(Microsoft SQL Server,错误:3)

如需帮助,请点击: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=3&LinkId=20476


纽扣:

好的

隧道配置如下:
L14330 192.168.0.103:1433
192.168.0.103是 LAN 上 SQL Server 的永久地址。我还成功将3389端口的 TCP 流量转发到该 IP,因此隧道正在与该 IP 地址通信。

当不使用隧道进行连接时,通过 Microsoft SQL Server Management Studio,使用与建立连接相同的方法。可惜我的代理不允许 1433 端口流量,否则我就不会有这种头疼的问题了。

答案1

升级到较新的 Dlink 路由器时,我遇到了无法再连接到网络上的计算机(插入 Dlink 路由器)之间的 SQL SVR 的问题。

我找到了解决方案本论坛

禁用“高级 DNS 服务”。默认为启用。

(设置 > 互联网 > 手动互联网连接设置 > 高级 DNS 服务)

根据我找到的帖子,它还解决了连接 RDP 的困难。有人猜测 SQL SVR 连接请求被发送到 OpenDNS,从而阻止了所需的连接。

对于 SQL SVR 2008,需要一些额外的表面区域配置来允许连接(包括与命名实例的连接)。

请注意,打开 Open DNS 后,您可以使用 Dlink 路由器的端口转发设置启用本地 SQL SVR 连接。如果关闭 Open DNS,则网络上计算机之间的连接不需要端口转发设置。如果您想允许从 Internet 到 DLink 网络上的计算机的 SQL SVR 连接,则需要在虚拟服务器设置(而不是端口转发)中配置此项。端口转发和虚拟服务器都位于高级选项卡上。

我的路由器使用不到一年(DIR 655)

答案2

随机想法:

有些路由器有“VPN 直通”(或类似)设置。

从你的链接中,我在 VPN 上找到此内容

答案3

是否可以从隧道/ssh 端点访问 MSSQL 服务器?

确保 ssh 隧道上的目标 IP 和端口正确。

确保您正在将 telnet 或 gui 客户端连接到 LOCALHOST:PORT。

相关内容