Somente algumas máquinas em uma rede podem ter endereços IP públicos?

4

É possível que alguns computadores em uma rede tenham seus próprios endereços IP públicos e forneçam conteúdo pela Internet, enquanto outros computadores na mesma rede têm endereços IP privados, mas ainda podem fazer solicitações pela Internet (como um computador doméstico passaria por um roteador)?

Mais informações:

Eu tenho um grupo de 15 servidores (e apenas 12 endereços IP públicos disponíveis)

2 servidores:

  • É necessário ser capaz de armazenar conteúdo na Internet
  • Precisa ser capaz de fazer solicitações para os outros 15 servidores
  • Esses servidores são balanceadores de carga, eles encaminharão solicitações para outros 4 servidores nginx que terão o conteúdo http do servidor.

13 servidores:

  • O não precisa ser capaz de veicular conteúdo pela Internet
  • Precisa ser capaz de veicular conteúdo nos outros 15 servidores
  • É necessário fazer solicitações pela Internet (para APIs externas e semelhantes)
  • 4 desses servidores são servidores nginx que veicularão conteúdo http para os balanceadores de carga. Eles precisam ser capazes de fazer solicitações para APIs externas (como o google maps)
  • 9 desses servidores são servidores de banco de dados (eles não precisam fazer solicitações a APIs, mas seria bom poder participar do Teamviewer)

    • Isso é possível?
    • Eu só preciso de um switch de camada 3?
    • O que preciso investigar para descobrir como fazer isso?

Descrição visual do problema:

    
por Chris Dutrow 23.03.2016 / 06:03

3 respostas

3

O IPv6 tem muitos IPs e, por isso, tudo terá um endereço IPv6 público, por isso acredito que você esteja falando sobre o IPv4. O IPv4 permite um tipo de roteamento chamado Network Address Translation (NAT), que permite que vários dispositivos IP privados usem a Internet pública com um único endereço IPv4 público no roteador.

Você não precisa de nenhum switch sofisticado, um switch simples ficará bem. O roteador é o que está decidindo qual endereço mac para enviar pacotes e se o roteamento NAT precisa ser executado.

Se estiver usando endereços IP públicos em qualquer um dos seus servidores. Em um ou nos dois servidores de balanceamento de carga, você precisa ter dois endereços IP, o público e o interno, de preferência em um nic separado. Ele / ela pode executar o Squid no modo de balanceamento de carga do proxy reverso e eles vão conversar com os servidores web reais, que têm endereços IP privados, para obter e servir conteúdo.

Dito isto, você nem precisa ter endereços IP públicos em qualquer um dos seus servidores, apenas o seu roteador, e ele pode decidir quais dos seus endereços IP privados para enviar os pacotes, e pode fornecer roteamento NAT. para todos os seus servidores de endereços IP internos, para que eles possam usar a Internet.

Editar: toda solicitação http / https e, nesse caso, o pacote tcp, inclui o IP de origem e a porta de origem da solicitação. Cada solicitação http / https inclui o nome do site que está sendo solicitado também. Com base nessas informações, o balanceador de carga tem em sua configuração uma lista de endereços IP que pode contatar para atender à solicitação. Com base no endereço IP da máquina com a qual ele está tentando conversar, a tabela de roteamento do sistema operacional determinará qual nic será contatado.

    
por 23.03.2016 / 06:39
2

Sim, é possível.

Existem algumas abordagens.

  1. Se o seu provedor oferecer IPv6, crie os Servidores que precisam ser dually acessíveis publicamente e torne os servidores que não precisam ser acessíveis publicamente somente IPv6. Se os servidores não públicos precisarem acessar apenas recursos IPv4 na Internet, será necessário usar o NAT64 / DNS64 para fornecer acesso à Internet IPv4. Se o provedor for especialmente voltado para o futuro, ele poderá fornecer isso para você ou talvez seja necessário execute você mesmo.

  2. Ter uma sub-rede pública e uma sub-rede privada e ter o roteador de gateway existente para a rede executar o roteamento entre as duas sub-redes e o NAT entre a sub-rede privada e a Internet. Isso requer que o roteador existente tenha suporte NAT suficientemente flexível (o Linux pode fazê-lo, sem ter certeza sobre outras implementações)

  3. Tenha uma sub-rede pública e uma sub-rede privada e use uma de suas próprias máquinas para fornecer NAT, de forma que as máquinas privadas possam acessar a Internet. Configure o roteamento para que as máquinas públicas e privadas possam se ver ou forneçam os IPs das máquinas públicas em ambas as sub-redes.

por 23.03.2016 / 13:16
1

Se você estiver executando algum site publicamente disponível com algum back-end de banco de dados, eu recomendaria, no mínimo, que você use um firewall dedicado. A configuração básica é por onde começar e pode ser construída conforme necessário:

  • Configure o firewall como único ponto de acesso à Internet. Dê o primeiro IP em seu bloco de 12 IPs. A configuração inicial é semelhante à configuração de um roteador doméstico ... Todos os computadores na LAN interna podem acessar a Internet. Se o ir para whatismyip.com, o resultado é o IP externo do firewall. Todas as máquinas internas são protegidas pelo firewall.
  • Configure os balanceadores de carga com IPs públicos: configure os balanceadores de carga com um endereço IP em sua rede interna. Use o recurso NAT no firewall para mapear loadbalancerA IP interno para seu segundo IP público e loadbalancerB IP interno para terceiro IP público. (Você também terá que definir regras de firewall para permitir as solicitações recebidas)

Você também precisaria de um comutador para acomodar as conexões físicas de todos os servidores ... Basicamente, conecte a Internet à Interface Externa do Firewall. Firewall Internal Interface to Switch, então todos os servidores para o switch.

    
por 23.03.2016 / 07:03