En esta página se describe cómo añadir un túnel VPN de una pasarela VPN a otra.
Un túnel VPN es un túnel IPsec cifrado entre la red de una organización y una red remota. Conecta una interfaz VPNGateway
con una interfaz PeerGateway
y usa el recurso VPNBGPPeer
para intercambiar información de enrutamiento a través del túnel.
Antes de empezar
Para crear un túnel VPN, debes tener lo siguiente:
- Una pasarela VPN y una pasarela VPN de par. Para obtener más información, consulta Crear una pasarela de VPN y una pasarela de par.
- Un objeto de par de BGP de VPN. Para obtener más información, consulta Crear una sesión de BGP de VPN.
- Un secreto ya creado. Para obtener más información, consulta Crear el secreto con una PSK.
Los roles de identidad y acceso necesarios:
- Administrador de VPN: tiene permisos de lectura y escritura en todos los recursos relacionados con VPN. Pídele al administrador de gestión de identidades y accesos de tu organización que te conceda el rol de administrador de VPN (
vpn-admin
). - Lector de VPN: tiene permisos de lectura en todos los recursos relacionados con VPN. Pide al administrador de gestión de identidades y accesos de tu organización que te conceda el rol de lector de VPN (
vpn-viewer
). - Para obtener más información, consulta Definiciones de roles.
- Administrador de VPN: tiene permisos de lectura y escritura en todos los recursos relacionados con VPN. Pídele al administrador de gestión de identidades y accesos de tu organización que te conceda el rol de administrador de VPN (
Crear un túnel VPN
Haz referencia a los recursos VPNGateway
, PeerGateway
, VPNBGPPeer
y Secret
que has creado en los pasos anteriores para crear el túnel.
Para crear un túnel VPN, siga estos pasos:
Crea el 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
Haz los cambios siguientes:
MANAGEMENT_API_SERVER
: la ruta kubeconfig del servidor de la API zonal. Si aún no has generado un archivo kubeconfig para el servidor de la API en tu zona de destino, consulta Iniciar sesión para obtener más información.VPN_TUNNEL_NAME
: el nombre del túnel VPN que se está usando.VPN_GW_NAME
: el nombre de la pasarela VPN.VPN_INTERFACE_NAME
: el nombre de la interfaz de la VPN.PEER_GW_NAME
: el nombre de la pasarela de VPN de par.PEER_INTERFACE_NAME
: el nombre de la interfaz de pasarela de VPN de par.VPN_BGP_PEER_NAME
: nombre del par de BGP de la VPN. Para obtener más información, consulta el artículo Crear una sesión de BGP de VPN.PSK_NAME
: el nombre de la clave precompartida que has creado en Crea el secreto con una clave precompartida.
Comprueba que el objeto
VPN_TUNNEL_NAME
se haya conciliado correctamente examinando el campoStatus
. Obtén los detalles del túnel VPN:kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpntunnel VPN_TUNNEL_NAME
Examina la salida. Debe ser similar al siguiente ejemplo:
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
Los objetos
VPNGateway
,PeerGateway
yVPNBGPPeer
deben tener estados actualizados después de que unVPNTunnel
haga referencia a ellos. Por ejemplo, si verifica que elVPNBGPPeer
se ha conciliado correctamente, verá los valores de estado actualizados. Obtén los detalles del objetoVPNBGPPeer
:kubectl --kubeconfig MANAGEMENT_API_SERVER describe -n platform vpnbgppeer VPN_BGP_PEER_NAME
Examina el resultado. Los valores de estado ahora están actualizados:
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