通过两个局域网端口80发送stream量,并启用SSH隧道。 如何设置服务器

我想通过端口3000向主机B发送stream量,我可以访问这个graphics中的所有节点,这两个lans之间唯一打开的端口是Linux Box B到Linux机箱A的80端口。

所以我做了一个“ ssh -R 1206:192.168.1.10:22 [email protected] -p 80 ”,然后通过“ ssh -L 3000:10.10.10.10:3000 disp@localhost -1206

如果我正确的话,现在在Linux Box A上侦听端口3000,并通过隧道将它发送到Linux Box B到端口3000? 我的逻辑是正确的吗?

我现在怎么能把这个stream量路由到主机B上的端口3000

如果我想要双向连接“从B到A”这怎么办呢?

SSH隧道

国际海事组织你的路由是/ IP范围有点怪异,但我想这不是问题的一部分。

我正在猜测,但我希望它仍然有一些帮助。

 linux_box_b$ ssh -g -R *:3000:192.168.1.11:3000 [email protected] -p 80 

现在如果你从host_a发送一个到linux_box_a:3000,它实际上被发送到host_b:3000。 为此,Linux Box A上的sshd必须允许GatewayPorts和AllowTcpForwarding

为其他方向使用

 linux_box_b$ ssh -g -L *:3000:192.168.1.11:3000 [email protected] -p 80 

现在Linux Box B在端口3000上监听它们到主机A端口3000。

有了这个解决scheme,虽然总是连接的最后一部分(主机A和Linux机箱A之间,而主机B和Linux机箱B之间)没有encryption。

您可以使用端到端的encryption隧道:

 linux_box_b$ ssh -g -R *:10022:192.168.1.11:22 [email protected] -p 80 linux_box_b$ ssh -g -L *:10022:192.168.1.11:22 [email protected] -p 80 host_a$ ssh -L 33000:localhost:3000 -p 10022 10.10.10.10 host_b$ ssh -L 33000:localhost:3000 -p 10022 192.168.1.10 

现在每个主机(a和b)都必须使用localhost:33000作为发送目的地。