Noob问题。 我有三个远程服务器(S1,S2和S3)。 其中一个具有互联网连接(S1),另外两个(S2和S3) 只能访问S1 – 例如,我从S1设置了无密码的SSH到S2和S3。
但是这意味着我无法在S2和S3上进行更新或包pipe理。 有没有办法让S2和S3上的HTTP请求通过S1隧道传输,基本上可以访问互联网? SSH隧道是否适用? 如果是这样,是否有一个资源,将指导我一步一步如何做到这一点我的情况?
谢谢。
提供Internet(http / https)访问不能直接访问Internet的系统最简单的方法是使用代理(如squid) 。 在S1上安装代理,并configurationS2和S3使用代理(例如,通过设置http_proxy环境variables或更新应用程序的configuration文件)
鱿鱼是一个好的解决scheme,伯特·涅夫build议。 我build议的另一个select是SOCKS代理,它使用SSH隧道,正如你所build议的。 它甚至可以与某些pakagepipe理员一起工作: https ://askubuntu.com/questions/35223/syntax-for-socks-proxy-in-apt-conf
该链接是Ubuntu的,但tsocks不是特定于Ubuntu的。
以下是一个示例howto: https : //www.linode.com/docs/networking/ssh/setting-up-an-ssh-tunnel-with-your-linode-for-safe-browsing
或者只是谷歌的袜子代理ssh的“
代理将根据客户请求进行交通redirect
如果您在服务器1上使用Apache,则可以创build虚拟主机以将请求代理到服务器2和3
如果您使用NAT(networking转换地址),您可以设置连接到内部IP +端口的一对外部IP +端口