我家里有一台 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
答案3
是否可以从隧道/ssh 端点访问 MSSQL 服务器?
确保 ssh 隧道上的目标 IP 和端口正确。
确保您正在将 telnet 或 gui 客户端连接到 LOCALHOST:PORT。