我必须从需要静态 IP 的源下载一些大数据。由于我在家里只有一个动态 IP,所以无法使用。所以我考虑使用我租用的远程根服务器来下载数据。但数据太大,我无法使用根服务器作为中间存储。我必须将数据直接下载到我的家用电脑上,但要以某种方式通过根服务器(以便下载源只能看到根服务器的静态 IP)。该怎么做?这是我家用系统的简单 SSH 命令吗?还是我必须安装一些特殊的东西?(也许这是一个相当简单的问题,但网络不是我的工作领域)
问候,凯
答案1
这可能有点俗气,但是如何使用 wget 通过管道传输到 nc 呢(当然,这是假设你在远程主机和你的家庭系统上都有一台 *nix 类型的机器)。
在您的家庭系统上:
$ nc -l [port_number] > filename.foo
然后在远程系统上:
$ wget http://your.url.com/filename.foo -O - | nc [ip_of_home_system] [port_number]
其中 [port_number] 是你喜欢的 TCP 端口,可以穿过你现有的任何防火墙。我还没有亲自尝试过,但看起来应该可以。
答案2
您可以尝试在具有静态 IP 的机器上反弹代理,例如 squid。
更好的是,如果你有 SSH 访问权限任何具有静态 IP 的机器,您可以使用 SSH 的 SOCKS 选项:
ssh -D localhost:8888 user@remotehost
然后配置浏览器或下载工具以使用 SOCKS4 或 SOCKS5 代理,并在本地主机上为其提供端口 8888。无需中间存储。