首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将私人网络通过公共网络与因特网之间的交通隧道

将私人网络通过公共网络与因特网之间的交通隧道
EN

Server Fault用户
提问于 2012-08-05 14:57:59
回答 1查看 4.3K关注 0票数 2

我在以下配置下有4台服务器:

服务器1和3(分别为Web、邮件服务器):NIC1:公共网络,连接到因特网

NIC2:专用网络,服务器之间的通信。

服务器2和4 (DB和备份服务器):

NIC:专用网络,服务器之间的通信。

我试图找到一种方法,通过公共网络上连接的两台服务器中的一台,将apt (仅)的流量从服务器2和4路由到internet,这样我就不必仅仅为了apt而将这两台服务器连接到公共网络。有什么办法可以做到吗?

非常感谢。

EN

回答 1

Server Fault用户

回答已采纳

发布于 2012-08-05 15:56:29

使用安装在服务器1或3上的代理服务器,配置为允许从专用网络服务器连接到sources.list中的站点。更重要的是,如果您使用了像squid或approx这样的缓存代理,那么您在下载服务器共有的包时将占用更少的带宽。

对于像鱿鱼这样的常规网络代理,您可以在运行apt之前设置$http_proxy环境变量,也可以编辑您的apt.conf文件(如果您正在使用Debian挤压,看起来配置在/etc/apt/apt.conf.d/中被拆分成不同的文件,添加一个新文件)并进行设置

代码语言:javascript
复制
Acquire::http::Proxy "http://user:pass@yourproxyaddress:proxyport";

如果使用ftp镜像和具有ftp功能的代理,请用ftp替换http。

如果使用a,则编辑客户端的sources.list以指向您的大约服务器,而不是原始镜像,而不是在shell或apt.conf中设置代理。

如果您不想安装代理,可以使用ssh的端口转发几种方式之一:

1:改变服务器2/4's sources.list使用http://localhost:8080/作为后视镜。如果您有多个镜像主机,则需要为每个镜像主机选择不同的端口(如8081)。在服务器2/4上,在GatewayPorts中启用sshd_config,然后使用

代码语言:javascript
复制
ssh -R 127.0.0.1:8080:http.us.debian.org:80 server2

如果有多个镜像要隧道到,则使用多个-R命令(如-R 127.0.0.1:8081:security.debian.org:80)。只要这个ssh连接保持打开,就可以使用apt。

2:使用ssh的“动态”SOCKS代理和tsocks为apt提供SOCKS支持。要做到这一点,您必须使用以下方法“向后”从server2到server1

代码语言:javascript
复制
ssh -D 8080 server1

在一个终端中,然后在另一个终端运行tsocks apt-get update等。您将在/etc/tsocks.conf中设置服务器和端口信息,tsocks“包装”程序将在apt中转换正常的http连接,以使用ssh提供的socks代理。这样,您就不会对sources.list进行任何更改。

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/414444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档