Debian: Forma de encaminhar portas para outro servidor com endereço IP original?

1

Imagine que tenho vários servidores (debian) em locais diferentes que não estão conectados via LAN.

Eu preciso encontrar uma maneira de encaminhar portas específicas para um dos outros servidores, mas o servidor que lida com a solicitação deve ver o IP original do usuário que se conectou ao servidor de encaminhamento. Eu sei que há X-Forwarded-For para HTTP, mas estou interessado em TCP em geral.

Também é possível configurar uma VPN (openvpn, PPTP, ...), não sei se isso ajuda, mas o problema com a VPN é que todas as conexões entre servidores passarão pelo host VPN, mas seja melhor se cada servidor puder encaminhar o tráfego diretamente para outro.

Quero dizer: server1: 80 = > server2: 80
server2: 8080 = > server3: 8080
server3: 1234 = > server1: 1234

Eu tentei o encaminhamento SSH, mas o IP original foi perdido.

    
por Eliasdx 20.10.2010 / 00:01

2 respostas

1

Difícil de atender às suas necessidades, mas uma possibilidade que você pode experimentar é:

  1. Configurar túneis VPN de servidor para servidor. Isso corrige sua reclamação sobre a VPN.
  2. Execute o HAProxy usando o patch TProxy. Isso pode fazer proxies TCP genéricos e manter o IP original intacto. Com essa ressalva é que todas as respostas devem ser roteadas através do balanceador de carga. Esse tráfego poderia passar pelos túneis de VPN.

Seus requisitos são bem específicos, você pode obter um conselho melhor de nós se der um passo atrás e explicar o que você está tentando arquitetar com um pouco mais de detalhes.

    
por 20.10.2010 / 00:08
1

Depois de iniciar o encaminhamento dos pacotes de servidor para servidor, você está duplicando a carga na rede. Por que não configurar seu roteador / firewall para redirecionar o pacote com base na porta de destino para que ele vá para o servidor correto em primeiro lugar? Em seguida, o roteador / firewall lidaria com os endereços de destino alternados.

O motivo pelo qual "e adiante" é necessário é que, se um cliente achar que está se conectando ao servidor1, os pacotes retornados devem estar vindo do endereço IP do servidor1 ou o cliente os ignorará. quando server3 responde, o endereço "de" precisa ser alterado para server1, que o firewall deve tratar automaticamente se estiver usando algo como o ip_conntrack do Linux para o NAT.

Se você insistir em ir e voltar entre os servidores, tenho algumas ideias, mas não tenho como testá-las agora.

    
por 20.10.2010 / 02:51