情况很简单:我在一个网络(内部网)上,我无法控制路由器。基本上可以假设我只有一个以太网端口和任意数量的机器。
我想要以最便宜(也是最简单)的方式运行一个至少可以使用 HTTP 访问的服务器,另外,如果可能的话,还可以使用 FTP 和 SSH 访问。
这有可能吗?
编辑:哇,现在有很多答案了!
以下是简要介绍:
- 我没有公网 IP
- 反向隧道可能有效
- 最佳情况下我想要的是端口 80/21/22。
- 如果我在外面有一台服务器,并且具有 ssh 功能,我就不会问了。隧道很容易。
- 我实际上还没到达那里。
- 这是一家大学宿舍。
答案1
由于您无法访问路由器,因此无法通过 IPv4 使其公开可访问。如果您使用支持穿越 NAT 的隧道协议,您可能能够使其通过 IPv6 可访问。在所有情况下,它都可以在内部访问。
答案2
首先,您是否有公网 IP 地址(即不是 10.xxx 或 192.168.xx)?当您访问http://whatismyipaddress.com/它显示的地址是否与您的计算机认为的 IP 地址相同?
如果是这样,那么恭喜你!外界可能可以直接访问你的机器!
如果是这样,那么基本上只需设置所需的服务并查看路由器是否允许您从外部机器访问它们。
另一方面,如果路由器正在执行 NAT 和/或阻止相关端口,那么您的选择就非常有限。根据路由器允许和不允许的详细信息,您可以可能能够从外部盒子中隧道传输流量,但实际上,如果您有合适的机器来进行隧道传输,那么您也可以在那里设置您的服务器。
答案3
如果这不是一些企业环境,但有一些简单的设置(如公寓楼中的共享互联网连接),那么通用即插即用可能会打开您需要的端口。
(但要回答这个问题,我们需要更多细节。如果您想使用 22、80 和 443 等常用端口,那么其他人可能已经在使用这些端口了。)
答案4
我以前做过。
SSH 服务器位于具有 FTP 客户端的计算机上。
SSH 客户端位于具有 FTP 服务器的计算机上。
每台计算机都连接到自己。然后,装有 SSH 客户端的计算机连接到装有 SSH 服务器的计算机。
该过程称为反向隧道。SSH 可以做到这一点。
事实上,VNC 在功能上可以做类似的事情,但只使用 2 个元素。他们使用的术语是服务器启动与监听查看器的反向连接。
网上有很多关于反向隧道的教程。