LVS - IP de origem

1

Recentemente, fiz uma pergunta sobre minhas opções de balanceamento de carga de vários servidores (tráfego TCP não-http, conexões de longa duração com taxas de largura de banda muito consistentes): Conexões TCP de longa duração com balanceamento de carga

Neste post eu fui direcionado para o LVS e apenas tentei. A instalação foi fácil e praticamente funcionou logo de cara, com o meu único problema é que eu só posso usar LVS-NAT (servidores reais são janelas e eu não quero mudar sua configuração). O problema é que ele reescreve o IP de origem, portanto, se um cliente fizer login, só vejo o IP NAT e não o seu IP de origem original. Isso representa um problema para nós em termos de requisitos regulatórios, já que preciso registrar o IP da fonte real para cada cliente que fizer login.

Como os outros lidam com esse problema?

Obrigado,

Tom

    
por TJF 28.09.2010 / 19:46

3 respostas

2

Você pode reconsiderar sua configuração do Windows. Eu usei o roteamento direto com o LVS com sucesso no Windows. De acordo com a documentação, um membro da minha equipe escreveu:

First install the Windows Loopback Adapter. Start > hdwwiz.exe

Click Next then "Install the hardware that I manually select from a

list (Advanced)

Scroll Down and click "Network Adapters"

Choose Microsoft, then Microsoft Loopback Adapter

Finish the Wizzard

Go to Control Panel\Network and Internet\Network Connections. Rename

the adapters to their descriptive names. Right click on the loopback adapter and manually assign it the LVS VIP.

Go to Start > cmd.exe (right click and choose run as administrator)

Run these Commands.


netsh interface ipv4 set interface "Name of Adapter that holds the real

host IP" weakhostreceive=enabled netsh interface ipv4 set interface "loopback" weakhostreceive=enabled netsh interface ipv4 set interface "loopback" weakhostsend=enabled

Este era um servidor Windows 2008, que foi configurado inicialmente usando este Site da Web para orientação.

No que diz respeito ao registro, muitas vezes a única solução será utilizar o registro no ponto em que o IP real do cliente ainda está na rota.

Com o tráfego da Web, a variável de ambiente X_FORWARDED_FOR pode ser usada. Aponte sendo, depois de um certo ponto, a camada de rede não pode ser confiada para esta informação. Nesse caso, você precisa ir mais longe na pilha para possíveis soluções.

    
por 28.09.2010 / 19:49
0

Sim, o Direct Routing é uma excelente solução, mas por que você tem um problema com o modo NAT? O LVS no modo NAT com sub-redes internas e externas é transparente por padrão, ou seja, os servidores podem ver o IP de origem dos clientes como se fosse uma conexão direta (como um firewall). Breve descrição do LVS no modo NAT está aqui em nosso site: métodos de balanceamento de carga (modo NAT) . BTW você pode até mesmo fazer NAT em uma confirmação de um braço se você muck ao redor com a tabela de roteamento do Windows .....

    
por 14.12.2010 / 13:11
0

Quando o LVS está no modo NAT, a caixa LVS deve ser um gateway padrão para o tráfego dos servidores reais, precisamente porque o tráfego tem o IP de origem real do cliente. Não sei como você poderia obter o LVS para alterar o IP de origem no modo NAT. Você deve ter uma caixa LVS com duas placas de rede (configuração de dois braços), o VIP está na sub-rede externa e o gateway padrão para os servidores reais está na sub-rede interna. O tráfego é NAT de forma transparente por padrão, ou seja, quando aparece no servidor real, parece que veio diretamente do endereço IP de origem do cliente. Você pode me mostrar um despejo de 'ipvsadm -Ln'? Além disso, depois de ter feito uma conexão com o VIP, o despejo 'ipvsadm -Lnc' mostra exatamente o que está acontecendo. Você tem certeza de que não está apenas vendo as entradas da "Verificação de saúde" nos seus registros? Estes viriam do IP dos balanceadores de carga se você estiver usando ldirectord ou keepalive para verificações de integridade?

    
por 17.08.2011 / 10:06