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.