从远程计算机/另一个子网使用本地 SSH 隧道

从远程计算机/另一个子网使用本地 SSH 隧道

我有一台 Linux 机器(盒子 1),它带有互联网服务,通过以太网 (eth0) 连接到旁边的 Wifi 路由器。这个路由器的作用是让我可以通过 Wifi 与另一台机器(盒子 2)共享此互联网连接。

快速图表:

盒子 1 --> eth0 --> 路由器 --> wifi --> 盒子 2

在路由器配置中,LAN 为 10.42.43.1(带互联网的以太网电缆),WAN 为 10.42.42.x

BOX 1 上的“ifconfig -a”输出如预期那样将 eth0 标识为 10.42.43.1,但我无法通过该地址访问路由器配置。我搞不清楚那是什么地址。我只能从 BOX 2 访问路由器。这不是理想的情况,但我可以忍受。

BOX 2 的 IP 号码为 10.42.42.101,由 Wifi 路由器分配给它。

BOX 2 在 10.42.43.1 上找到了 BOX 1。BOX 1 在端口 8001 上运行 Web 服务器,我可以在 BOX 2 上浏览 10.42.43.1:8001 来查看 BOX 1 提供的页面。

问题:

我在 BOX 1 上创建了一条 SSH 隧道,通往运行电子邮件服务器的远程计算机。如下所示:

ssh-f-q-f-N-C-T[电子邮件保护]-L 9110:0.0.0.0:110

因此,在 BOX 1 上,我可以将我的电子邮件客户端配置为轮询 127.0.0.1:9110 以安全地下载我的电子邮件。

现在我想在 BOX 2 上执行相同操作,但做不到。我以为我可以轮询 10.42.43.1:9110,但那行不通。

我正在运行 iptables,但整个 eth0 接口被标记为受信任,这可能通过我可以从 BOX 2 浏览 BOX 1 提供的网页这一事实得到证明。因此,我不认为 iptables 阻止了这次特定的尝试。

还有什么呢?

注意:我到处搜索,发现了很多创建“多跳”隧道的方法,有点像两个或三个连接的隧道。我不想那样。我不想在 BOX 1 上运行 sshd,甚至不想在 BOX 2 上运行 ssh。我想直接从 BOX 2 使用 BOX 1 上的隧道。

答案1

使用 netstat 检查转发端口是否仅绑定到本地环回。您可以通过添加 *(任何接口)来更改此设置,例如-L *:9110:0.0.0.0:110。您可能还必须将GatewayPorts服务器配置中的参数更改为yesclientspecified

相关内容