Cette page explique comment ajouter un tunnel VPN d'une passerelle VPN à une autre.
Un tunnel VPN est un tunnel IPsec chiffré entre le réseau d'une organisation et un réseau distant. Il connecte une interface VPNGateway
à une interface PeerGateway
et utilise la ressource VPNBGPPeer
pour échanger des informations de routage sur le tunnel.
Avant de commencer
Pour créer un tunnel VPN, vous devez disposer des éléments suivants :
- Une passerelle VPN et une passerelle VPN de pairs existantes. Pour en savoir plus, consultez Créer une passerelle VPN et une passerelle de pair.
- Objet de pair BGP VPN existant. Pour en savoir plus, consultez Créer une session BGP VPN.
- Un secret existant. Pour en savoir plus, consultez Créer le secret avec une clé PSK.
Rôles d'identité et d'accès nécessaires :
- Administrateur VPN : dispose d'autorisations de lecture et d'écriture sur toutes les ressources liées au VPN. Demandez à votre administrateur IAM de l'organisation de vous attribuer le rôle Administrateur VPN (
vpn-admin
). - Lecteur VPN : dispose d'autorisations de lecture sur toutes les ressources liées au VPN. Demandez à votre administrateur IAM de l'organisation de vous attribuer le rôle Lecteur VPN (
vpn-viewer
). - Pour en savoir plus, consultez Définitions des rôles.
- Administrateur VPN : dispose d'autorisations de lecture et d'écriture sur toutes les ressources liées au VPN. Demandez à votre administrateur IAM de l'organisation de vous attribuer le rôle Administrateur VPN (
Créer un tunnel VPN
Faites référence aux ressources VPNGateway
, PeerGateway
, VPNBGPPeer
et Secret
créées lors des étapes précédentes pour créer le tunnel.
Pour créer un tunnel VPN, procédez comme suit :
Créez l'objet
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
Remplacez les éléments suivants :
MANAGEMENT_API_SERVER
: chemin d'accès au fichier kubeconfig du serveur d'API zonal. Si vous n'avez pas encore généré de fichier kubeconfig pour le serveur d'API dans la zone cible, consultez Se connecter pour en savoir plus.VPN_TUNNEL_NAME
: nom du tunnel VPN utilisé.VPN_GW_NAME
: nom de la passerelle VPN.VPN_INTERFACE_NAME
: nom de l'interface VPN.PEER_GW_NAME
: nom de la passerelle VPN de pairs.PEER_INTERFACE_NAME
: nom de l'interface de la passerelle VPN de pairs.VPN_BGP_PEER_NAME
: nom du pair BGP VPN. Pour en savoir plus, consultez Créer une session BGP VPN.PSK_NAME
: nom de la clé PSK que vous avez créée dans Créer le secret avec une clé PSK.
Vérifiez que l'objet
VPN_TUNNEL_NAME
a été correctement rapproché en examinant le champStatus
. Obtenez les détails du tunnel VPN :kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpntunnel VPN_TUNNEL_NAME
Examinez le résultat. Il doit ressembler à l'exemple suivant :
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
Les objets
VPNGateway
,PeerGateway
etVPNBGPPeer
doivent avoir des états mis à jour après avoir été référencés par unVPNTunnel
. Par exemple, si vous vérifiez que leVPNBGPPeer
a été correctement rapproché, les valeurs d'état sont mises à jour. Obtenez les détails de l'objetVPNBGPPeer
:kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpnbgppeer VPN_BGP_PEER_NAME
Examinez le résultat. Les valeurs d'état sont désormais mises à jour :
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