我在以下配置下有 4 个服务器:
服务器 1 和 3(分别是 Web 服务器、邮件服务器): NIC1:公共网络,连接到 Internet
NIC2:专用网络,服务器之间的通信。
服务器 2 和 4(DB 和备份服务器):
NIC:专用网络,服务器之间的通信。
我正在尝试找到一种方法,将来自服务器 2 和 4 的 apt(仅)流量通过公共网络上连接的两台服务器之一路由到互联网,这样我就不必将这两台服务器连接到公共网络仅适用于apt。有什么方法可以做到这一点?
非常感谢。
我在以下配置下有 4 个服务器:
服务器 1 和 3(分别是 Web 服务器、邮件服务器): NIC1:公共网络,连接到 Internet
NIC2:专用网络,服务器之间的通信。
服务器 2 和 4(DB 和备份服务器):
NIC:专用网络,服务器之间的通信。
我正在尝试找到一种方法,将来自服务器 2 和 4 的 apt(仅)流量通过公共网络上连接的两台服务器之一路由到互联网,这样我就不必将这两台服务器连接到公共网络仅适用于apt。有什么方法可以做到这一点?
非常感谢。
使用安装在服务器 1 或 3 上的代理服务器,配置为允许
sources.list
从专用网络服务器连接到站点。作为奖励,如果你使用像 squid 这样的缓存代理,或者approx
你将使用更少的带宽来下载服务器通用的包。对于像 squid 这样的常规网络代理,您可以
$http_proxy
在运行 apt 之前设置环境变量,或者编辑您的apt.conf
文件(如果您使用的是 Debian squeeze,看起来配置被分成不同的文件/etc/apt/apt.conf.d/
,添加一个新文件)和放如果您使用的是 ftp 镜像和支持 ftp 的代理,请将 http 替换为 ftp。
如果您使用 approx,那么您编辑客户端
sources.list
以指向您的 approx 服务器而不是原始镜像,而不是在您的 shell 或 apt.conf 中设置代理。如果您不想安装代理,可以使用以下几种方式之一使用 ssh 的端口转发:
1:更改服务器 2/4 的 sources.list 以
http://localhost:8080/
用于镜像。如果您有多个镜像主机,则需要为每个镜像主机选择不同的端口(例如 8081)。GatewayPorts
在server2/4 上启用sshd_config
然后,使用 ssh 从服务器 1 到服务器 2/4-R 127.0.0.1:8081:security.debian.org:80
如果有多个镜像要隧道连接,请使用多个 -R 命令(例如)。只要此 ssh 连接保持打开状态,您就可以使用 apt。2:使用 ssh 的“动态”SOCKS 代理并
tsocks
为 apt-get 提供 SOCKS 支持。为此,您必须使用 ssh 从 server2“向后”到 server1在一个终端然后
tsocks apt-get update
在另一个终端运行等。您将在其中设置服务器和端口信息,/etc/tsocks.conf
“tsocks
wrapper”程序会将普通的 http 连接转换为 apt 以使用 ssh 提供的 socks 代理。这样您就不会对 sources.list 进行任何更改。