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

我在家里有DD-WRT的D-Link DIR-615 C1路由器。 我在路由器上设置了SSH服务器,并通过SSH2-RSA密码保护密钥login。 该路由器是本地networking和互联网之间的网关。 该networking中的一台计算机安装了Microsoft SQL Server 2008,通过端口1433启用TCP / IP协议。我已经在路由器上设置了端口转发,以便远程连接是可能的,事实上,开发人员远程login没有问题)。

我是另一个networking的一部分,通过代理服务器,只有端口80和443打开互联网访问。 我无法连接到该远程服务器上的MSSQL服务器,因为此networking上的1433端口已closures。
我通过443端口(使用Putty)连接到我的路由器的SSH服务器,并build立了2个隧道。 一个是RDP(3389),它正在工作。 另一个是用于1433端口,连接到服务器。

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

我错过了什么吗?

额外细节:
在连接上,我从SQL Server Management Studio中得到这个错误:

TITLE:连接到服务器

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


附加信息:

与SQL Serverbuild立连接时发生networking相关或特定于实例的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。 (提供程序:命名pipe道提供程序,错误:40 – 无法打开连接到SQL Server)(Microsoft SQL Server,错误:3)

要获得帮助,请单击: http : //go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=3&LinkId=20476


纽扣:

隧道configuration如下:
L14330 192.168.0.103:1433
192.168.0.103是LAN上SQL Server的永久地址。 我也成功地将3389端口的TCPstream量转发到该IP,因此隧道正在对该IP地址进行操作。

在没有隧道连接的情况下,通过Microsoft SQL Server Management Studio,使用与连接build立的方法相同的方法。 太糟糕了,我的代理不允许1433端口的stream量,我不会有这个头痛。

当升级到更新的Dlink路由器时,我的networking上的计算机之间不能连接到SQL SVR(插入Dlink路由器)。

我在这个论坛上find了解决scheme。

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

(“设置”>“Internet”>“手动Internet连接设置”>“高级DNS服务”)

根据我发现的post,这也解决了连接RDP的困难。 有人猜测,SQL SVR连接请求被发送到OpenDNS,从而阻止了所需的连接。

对于SQL SVR 2008,有一些额外的表面区域configuration需要允许连接,包括连接到命名实例。

请注意,打开Open DNS后,您可以使用Dlink路由器的端口转发设置启用本地SQL SVR连接。 如果closures“打开DNS”,则networking上计算机之间的连接不需要端口转发设置。 如果要允许从Internet连接到您的DLinknetworking上的计算机的SQL SVR连接,您需要在虚拟服务器设置(而不是端口转发)中进行configuration。 端口转发和虚拟服务器都可以在高级选项卡上find。

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

随意的想法:

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

从你的链接,我发现这个VPN

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

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

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