binding para o IP remoto

1

Eu tenho dois servidores e gostaria que um servidor pudesse usar alguns dos IPs externos do outro. O servidor A tem 20 IPs e o servidor B tem 5, então eu quero que B use 5 dos IPs de A.

Como eu faria isso? Eu precisaria criar 5 túneis openvpn de A para B? Meu objetivo é que o servidor B tenha 10 IPs de saída distintos.

    
por Martin 16.05.2014 / 20:07

1 resposta

1

Ok, aqui estão as suas opções, em geral. Suponho que você possa pesquisar e fazer perguntas de acompanhamento, conforme necessário. Para esta discussão, A tem os endereços IP que você gostaria de usar em B.

NAT

O tráfego é roteado para o A. A então faz o SNAT e o DNAT. Infelizmente, isso realmente funciona apenas para conexões recebidas . Parece que você quer sair. Você pode fazer isso funcionar, no entanto, fazendo DNAT em B (para enviar a conexão para A), em seguida, SNAT e DNAT em A para enviar a conexão do IP correto.

Para o tráfego de entrada para um serviço, essa é uma das duas abordagens mais fáceis, sendo a outra um proxy. Para o tráfego de saída, parece muito mais complicado do que é - são alguns comandos iptables .

Distribuir a carga de trabalho

Gere as conexões de saída de A. Envie os dados gerados de volta para B. Isso, é claro, requer trabalho para configurar, mas é a solução mais escalonável. Depois de ter feito o trabalho, você pode adicionar servidores C, D, E, etc., conforme necessário.

Proxies

Você pode configurar um proxy HTTP ou SOCKS em A. Em seguida, conecte-se a ele a partir de B. O proxy pode ser configurado para distribuir a carga entre os vários IPs em A.

O encaminhamento de porta do OpenSSH é basicamente a mesma ideia. Você pode alterar dinamicamente a porta para a frente em uma conexão existente, mas não tenho certeza de qual taxa - o OpenSSH pode não funcionar para seu aplicativo de saída.

Túneis

Existem várias maneiras de fazer túneis. Os básicos para analisar são os túneis não criptografados, como o IPIP e o GRE, e os criptografados, como o OpenVPN e o IPsec ESP.

Basicamente, todos eles funcionam assim: você configura um link virtual entre seus dois servidores. Então você usa a maquinaria normal de roteamento do kernel para direcionar o tráfego através do link, da mesma forma que você usaria um cabo Ethernet ou uma linha serial. Você pode enviar quantos endereços um link quiser.

Observe que, a menos que você possa desativar a filtragem de caminho inverso, será necessário fazer o roteamento de políticas para garantir que os pacotes de saída ultrapassem o link, e não diretamente para o gateway padrão.

Muitos túneis têm o lado negativo de reduzir o MTU. Você deve ser capaz de compensar reduzindo o TCP MSS. Alternativamente, você não pode reduzir o MTU, ao custo de muita fragmentação.

Construir um túnel permitirá que você tenha os IPs como IPs locais em B; mesmo com a linha alugada abaixo. Os outros métodos não.

Alugue uma linha privada

Incluído apenas para integridade, pois a compra de mais IPs no servidor B seria mais barata, mas você poderia alugar um T1 (etc.) entre os servidores. Então você pode encaminhar seu tráfego sobre isso.

Não seja mal

Depois de ler o resto dos comentários sobre a questão, a principal maneira de não ser bloqueado é não abusar. Mantenha sua taxa de solicitação o mais baixa possível, respeite robots.txt , etc.

    
por 16.05.2014 / 22:31

Tags