Esta página descreve como adicionar um túnel de VPN de um gateway de VPN para outro.
Um túnel VPN é um túnel IPsec encriptado entre uma rede de 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 gateway de VPN e um recurso de gateway de VPN de intercâmbio existentes. Para mais informações, consulte o artigo Crie um gateway de VPN e um gateway de intercâmbio.
- Um objeto de par 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 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 conceder a função de administrador de VPN (
vpn-admin
). - Visualizador de VPN: tem autorizações de leitura em todos os recursos relacionados com VPN. Peça ao administrador de IAM da organização para lhe conceder a função de leitor 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 conceder a função de administrador de VPN (
Crie um túnel de VPN
Consulte os 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 EOF
Substitua 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 sua zona segmentada, consulte Iniciar 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 da 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 par BGP da VPN. Para mais informações, consulte 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_NAME
foi reconciliado corretamente examinando o campoStatus
. Obtenha os detalhes do túnel VPN:kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpntunnel VPN_TUNNEL_NAME
Examine 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: Established
Os objetos
VPNGateway
,PeerGateway
eVPNBGPPeer
têm de ter estados atualizados depois de serem referenciados por umVPNTunnel
. Por exemplo, se verificar que oVPNBGPPeer
foi reconciliado corretamente, vê os valores de estado atualizados. Obtenha os detalhes do objetoVPNBGPPeer
:kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpnbgppeer VPN_BGP_PEER_NAME
Examine a saída. 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