为什么 MS Sql 端口 (1433) 转发无法通过 http_connect 代理工作?

为什么 MS Sql 端口 (1433) 转发无法通过 http_connect 代理工作?

我有一台带有 putty 的 Windows 机器,它可以访问本地网络上的 ms sql server。我在互联网上有一台远程 Ubuntu 机器,在 443 端口上有 sshd(需要通过 https 代理建立安全连接)。我想将本地网络上的一些 ms sql ip:port 转发到远程 ubuntu 计算机。您可以在下面看到我的转发设置:

隧道设置

当我在没有代理的情况下启动此 ssh 会话时,它的工作方式与预期一致(我可以使用 轻松检查telnet localhost 31339):

root@ubuntu:~# telnet localhost 31339
尝试::1...
连接到 localhost.localdomain。
转义字符是“^]”。

但是当我使用支持 HTTP CONNECT 方法的 http 代理时,该端口不会被转发。当我尝试检查转发时telnet localhost 31339,我立即得到外部主机关闭连接。:

root@ubuntu:~# telnet localhost 31339
尝试::1...
连接到 localhost.localdomain。
转义字符是“^]”。
外部主机关闭连接。

同时,我尝试使用 Wireshark 在我的 Windows 机器上嗅探数据包,但根本没有看到与此端口转发规则相关的数据包。 Putty 甚至不会尝试与本地网络上的 ms sql server 建立 TCP 连接。

正如我所说,工作和不工作端口转发规则之间的唯一区别是使用 http 代理,理论上这应该减少 ip 数据包的最大大小,这可能就是问题所在......所以我倾向于认为可以有一些 sshd 设置可以处理这种情况。

我还做了另一个测试:我尝试将本地 VNC 端口 5900 从我的 Windows 计算机转发到本地 ubuntu 端口,就像我对 ms sql 端口所做的那样。这有效(无论我是否使用代理建立 ssh 连接都没有关系):

root@vm5594:~# telnet localhost 31337
正在尝试::1...
已连接到 localhost.localdomain。
转义字符是“^]”。 RFB 003.008

这就是为什么我真的想知道可能是什么问题并请你帮忙。有什么建议么?

长话短说当我使用 https 代理进行 ssh 连接时,ms sql 端口转发不起作用,但无需代理即可工作。 VNC 端口转发在这两种情况下都可以正常工作。

有任何不明白的地方请随时提问。可能是我的问题不够详细。

相关内容