Windows 主机通过中间 Linux 服务器隧道连接到另一台端口有限的 Linux 主机

Windows 主机通过中间 Linux 服务器隧道连接到另一台端口有限的 Linux 主机

附录:

我见过问题“Windows HTTP 隧道通过 2 个 Linux 主机吗?“并尝试了解一些有关答案的信息。我学会了。我将开始提出我的问题,然后用该问题的答案谈谈我的测试。

我正在尝试使用中间 Linux(唯一具有外部 IP 的 Linux)将我的 Windows 主机连接到 Linux 主机。

我的问题是什么:

我的windows host没有我想要打开的端口(游戏和流量端口)。

我有一个linux host我想要打开的端口。

ssh tunnel因此,如果我可以通过我的windows host到我的建立 ,问题就解决了linux host。问题是,这两个都只有一个内部 IP(一个在我的公司,另一个在我的大学)。

解决办法:我可以访问我公司的linux server外部IP(200.XXX)。

所以,我想用它作为我的和我的linux server中间体。windows hostlinux host

The complicating: 

我的linux server仅开放了 110 端口。我只能使用 110 端口通过 ssh 连接到它。

换句话说:我需要一个可以做到的例子:

windows host'sfirefox,代理使用 localhost:9999

将其访问重定向linux server

将其访问重定向至我的linux host

一个(但不是唯一一个)想法是将我的 反向隧道传输linux host到我的linux server,然后将我的 直接隧道传输windows host到我的linux server,从而将linux server我的windows host访问重定向到我的linux host

但我不知道该尝试什么命令。

我试过了,但是没有成功

Linux 主机:ssh -R 20000:localhost:22 [email protected] -p110

Windows 主机:ssh -L 9999:localhost:20000 [email protected] -p110

我怎样才能做到这一点?

我的环境,换句话说:


Windows host(内部 IP == 10.XXX ;所有端口开放)

经历

Linux Server(外部IP == 200.XXX;只能通过 ssh 连接到端口 110,端口 110 是唯一开放的

将 Windows 主机流量重定向至

Linux Host(内部 IP == 192.XXX ;端口开放,可以使用端口 22 上的 ssh 连接)


另一个附录:

linux server如果在我的 上,我可以(在理想情况下)访问我的linux host(这是不可能的,因为我的 上有一个内部 IP linux host),那么这将有效

Windows 主机:ssh -L 9999:localhost:9999 -D 9999 -p 110 [email protected]

Linux服务器:ssh -D 9999 linux_host_user@linux_host_ip

答案1

改编自答案如何通过每个人都可以访问的服务器建立隧道来 ssh 到无法访问的远程机器?

有效的“解决方案”是:

然后,

  • windows-user我做到了ssh -D 9999 -p 1235 linux-user@localhost

然后,在 上windows-user,我可以将 Firefox 配置为使用代理 socks localhost:9999,并且可以访问在我的 Linux 用户机器上运行的服务器。

PS:对于 Windows 上的 ssh,我使用 cygwin 安装了 openssh,以方便操作。

相关内容