Vários computadores que estão executando o IIS com um IP público específico Como lidar com as comunicações de entrada?

1

Na nossa empresa, temos três servidores separados que hospedam o IIS atualmente. Cada um desses três servidores tem o mesmo endereço IP público e reside essencialmente na mesma rede em diferentes sub-redes.

Estamos tentando criar um método para permitir o acesso a todas as três máquinas de maneira relativamente fácil. Alguma idéia?

    
por JD Davis 19.02.2015 / 23:41

5 respostas

1

Você pode executá-los em portas diferentes ou pode colocar um proxy reverso na frente deles.

O uso de portas diferentes é o mais fácil, mas os usuários precisam conhecer a porta e o nome para acessar o servidor correto.

As regras do proxy reverso determinam qual servidor IIS interno buscar com base no nome do host solicitado.

    
por 19.02.2015 / 23:48
1

Vou fazer algumas suposições aqui. Você declara " temos três servidores separados que hospedam o IIS atualmente. Cada um desses três servidores tem o mesmo endereço IP público ", o que eu suponho que significa que eles são públicos apenas para serviços muito específicos. Eles provavelmente estão permitindo externo nas portas 80, 433 e possivelmente outras. Se esse for o caso, eu não configuraria um método para se conectar remotamente por meio desse endereço externo. Como o endereço está disponível publicamente para serviços da Web, ele pode ser escaneado para encontrar sua "porta de acesso", sem importar que forma isso possa tomar.

Opção 1: A solução mais simples seria configurar 4 endereços públicos:

1 Endereço público com carga balanceada para o fornecimento de serviços da web. 3 Endereço público que são redirecionados para as portas em cada servidor para conectá-los.

Configurar o redirecionamento de NAT para os endereços de gerenciamento é uma configuração de firewall simples. Ficaria assim.

  1. Endereço público 1 > Endereço privado do servidor 1
  2. Endereço público 2 > Endereço privado do servidor 2
  3. Endereço público 3 > Endereço privado do servidor 3

Opcionalmente, você pode ter um endereço público para fornecer serviços e um endereço público para gerenciamento, mas ter uma porta de entrada diferente para cada servidor. Digamos que você tivesse as portas 1000, 1001 e 1002. Se o serviço de gerenciamento fosse SSH, porta 22, então seria exibido da seguinte forma.

  1. Endereço público, porta 1000 > Endereço privado do servidor 1, porta 22
  2. Endereço público, porta 1001 > Endereço privado do servidor 2, porta 22
  3. Endereço público, porta 1002 > Endereço privado do servidor 3, porta 22

Opção 2: Configurar um servidor de gerenciamento ou software que você usa para se conectar a cada servidor IIS internamente.

Assim, você teria um endereço público para seus serviços da Web e um endereço público para gerenciar os servidores. O primeiro endereço é balanceado por carga para os servidores IIS, o segundo endereço vai para o servidor de gerenciamento, possivelmente um servidor de área de trabalho remota, um servidor SSH ou um servidor que fornece conectividade VNC para os servidores ISS. Há muitas opções de terceiros, gratuitas e pagas, que podem realizar essa segunda opção.

Opção 3: Configurar VPN (Rede Privada Virtual)

Se o seu firewall tiver a capacidade de atuar como um concentrador de VPN, você poderá configurar os serviços de VPN. Isso permitiria que você se conecte remotamente usando VPN. Uma vez conectado, você pode se conectar a cada Serviço IIS usando seu endereço IP interno.

    
por 20.02.2015 / 00:33
1

Se você quiser acessar cada um pelo mesmo endereço IP externo, será necessário usar portas diferentes e usar NAT baseado em porta.

Se você puder usar diferentes nomes de host / nomes de domínio, poderá configurar um proxy reverso para entregar as solicitações para os diferentes servidores com base nos nomes de host. por exemplo. server1.example.com, server2.example.com, etc

Para isso, você precisará ter uma 4ª caixa ou escolher um dos servidores existentes para realizar essa tarefa.

Configure o NAT para apontar para esse servidor (possivelmente apenas para a porta 80).

Escolha um pacote de proxy. Você poderia usar algo como Squid , Apache , Verniz ou servidor de tráfego Apache (alguns deles podem fazer cache também). p>

Configure o proxy para encaminhar solicitações de server1.example.com para ir para IP interno ou nome de host para server1 e o mesmo para os servidores 2 e 3.

Uma coisa é estar ciente de que, se o proxy estiver sendo executado em um dos servidores da Web, a porta em que o proxy está escutando não poderá ser a mesma do servidor da web.

Portanto, configure o proxy para a porta 8080 e configure a regra NAT para encaminhar solicitações na porta 80 para a porta 8080 ou, alternativamente, configure todos os servidores da Web para serem executados nessa porta. Eu recomendo a primeira opção embora. Dessa forma, seu acesso interno é mais limpo e ignora o proxy.

Espero que tudo isso faça sentido. Feliz em esclarecer ainda mais se for necessário.

    
por 21.02.2015 / 06:25
1

Eu pessoalmente faria um proxy reverso, mas se você quiser evitar isso, uma alternativa para as outras sugestões seria executar cada servidor em uma porta diferente e pagar por um serviço como o No-IP que fará redirecionamentos de host de Porta 80 para outra porta.

Basicamente, host1.domain.com pode ser apontado para o seu ip: 81 e os usuários não saberão a diferença.

Funciona, mas eu ainda recomendo um proxy reverso como a maneira "apropriada" de fazer as coisas.

    
por 21.02.2015 / 07:13
1

Sugiro usar um proxy reverso, no seu caso Roteamento de solicitações de aplicativos , um IIS gratuito addon da Microsoft.

Você escolhe um dos seus três servidores e fornece o IP público. Instale e configure o ARR para lidar com todos os pedidos e encaminhá-los para qualquer um dos três pontos finais.

Esta é uma solução gratuita em termos de hardware e software, mas você precisa aprender sobre o ARR. Eu sugiro configurar três servidores de teste em VMs e brincar com ele.

    
por 21.02.2015 / 09:06