这听起来可能有点模糊,但请耐心听我说,它可能会很有趣。
设置如下:
- 服务器位于严密的防火墙后面,仅开放 22 端口。
- 基于 Web 的 VPN 客户端(juniper),它在我的计算机上创建另一个接口,该接口具有服务器网络上的 IP,并为该端口提供带有防火墙的绿卡。
- 我的路由器,配置了针对我自己的 PC(Windows 7)端口的 nat
1010
- 我很高兴将我的服务器转发
22
给我的localhost:1010
- 防火墙和 suff 配置,以允许我的电脑从互联网应答该端口
到目前为止一切顺利。一旦一切就绪,我可以尝试打开另一个 ssh 会话ServerUser@locahost:1010
,它将毫无问题地带我进入服务器。
现在,当我尝试通过 ssh 连接到我的公共地址时,[email protected]:1010
连接将超时...(是的,我是通过 3G 从连接到 VPN 的计算机外部(即我的手机)执行此操作的)。
我不是网络专家,所以我的第一个猜测是开发 VPN 客户端的人会采取一些措施来阻止我所做的事情......不过,我认为更有可能是我错了,我只是忽略了问题的一些网络方面。
为了确保万无一失,我安装了 OpenSSH,并尝试从互联网连接到我自己的 PC,结果成功了。所以我想我可以说我的网络在这方面没有问题。
如果需要的话,我可以在这里提供更多信息,只是我不知道从哪里开始。大家怎么说?
谢谢!
[更新]
我一直在做一些测试,发现了一些有趣的点。(顺便说一句,很抱歉这样做缺乏方法论,我真的不知道在网络方面应该遵循哪个线索)。
- 这个难以捉摸的 VPN 客户端安装了一个带有度量 1 的接口
- 我无法手动更改新接口的度量(它将断开客户端连接)
- 我已经
sshd
在手机上安装了一个以进行更简单的测试,发现一旦连接到 VPN,我就会遇到比我预期的更困难的事情:如果与服务器不相关,就无法进入或退出我的计算机。 - 我使用 2 个不同的 if 连接了计算机:以太网和 Wifi。连接后无法通过任何方式退出。
希望能帮助到你...
答案1
问题可能是因为大多数 SSH 客户端在进行端口转发时,只监听环回地址上的连接,即127.0.0.1
和::1
(“localhost”)。在 PuTTY 中,启用“本地端口接受来自其他主机的连接”在下面联系→SSH→隧道。
您可以尝试诸如lft
、traceproto
或之类的tcptraceroute
操作来找出哪个跳转阻止了您的 SSH 连接。