Conexão VPN no Google Compute Engine

1

Eu tenho uma nova configuração do Google Cloud Platform. Consiste em uma VM (mais a ser adicionada) e uma VPN em outra rede onde eu tenho 3 sub-redes pequenas (duas / 24 e uma / 32).

Quando configurei a VPN pela primeira vez, usei o / 32 e estava tudo bem - a conexão VPN do Google estabeleceria a conexão, da minha VM eu podia fazer ping no IP / 32 e estava tudo ótimo.

Esta semana, tentamos trazer os / 24s para a conexão. Voltei para a conexão VPN do Google, adicionei os / 24s no intervalo de IP da rede remota e foi aí que tudo começou dando errado.

Os registros do Google mostram que o link está tentando estabelecer, mas a única maneira de abrir o túnel é fazer com que alguém na rede ponto-a-ping execute minha VM, a conexão VPN mostre ESTABLISHED e a sub-rede dessa caixa é então disponível na minha VM - as outras sub-redes ainda estão indisponíveis.

Às vezes tenho notado que se eu fizer ping da rede ponto a ponto em uma das outras sub-redes, a sub-rede ficará disponível e a primeira será descartada (isso nem sempre acontece e, às vezes, o ping peer para VM ainda falha).

Hoje à noite, configurei da VM dois pings para IPs nas diferentes sub-redes de pares / 24. Eu posso ver o flip flipping de conectividade entre os / 24's. Ele não está se alternando rapidamente (vejo que a sub-rede A estava funcionando até o ping seq 240, paralisada até o seq 3370 e que continuava funcionando até o seq 3660). Eu não tinha configurado o iTerm para permitir um scrollback ilimitado, então eu não posso ver a estabilidade para a sub-rede B, mas pelo fato de a sub-rede B ter ultrapassado as 1000 linhas, eu suponho que ela esteja acima da sub-rede A

.

Ambas as extremidades da VPN foram reconstruídas algumas vezes agora e cada vez que o mesmo problema permanece. Estou faltando algum passo aqui, ou há um problema genuíno que precisa ser resolvido?

Se eu reconstruir a VPN e permitir apenas um dos / 24s, o problema desaparece e as coisas começam a funcionar novamente.

    
por Matt P 25.06.2015 / 22:08

1 resposta

1

Parece que você está enfrentando um problema descrito na documentação da vpn :

Associações de segurança e várias sub-redes

O Cloud VPN cria uma única associação de segurança filho (SA) anunciando todos os blocos CIDR associados ao túnel. Alguns dispositivos de mesmo nível do IKEv2 suportam esse comportamento, e alguns suportam apenas a criação de uma SA filha exclusiva para cada bloco do CIDR. Com estes últimos dispositivos, os túneis com múltiplos blocos CIDR podem falhar em estabelecer.

Existem várias soluções alternativas para este problema:

  1. Use o Cloud Router para criar rotas negociadas por BGP. Com esta configuração, os CIDRs não são negociados no protocolo IKE.
  2. Configure o dispositivo de mesmo nível para ter vários CIDRs no mesmo SA filho. Apenas alguns dispositivos suportam isso, e isso só é possível no IKEv2.
  3. Se possível, agregue os CIDRs em um único CIDR maior.
  4. Crie um túnel separado para cada bloco CIDR. Se necessário, você pode criar vários gateways da VPN para essa finalidade.

Eu encontrei o mesmo problema muito recentemente tentando se conectar a um par com 2 endereços IP únicos / 32 para a rede remota. Consegui mesclar os 2 IPs em um único bloco / 31 CIDR e isso funcionou.

Dito isso, com dois / 24s e um / 32, não sei se mesclá-los em um único bloco CIDR é realista. Você já está fazendo a opção 4 como solução alternativa. Se você estiver usando o IKEv1, bloqueando qualquer coisa com o Cloud Router (que recentemente passou de Alfa para Beta), isso pode ser o melhor que você pode fazer agora.

    
por 08.06.2016 / 23:43