在网络方面我是一个完全的初学者,我正在尝试使用 pagekite 在我的机器上设置 TCP 隧道。我想将所有流量从 TCP 地址路由到本地主机上的端口,比如说 8080。然后我会在
localhost:8080
上启动一个处理程序来处理传入流量。我只需通过 ngrok tcp 8080
就可以让它与 ngrok一起使用,但在免费的 ngrok 计划中,我无法保留 tcp 地址,而且 ngrok 相当慢,所以我选择尝试使用 pagekite。
Pagekite 通常允许轻松建立到 HTTP 地址的隧道,但他们这里有一个指南,介绍如何使用 PuTTY 和 Pagekite 来创建由 HTTP 代理的 TCP 隧道。
我遵循了他们的指南,但可以使用一些帮助来确定它是否达到了我想要的效果。
我正在Linux VM上工作,所以我首先使用openssh设置一个SSH服务器,如下所示:
sudo service ssh start
然后我使用 pagekite 公开了 SSH 服务器,如下所示:
python3 pagekite.py 22 ssh:user.pagekite.me
然后启动 PuTTY,并将端口 22 上的主机名配置为
user.pagekite.me
,在端口 443 上使用代理主机名 user.pagekite.me
设置 HTTP 代理,最后从 PuTTY 计算机创建一条隧道,源端口为 8080,目标为 localhost:8080
。
现在我不确定这实际上完成了什么。我知道 PuTTY 机器连接到在我的虚拟机上运行的 ssh 服务器,并且我能够从 PuTTY 终端使用 linux 终端,但这实际上创建了从
user.pagekite.me:8080
到 localhost:8080
的 TCP 隧道吗?此外,执行此操作后,如果我尝试在 localhost:8080
上设置处理程序,则会收到以下错误:
Handler failed to bind to 0.0.0.0:8080
Rex::BindFailed The address is already in use or unavailable: (0.0.0.0:8080).
再说一遍,我对网络完全一无所知,所以如果有人可以解释我在做什么,如果甚至有可能按照我正在做的方式做我想做的事情,那将非常有帮助。
也许该端口已被使用? (我也是初学者)