Nesta página, descrevemos como adicionar um túnel de VPN de um gateway de VPN a outro.
Um túnel VPN é um túnel IPsec criptografado entre uma rede de organização e uma rede remota. Ele conecta uma interface VPNGateway a uma interface PeerGateway e usa o recurso VPNBGPPeer para trocar informações de roteamento pelo túnel.
Antes de começar
Para criar um túnel VPN, você precisa do seguinte:
- Um recurso de gateway de VPN e de gateway de VPN de peering. Para mais informações, consulte Criar um gateway de VPN e um gateway de peering.
- Um objeto de peer BGP de VPN. Para mais informações, consulte Criar uma sessão BGP de VPN.
- Um secret atual. Para mais informações, consulte Criar o secret com uma PSK.
Os papéis necessários de identidade e acesso:
- Administrador da VPN: tem permissões de leitura e gravação em todos os recursos relacionados à VPN. Peça ao administrador do IAM da organização para conceder a você o papel de administrador de VPN (
vpn-admin). - Leitor de VPN: tem permissões de leitura em todos os recursos relacionados à VPN. Peça ao administrador do IAM da organização para conceder a você o papel de leitor de VPN (
vpn-viewer). - Para mais informações, consulte Definições de papéis.
- Administrador da VPN: tem permissões de leitura e gravação em todos os recursos relacionados à VPN. Peça ao administrador do IAM da organização para conceder a você o papel de administrador de VPN (
Criar um túnel VPN
Faça referência aos recursos VPNGateway, PeerGateway, VPNBGPPeer e Secret
criados nas etapas anteriores para criar o túnel.
Para criar um túnel de VPN, siga estas etapas:
Crie o objeto
VPNTunnel:kubectl --kubeconfig MANAGEMENT_API_SERVER create -n platform -f - <<EOF apiVersion: networking.gdc.goog/v1 kind: VPNTunnel metadata: name: VPN_TUNNEL_NAME spec: vpnInterface: name: VPN_GW_NAME namespace: platform interface: VPN_INTERFACE_NAME peerInterface: name: PEER_GW_NAME namespace: platform interface: PEER_INTERFACE_NAME vpnBGPPeer: name: VPN_BGP_PEER_NAME namespace: platform ikeKey: name: PSK_NAME namespace: platform EOFSubstitua:
MANAGEMENT_API_SERVER: o caminho do kubeconfig do servidor de API zonal. Se você ainda não gerou um arquivo kubeconfig para o servidor da API na zona de destino, consulte Fazer login para mais detalhes.VPN_TUNNEL_NAME: o nome do túnel da VPN em uso.VPN_GW_NAME: o nome do gateway de VPN.VPN_INTERFACE_NAME: o nome da interface da VPN.PEER_GW_NAME: o nome do gateway de VPN de mesmo nível.PEER_INTERFACE_NAME: o nome da interface do gateway de VPN de mesmo nível.VPN_BGP_PEER_NAME: o nome do peering do BGP da VPN. Para mais informações, consulte Criar uma sessão do BGP de VPN.PSK_NAME: o nome da PSK que você criou em Criar o secret com uma PSK.
Verifique se o objeto
VPN_TUNNEL_NAMEfoi reconciliado corretamente examinando o campoStatus. Acesse os detalhes do túnel VPN:kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpntunnel VPN_TUNNEL_NAMEExamine a saída. Ela precisa ser semelhante ao exemplo a seguir:
Status: Conditions: Last Transition Time: 2024-05-10T00:33:31Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: Reconciled Last Transition Time: 2024-05-10T00:33:31Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: Ready Last Transition Time: 2024-05-10T00:33:31Z Message: Tunnel is established. Observed Generation: 1 Reason: Ready Status: True Type: TunnelEstablished State: EstablishedOs objetos
VPNGateway,PeerGatewayeVPNBGPPeerprecisam ter status atualizados depois de serem referenciados por umVPNTunnel. Por exemplo, se você verificar que oVPNBGPPeerfoi conciliado corretamente, os valores de status atualizados vão aparecer. Confira os detalhes do objetoVPNBGPPeer:kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpnbgppeer VPN_BGP_PEER_NAMEExamine a saída. Os valores de status agora estão atualizados:
Status: Advertised: Prefix: 10.0.0.16/28 Prefix: 10.0.1.32/27 Prefix: 172.16.0.0/14 Prefix: 172.20.0.0/17 Prefix: 172.20.128.0/17 Prefix: 2002:4860:100e:fa00::/58 Conditions: Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: ValidIPs Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: TunnelsAttached Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: Reconciled Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: AdvertisedRoutesReady Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: ReceivedRoutesValid Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: ReceivedRoutesReady Last Transition Time: 2024-05-10T00:36:38Z Message: Ready Observed Generation: 1 Reason: Ready Status: True Type: Ready Received: Prefix: 192.168.100.0/24 Prefix: 193.188.200.0/24 State: Established