Tunnel apt tráfego de rede privada através do público para a internet

2

Eu tenho 4 servidores na seguinte configuração:
Servidores 1 e 3 (Servidor Web, Servidor de Correio respectivamente): NIC1: Rede pública, conectada à Internet
NIC2: rede privada, comunicação entre servidores.

Servidores 2 e 4 (DB e servidor de backup):
NIC: rede privada, comunicação entre servidores.

Estou tentando encontrar uma maneira de rotear o tráfego do apt (apenas) dos Servidores 2 e 4 até um dos dois servidores conectados na rede pública à Internet, para que não seja necessário conectar esses dois servidores para a rede pública apenas para apt. Existem maneiras de fazer isso?

Muito obrigado.

    
por Constantine Loukas 05.08.2012 / 16:57

1 resposta

2

Use um servidor proxy instalado no servidor 1 ou 3, configurado para permitir conexões aos sites em sources.list dos servidores de rede privada. Como um bônus, se você usar um proxy de cache como o squid ou approx você usará menos largura de banda para baixar pacotes comuns aos servidores.

Para os proxies regulares da web, como o squid , você pode definir o $http_proxy variável de ambiente antes de executar o apt, ou edite o seu arquivo apt.conf (se você estiver no Debian squeeze, parece que a configuração está dividida em arquivos diferentes em /etc/apt/apt.conf.d/ , adicione um novo arquivo) e defina

Acquire::http::Proxy "http://user:pass@yourproxyaddress:proxyport";

substitua http por ftp se você estiver usando espelhos ftp e um proxy compatível com ftp.

Se você usar approx, então edite os clientes ' sources.list para apontar para o seu servidor de aprox. em vez dos espelhos originais, em vez de configurar um proxy no seu shell ou no apt.conf.

Se você não quiser instalar um proxy, poderá usar o encaminhamento de porta do ssh de uma das seguintes maneiras:

1: Altere sources.list do servidor 2/4 para usar http://localhost:8080/ para os espelhos. Se você tiver mais de um host de espelho, precisará escolher portas diferentes (por exemplo, 8081) para cada uma. No server2 / 4, habilite GatewayPorts em sshd_config Então, ssh do servidor 1 para o servidor 2/4 usando

ssh -R 127.0.0.1:8080:http.us.debian.org:80 server2

Use vários comandos -R (por exemplo, -R 127.0.0.1:8081:security.debian.org:80 ) se houver vários espelhos para o encapsulamento. Enquanto esta conexão ssh permanecer aberta, você poderá usar o apt.

2: Use o proxy SOCKS "dinâmico" do ssh e tsocks para fornecer suporte ao SOCKS para o apt-get. Para fazer isso, você terá que fazer ssh "backwards" do server2 para o server1 usando

ssh -D 8080 server1

em um terminal, em seguida, executando tsocks apt-get update etc em outro terminal. Você definirá as informações do servidor e da porta em /etc/tsocks.conf e o programa tsocks "wrapper" converterá as conexões http normais no apt para usar o proxy de socks fornecido pelo ssh. Desta forma, você não faz alterações em sources.list.

    
por 05.08.2012 / 17:56