让一台服务器使用另一台服务器来访问网络
问题描述:
我有一个以下问题。我有两台运行CentOS 6.2的服务器。让我们将它们命名为A和B.让一台服务器使用另一台服务器来访问网络
我们的网络以这样的方式构建,即服务器A可以通过代理访问互联网。它可以访问代理。但是,服务器B可以以任何可能的方式仅访问服务器A,但不能直接访问代理服务器。因此,是否有办法配置两台服务器,以便服务器B可以使用服务器A从Internet上检索所需的软件包。
更具体地说,服务器A使用cntlm访问代理(因为代理位于Windows域中)。我需要在服务器B上配置YUM以便能够从远程存储库下载,并且应该通过服务器A来完成,因为它无法直接访问Windows域中的代理。这怎么可能实现?
答
终于找到了解决问题的办法。默认情况下,cntlm以这种方式运行,只允许本地进程连接。
为了使其充当普通代理,您必须将其设为网关。将下一行添加到cntlm.conf中:
Gateway yes
默认情况下,此行已连接。但是,请注意,因为此处可能存在以下问题:
- 由于现在已打开,所有人都可以使用它。因此,您应该添加到cntlm.conf特定的ACL列表中,该列表只允许一些地址,但拒绝其他所有内容。
- 即使您将其设为网关,防火墙仍可能会阻止它。因此你应该设置防火墙,所以它不会阻塞内部服务器(但它也可能会拒绝所有其他地址)。
- 在配置中,Gateway命令之前的所有Listen命令都被认为是本地的,并且不会响应外部世界。确保在Gateway命令之后放置了Listen命令。
答
这听起来像你想建立另一个代理。
服务器A会为服务器B代理请求
ServerB的流量必须经过服务器A(不知)。
这篇文章解释它:http://www.faqs.org/docs/Linux-mini/TransparentProxy.html#ss6.1