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 EOF
Substitua:
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_NAME
foi reconciliado corretamente examinando o campoStatus
. Acesse os detalhes do túnel VPN:kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpntunnel VPN_TUNNEL_NAME
Examine 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: Established
Os objetos
VPNGateway
,PeerGateway
eVPNBGPPeer
precisam ter status atualizados depois de serem referenciados por umVPNTunnel
. Por exemplo, se você verificar que oVPNBGPPeer
foi 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_NAME
Examine 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