Esta página descreve como adicionar um túnel de VPN de um gateway de VPN para outro.
Um túnel de VPN é um túnel IPsec encriptado entre a rede de uma organização e uma rede remota. Liga uma interface VPNGateway a uma interface PeerGateway e usa o recurso VPNBGPPeer para trocar informações de encaminhamento através do túnel.
Antes de começar
Para criar um túnel de VPN, tem de ter o seguinte:
- Um recurso de gateway de VPN e gateway de VPN de intercâmbio existente. Para mais informações, consulte os artigos Crie um gateway de VPN e um gateway de intercâmbio.
- Um objeto de intercâmbio BGP de VPN existente. Para mais informações, consulte o artigo Crie uma sessão BGP de VPN.
- Um segredo existente. Para mais informações, consulte o artigo Crie o segredo com uma PSK.
As funções de identidade e acesso necessárias:
- Administrador de VPN: tem autorizações de leitura e escrita em todos os recursos relacionados com a VPN. Peça ao administrador de IAM da organização para lhe atribuir a função de administrador de VPN (
vpn-admin). - Visualizador de VPN: tem autorizações de leitura em todos os recursos relacionados com a VPN. Peça ao administrador de IAM da organização para lhe atribuir a função de visualizador de VPN (
vpn-viewer). - Para mais informações, consulte o artigo Definições de funções.
- Administrador de VPN: tem autorizações de leitura e escrita em todos os recursos relacionados com a VPN. Peça ao administrador de IAM da organização para lhe atribuir a função de administrador de VPN (
Crie um túnel de VPN
Faça referência aos recursos VPNGateway, PeerGateway, VPNBGPPeer e Secret criados nos passos anteriores para criar o túnel.
Para criar um túnel de VPN, siga estes passos:
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 o seguinte:
MANAGEMENT_API_SERVER: o caminho kubeconfig do servidor da API zonal. Se ainda não gerou um ficheiro kubeconfig para o servidor da API na zona de destino, consulte o artigo Inicie sessão para ver detalhes.VPN_TUNNEL_NAME: o nome do túnel de VPN que está a ser usado.VPN_GW_NAME: o nome do gateway de VPN.VPN_INTERFACE_NAME: o nome da interface de VPN.PEER_GW_NAME: o nome do gateway de VPN de intercâmbio.PEER_INTERFACE_NAME: o nome da interface do gateway de VPN de intercâmbio.VPN_BGP_PEER_NAME: o nome do intercâmbio BGP de VPN. Para mais informações, consulte o artigo Crie uma sessão BGP de VPN.PSK_NAME: o nome da PSK que criou em Crie o segredo com uma PSK.
Verifique se o objeto
VPN_TUNNEL_NAMEfoi reconciliado corretamente examinando o campoStatus. Veja os detalhes do túnel de VPN:kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpntunnel VPN_TUNNEL_NAMEExamine o resultado. Tem de ser semelhante ao seguinte exemplo:
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,PeerGatewayeVPNBGPPeertêm de ter estados atualizados depois de serem referenciados por umVPNTunnel. Por exemplo, se verificar que oVPNBGPPeerfoi reconciliado corretamente, vê valores de estado atualizados. Veja os detalhes do objetoVPNBGPPeer:kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpnbgppeer VPN_BGP_PEER_NAMEExamine o resultado. Os valores de estado estão agora 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