Como configurar o roteamento entre as redes virtuais do Azure?

3

Estou projetando um ambiente do Azure que conterá várias redes virtuais e um requisito é que todas as redes sejam conectadas; uma VM em qualquer rede deve poder falar com outra VM em qualquer outra rede.

Eu poderia conectar essas redes usando uma topologia de malha completa, mas isso rapidamente sairia do controle à medida que o número de redes aumentasse, e eu realmente não quero ter que configurar e gerenciar n (n - 1) / 2 conexões VPN.

Prefiro conectá-los usando uma topologia de hub e spoke, talvez usando vários hubs se o limite do Azure de 10 conexões por rede virtual for atingido. No entanto, estou com um problema: não parece haver uma maneira de lidar com o roteamento no Azure.

Digamos, por uma questão de simplicidade, que eu tenha três redes virtuais:

  • Rede A - 10.10.1.0/24
  • Rede B - 10.10.2.0/24
  • Rede C - 10.10.3.0/24

Eu quero conectar a Rede A à Rede B e a Rede B à Rede C; Eu não quero uma conexão direta entre as redes A e C: Eu quero que a Rede A fale com a Rede C através da Rede B.

Isso seria um completo problema se eu tivesse o controle dos gateways; algumas rotas estáticas resolveriam o problema de maneira rápida e eficaz.

No entanto, no Azure não consigo encontrar uma maneira de definir rotas adicionais para redes virtuais, portanto, não posso informar ao gateway da Rede A "enviar tráfego endereçado para a Rede C para a Rede B" (e vice-versa).

Como isso pode ser alcançado no Azure?

    
por Massimo 13.09.2014 / 18:06

2 respostas

5

Ok, isso pode ser feito, mas definitivamente não é tão fácil quanto poderia (e deveria) ser.

Basicamente, o truque é usar as "redes locais" do Azure para configurar os gateways do Azure como quisermos, mesmo que não possamos tocar diretamente em suas configurações.

Para configurar uma conexão entre duas redes virtuais do Azure, é necessário definir duas "redes locais" correspondentes e, em seguida, cada rede deve se conectar à "rede local" correspondente à outra; isso já é um processo não tão simples, mas pelo menos existe algumas documentação sobre isso. Ter mais de uma conexão única para uma determinada rede virtual é ainda mais complexo, porque você não pode manipular isso do portal de gerenciamento (ou PowerShell) e, em vez disso, deve editar manualmente os arquivos de configuração de rede; no entanto, até isso pode ser feito .

Mas e o roteamento? No cenário descrito nesta questão, e assumindo que a Rede B está conectada corretamente à Rede A e à Rede C, como podemos rotear o tráfego entre essas duas redes?

Podemos fazer isso usando as definições da rede local; Basicamente, temos que informar ao gateway da Rede A que sua conexão com a Rede B não é apenas boa para alcançar a sub-rede IP da Rede B, mas também a da Rede C; e, claro, vamos dizer o contrário para o gateway da Rede C.

Já temos que definir quatro redes locais:

  • Rede Local A (do ponto de vista da Rede Virtual B): 10.10.1.0/24
  • Rede Local C (do ponto de vista da Rede Virtual B): 10.10.3.0/24
  • Rede Local B (do ponto de vista da Rede Virtual A): 10.10.2.0/24
  • Rede Local B (do ponto de vista da Rede Virtual C): 10.10.2.0/24

Nós os modificaremos assim:

  • Rede Local A (do ponto de vista da Rede Virtual B): 10.10.1.0/24
  • Rede Local C (do ponto de vista da Rede Virtual B): 10.10.3.0/24
  • Rede Local B (do ponto de vista da Rede Virtual A): 10.10.2.0/24 e 10.10.3.0/24
  • Rede Local B (do ponto de vista da Rede Virtual C): 10.10.2.0/24 e 10.10.1.0/24

Desta forma, quando a Rede A se conecta à Rede B, ela usará esta conexão para rotear pacotes direcionados para a Rede C. Quando o gateway da Rede B os receber, ele já saberá como lidar com eles, e os roteará. através da sua ligação à Rede C; e vice-versa.

Como um bônus adicional, isso funciona para conexões site a site fora do Azure também. Se você quiser jogar uma VPN no seu QG da empresa e, por exemplo, conecte-o à Rede B (criando assim uma topologia em forma de Y), você pode dizer à Rede A e à Rede B que eles podem alcançar o QG da sua empresa através de sua conexão com a Rede B, exatamente da mesma maneira.

    
por 23.09.2014 / 17:17
3

O Azure introduziu o peering do vNet se você não quiser se preocupar com VPN toda vez que quiser conectar duas redes:

link

link

Pode valer a pena dar uma olhada, porque ele pega as getways que eram uma dor no pescoço para gerenciar.

Se você quiser mais informações sobre como implementá-lo, criei um encadeamento no meu blob com esse propósito e como usar o PFSENSE no Azure. (O PFSENSE é grátis e eu empacotei um VHD para isso se você quiser um roteador livre)

link

    
por 13.11.2017 / 16:21