IBM Cloud Docs
Verbindung zu einem strongSwan-Peer herstellen

Verbindung zu einem strongSwan-Peer herstellen

Mit IBM Cloud VPN for VPC können Sie Ihre VPC über einen VPN-Tunnel sicher mit einem lokalen Netz zu verbinden. Dieser Abschnitt enthält eine Anleitung dazu, wie Sie Ihr strongSwan-VPN-Gateway für die Verbindung zu VPN for VPC konfigurieren.

Diese Anweisungen basieren auf Linux strongSwan U5.3.5/K4.4.0-133-generic.

Lesen Sie die Einschränkungen für VPN-Gateways, bevor Sie damit fortfahren, eine Verbindung zu Ihrem lokalen Peer herzustellen.

Wechseln Sie in das Verzeichnis /etc und erstellen Sie eine neue benutzerdefinierte Tunnelkonfigurationsdatei mit einem Namen (z. B. ipsec.abc.conf). Bearbeiten Sie die Datei /etc/ipsec.conf, um die neue Datei ipsec.abc.conf einzufügen, indem Sie die folgende Zeile hinzufügen:

include /etc/ipsec.abc.conf

Wenn das strongSwan-VPN eine Verbindungsanforderung von VPN for VPC empfängt, werden von strongSwan die IPsec Phase 1-Parameter verwendet, um eine sichere Verbindung herzustellen und das VPN for VPC-Gateway zu authentifizieren. Wenn die Sicherheitsrichtlinie die Verbindung zulässt, richtet das strongSwan-VPN den Tunnel unter Verwendung der IPsec Phase 2-Parameter ein und wendet die IPsec-Sicherheitsrichtlinie an. Schlüsselmanagement, Authentifizierung und Sicherheitsservices werden über das IKE-Protokoll dynamisch vereinbart.

Zur Unterstützung dieser Funktionen müssen die folgenden allgemeinen Konfigurationsschritte auf dem strongSwan-VPN durchgeführt werden:

  • Definieren Sie die Phase 1-Parameter, die strongSwan zum Authentifizieren von VPN for VPC und zum Einrichten einer sicheren Verbindung benötigt.
  • Definieren Sie die Phase 2-Parameter, die strongSwan zum Erstellen eines VPN-Tunnels mit VPN for VPC benötigt.

Verbindung eines auf IBM Richtlinien basierenden VPN zu einem strongSwan-Peer herstellen

Verwenden Sie die folgende Konfiguration:

  1. Wählen Sie in der Authentifizierung IKEv2 aus.

  2. Aktivieren Sie DH-group 2 im Vorschlag für Phase 1.

  3. Legen Sie lifetime = 36000 im Vorschlag für Phase 1 fest.

  4. Inaktivieren Sie PFS im Vorschlag für Phase 2.

  5. Legen Sie lifetime = 10800 im Vorschlag für Phase 2 fest.

  6. Geben Sie die Informationen für den Peer und das Teilnetz im Vorschlag für Phase 2 ein.

    Das folgende Beispiel definiert eine Verbindung zwischen dem lokalen Subnetz 10.160.26.64/26 (dessen strongSwan VPN-Gateway die IP-Adresse 169.45.74.119 hat) und dem VPC-Subnetz 192.168.17.0/28 (dessen VPN for VPC-Gateway die IP-Adresse 169.61.181.116 hat).

    vim /etc/ipsec.abc.conf
    conn all
           type=tunnel
           auto=start
           #aggressive=no
           esp=aes256-sha256!
           ike=aes256-sha256-modp2048!
           left=%any
           leftsubnet=10.160.26.64/26
           rightsubnet=192.168.17.0/28
           right=169.61.181.116
           leftauth=psk
           rightauth=psk
           leftid="169.45.74.119"
           keyexchange=ikev2
           rightid="169.61.181.116"
           lifetime=10800s
           ikelifetime=36000s
           dpddelay=30s
           dpdaction=restart
           dpdtimeout=120s
    
  7. Legen Sie den vorab verteilten Schlüssel in /etc/ipsec.secrets fest:

    vim ipsec.secrets
    # This file holds shared secrets or RSA private keys for authentication.
    
    169.45.74.119 169.61.181.116 : PSK "******"
    
    
  8. Starten Sie nach der Ausführung der Konfigurationsdatei das strongSwan-VPN erneut.

    ipsec restart
    
    

Verbindung eines IBM routenbasierten VPN mit einer strongSwan Gegenstelle

