通用 TCP 流量的中继服务器?

通用 TCP 流量的中继服务器?

这是我的情况:

  • 我在学校网络上有一台计算机 (Mac),我想将 TCP 5222 端口转发到 ejabberd,但我当然不能。
  • 我家里有一台服务器(带有 FreeBSD VM 的 Mac),我可以将其端口转发到。

有没有一种简单的方法可以设置我的家庭服务器,以通过端口 5222 中继传入和传出学校计算机的 TCP 流量?我知道可以让我在学校的计算机连接到家里的计算机并通过它发送/接收所有内容,并且我可以编写一个程序来执行此操作,但我想知道是否有更简单的方法。似乎已经有一个 Unix 实用程序可以做到这一点。

答案1

我的家庭服务器已经sshd运行。我按照德罗伯特的建议阅读了有关ssh隧道的内容,并在进一步的谷歌搜索的帮助下找到了答案:

  1. 在家里的服务器上对TCP 5222设置必要的端口转发、防火墙透传等。
  2. 启用网关端口:/private/etc/sshd_config在 Mac(或/etc/ssh/sshd_configLinux)上进行编辑,使其GatewayPorts yes仅具有一次线路并且没有矛盾的GatewayPorts no线路。
  3. sshd在服务器上重新启动(launchctl stop com.openssh.sshd然后launchctl start com.openssh.sshd在 Mac 上)
  4. 我在学校的电脑上,ssh -R 5222:localhost:5222 user@home_ip_address

现在,home_ip_address端口 5222 的连接已通过隧道连接到我在学校的计算机。耶!

相关内容