因此,我遇到了一个小小的困境:我不允许在我的 VPS 上托管 IRC 服务器,但我可以使用某种隧道来让用户连接到我在 Mac Mini 上本地设置的 IRC 服务器。
基本上 - 我如何在不打开路由器端口的情况下将我的 VPS 的端口 6667 隧道连接到我的 Mac Mini(这就是我有一个技术倾向的爸爸所得到的结果)?我已经阅读了一些有关 SSH 端口转发的内容,但是经过大约 3 个小时的不断谷歌搜索和尝试,我似乎无法让它工作。我也一直在考虑像 Himmachi(或者现在它实际的名称)之类的东西,然后以某种方式将我的 Mac Mini 的 Himmachi IP 路由到公开。
我知道我的写作听起来可能令人绝望地困惑,但那是因为我对我能从这里走向何方感到绝望地困惑。
我将不胜感激在这个问题上的任何帮助。
答案1
你需要一个反向隧道。
从您的 Mac 上通过 ssh 连接到您的 Linux VPS,创建反向隧道。
ssh -R *:6667:127.0.0.1:6667 tristan@linux
它从您的 mac-mini 连接到您的 Linux VPS。它使 ssh 侦听端口 6667 上的所有接口 (*)。它发现的任何流量(在 VPS 的端口 6667 上)都会吸收隧道并转回到 mac-mini 上的本地主机 (127.0.0.1) 端口 6667 。
您还可以使用,
ssh -f -N -R *:6667:127.0.0.1:6667 tristan@linux
这样您就看不到终端会话(在询问您的密码后使用 -f 背景 ssh,并且 -N 停止它运行远程命令)。要关闭隧道,您需要在 Mac 上找到该进程及其kill
。
DCC 操作将无法正常工作,但 IRC 可能会。
警告:我不知道这是否适用于多个 IRC 用户连接
注意:根据您被告知无法在 VPS 上运行 IRC 守护进程的原因,此技术也可能是一个问题(即,如果您的 VPS 的入站端口 6667 被阻止)。
在VPS上,您需要确保网关端口在 sshd_config 文件中启用(通常/etc/ssh/sshd_config
)。