Die folgende Beispielkonfiguration zeigt, wie zwei routenbasierte Tunnel zwischen dem strongSwan und dem VPN for VPC eingerichtet werden können.

  1. Um die IP-Weiterleitung zu aktivieren, geben Sie den folgenden Befehl ein:

    sudo sysctl -w net.ipv4.conf.all.forwarding=1
    
  2. Erstellen Sie eine Datei mit dem Namen /etc/strongswan.d/charon-no-route-install.conf und fügen Sie den folgenden Inhalt hinzu:

    charon {
          install_routes = no
    }
    
  3. Um die VPN-Verbindung zu konfigurieren, aktualisieren Sie die /etc/ipsec.abc.conf-Datei. Im folgenden Beispiel hat das VPN-Gateway zwei öffentliche IPs (135.90.134.86, 135.90.134.87). Die strongSwan Server IP ist 169.59.212.125. Diese Konfiguration schafft zwei Verbindungen. Die leftid ist die öffentliche IP des strongSwan-Servers, während die right und rightid die öffentliche IP des VPN-Gateways darstellen.

    conn peer_135.90.134.86
      keyexchange=ikev2
      left=%any
      leftid=169.59.212.125
      leftsubnet=0.0.0.0/0
      rightsubnet=0.0.0.0/0
      right=135.90.134.86
      rightid=135.90.134.86
      auto=start
      ike=aes256-aes192-aes128-sha512-sha384-sha256-modp2048s256-modp2048s224-modp1024s160-ecp521-ecp384-ecp256-modp8192-modp6144-modp4096-modp3072-modp2048-x25519!
      ikelifetime=36000s
      esp=aes256gcm16-aes192gcm16-aes128gcm16,aes256-aes192-aes128-sha512-sha384-sha256!
      lifetime=10800s
      type=tunnel
      leftauth=psk
      rightauth=psk
      dpdaction = restart
      dpddelay = 10s
      mark = 1
    conn peer_135.90.134.87
      keyexchange=ikev2
      left=%any
      leftid=169.59.212.125
      leftsubnet=0.0.0.0/0
      rightsubnet=0.0.0.0/0
      right=135.90.134.87
      rightid=135.90.134.87
      auto=start
      ike=aes256-aes192-aes128-sha512-sha384-sha256-modp2048s256-modp2048s224-modp1024s160-ecp521-ecp384-ecp256-modp8192-modp6144-modp4096-modp3072-modp2048-x25519!
      ikelifetime=36000s
      esp=aes256gcm16-aes192gcm16-aes128gcm16,aes256-aes192-aes128-sha512-sha384-sha256!
      lifetime=10800s
      type=tunnel
      leftauth=psk
      rightauth=psk
      dpdaction = restart
      dpddelay = 10s
      mark = 2
    
  4. Legen Sie den vorab freigegebenen Schlüssel in der Datei /etc/ipsec.secrets fest und ersetzen Sie ****** durch den tatsächlichen Wert des vorab freigegebenen Schlüssels:

    169.59.212.125 135.90.134.86 : PSK "******"
    169.59.212.125 135.90.134.86 : PSK "******"
    
  5. Erstellen Sie virtuelle Schnittstellen auf dem Server und setzen Sie den VTI-Schnittstellenstatus auf up. Ersetzen Sie mark_num durch den Wert von mark (wie in Schritt 3 definiert). Die local_ip ist die private IP des strongSwan-Servers und die remote_ip ist die öffentliche IP der öffentlichen IP-Adressen des VPN-Gateways.

    # sample: sudo ip tunnel add vti<mark_num> local <local_ip> remote <remote_ip> mode vti key <mark_num>
    sudo ip tunnel add vti1 local 10.240.2.11 remote 135.90.134.86 mode vti key 1
    sudo ip tunnel add vti1 local 10.240.2.11 remote 135.90.134.87 mode vti key 2
    sudo ip link set vti1 up
    sudo ip link set vti2 up
    
  6. Fügen Sie eine Route auf dem strongSwan-Server hinzu. In diesem Beispiel ist 10.240.0.0/24 das Subnetz des VPN-Gateways, zu dem eine Verbindung hergestellt werden soll, und die VTI-Namen sind die VTI-Namen aus Schritt 5.

    sudo ip route add 10.240.0.0/24 proto static nexthop dev vti1 nexthop dev vti2
    
  7. Starten Sie nach der Ausführung der Konfigurationsdatei das strongSwan-VPN erneut.

    ipsec restart