GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So installieren und konfigurieren Sie strongSwan VPN unter Ubuntu 18.04

Ein VPN ermöglicht Ihnen den sicheren Zugriff auf das Internet in einem nicht vertrauenswürdigen öffentlichen Wi-Fi-Netzwerk. Sie können sich über die verschlüsselte Verbindung mit Remote-VPN-Servern verbinden und anonym im Internet surfen.

strongSwan ist kostenlos, Open Source und die am weitesten verbreitete IPsec-basierte virtuelle private Netzwerkimplementierung, mit der Sie einen verschlüsselten sicheren Tunnel zwischen zwei oder mehr entfernten Netzwerken erstellen können.

strongSwan verwendet das IKEv2-Protokoll, das ein direktes IPSec-Tunneling zwischen dem Server und dem Client ermöglicht. strongSwan steht für Strong Secure WAN und unterstützt beide Versionen des automatischen Schlüsselaustauschs in IPsec VPN, IKE V1 und V2.

In diesem Tutorial zeigen wir Ihnen, wie Sie strongSwan VPN auf Ubuntu 18.04 installieren und konfigurieren.

Voraussetzungen

  • Ein frisches Ubuntu 18.04 VPS auf der Atlantic.Net Cloud Platform.
  • Ein auf Ihrem Server konfiguriertes Root-Passwort.

Schritt 1 – Erstellen Sie einen Atlantic.Net Cloud-Server

Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Ubuntu 18.04 als Betriebssystem mit mindestens 1 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.

Sobald Sie sich bei Ihrem Ubuntu 18.04-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.

apt-get update -y

Schritt 2 – Kernel-Paketweiterleitung aktivieren

Zuerst müssen Sie den Kernel konfigurieren, um die Paketweiterleitung für IPv4 zu aktivieren. Sie können es konfigurieren, indem Sie die Datei /etc/sysctl.conf:

bearbeiten
nano /etc/sysctl.conf

Fügen Sie am Ende der Datei die folgenden Zeilen hinzu:

net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.send_redirects = 0

Speichern und schließen Sie die Datei. Führen Sie dann den folgenden Befehl aus, um die Einstellungen neu zu laden:

sysctl -p

Schritt 3 – StrongSwan installieren

Zuerst müssen Sie den strongSwan IPSec-Daemon in Ihrem System installieren. Sie können es installieren, indem Sie einfach den folgenden Befehl ausführen:

apt-get install strongswan libcharon-extra-plugins strongswan-pki -y

Sobald die Installation abgeschlossen ist, können Sie mit dem nächsten Schritt fortfahren.

Schritt 4 – Einrichten einer Zertifizierungsstelle

Jetzt müssen Sie das VPN-Serverzertifikat und den Schlüssel für den VPN-Client generieren, um die Authentizität des VPN-Servers zu überprüfen.

Generieren Sie zunächst einen privaten Schlüssel zum Selbstsignieren des CA-Zertifikats mit einem PKI-Dienstprogramm:

ipsec pki --gen --size 4096 --type rsa --outform pem > ca.key.pem

Erstellen Sie als Nächstes Ihre Stammzertifizierungsstelle und verwenden Sie den obigen Schlüssel, um das Stammzertifikat zu signieren:

ipsec pki --self --in ca.key.pem --type rsa --dn "CN=VPN Server CA" --ca --lifetime 3650 --outform pem > ca.cert.pem

Als Nächstes müssen Sie ein Zertifikat und einen Schlüssel für den VPN-Server erstellen, damit der Client die Authentizität des Servers mit dem soeben generierten CA-Zertifikat überprüfen kann.

Erstellen Sie zunächst mit dem folgenden Befehl einen privaten Schlüssel für den VPN-Server:

ipsec pki --gen --size 4096 --type rsa --outform pem > server.key.pem

Generieren Sie als Nächstes das Serverzertifikat, indem Sie den folgenden Befehl ausführen:

ipsec pki --pub --in server.key.pem --type rsa | ipsec pki --issue --lifetime 2750 --cacert ca.cert.pem --cakey ca.key.pem --dn "CN=vpn.example.com" --san="vpn.example.com" --flag serverAuth --flag ikeIntermediate --outform pem > server.cert.pem

Als nächstes müssen Sie das obige Zertifikat wie unten gezeigt in die entsprechenden IPSec-Zertifikatsverzeichnisse kopieren:

mv ca.cert.pem /etc/ipsec.d/cacerts/
mv server.cert.pem /etc/ipsec.d/certs/
mv ca.key.pem /etc/ipsec.d/private/
mv server.key.pem /etc/ipsec.d/private/

An diesem Punkt haben Sie alle Zertifikate bereit und können nun mit dem nächsten Schritt fortfahren.

Schritt 5 – StrongSwan konfigurieren

strongSwan hat eine Standardkonfigurationsdatei, die sich unter /etc/ipsec.conf befindet. Es wird empfohlen, die Standardkonfigurationsdatei umzubenennen und eine neue Datei zu erstellen.

Führen Sie den folgenden Befehl aus, um die Standardkonfigurationsdatei umzubenennen:

mv /etc/ipsec.conf /etc/ipsec.conf.bak

Als nächstes erstellen Sie eine neue Konfigurationsdatei wie unten gezeigt:

nano /etc/ipsec.conf

Fügen Sie die folgenden Zeilen hinzu:

config setup
        charondebug="ike 2, knl 2, cfg 2, net 2, esp 2, dmn 2, mgr 2"
        strictcrlpolicy=no
        uniqueids=yes
        cachecrls=no

conn ipsec-ikev2-vpn
      auto=add
      compress=no
      type=tunnel  # defines the type of connection, tunnel.
      keyexchange=ikev2
      fragmentation=yes
      forceencaps=yes
      dpdaction=clear
      dpddelay=300s
      rekey=no
      left=%any
      [email protected]    # if using IP, define it without the @ sign
      leftcert=server.cert.pem  # reads the VPN server cert in /etc/ipsec.d/certs
      leftsendcert=always
      leftsubnet=0.0.0.0/0
      right=%any
      rightid=%any
      rightauth=eap-mschapv2
      rightsourceip=192.168.0.0/24
      rightdns=8.8.8.8 DNS to be assigned to clients
      rightsendcert=never
      eap_identity=%identity  # defines the identity the client uses to reply to an EAP Identity request.

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Wo:

Konfigurationseinstellung : Gibt allgemeine Konfigurationsinformationen für IPSec an, die für alle Verbindungen gelten.
charondebug : Definiert, wie viel Charon-Debugging-Ausgabe protokolliert werden soll.
leftid : Gibt den Domänennamen oder die IP-Adresse des Servers an.
leftcert : Gibt den Namen des Serverzertifikats an.
leftsubnet : Gibt das private Subnetz hinter dem linken Teilnehmer an.
rightsourceip : Den Clients zuzuweisender IP-Adresspool.
rightdns : DNS, die Clients zugewiesen werden soll.

Schritt 6 – Authentifizierung konfigurieren

Zu diesem Zeitpunkt ist Ihr VPN-Server so konfiguriert, dass er Client-Verbindungen akzeptiert. Als Nächstes müssen Sie die Client-Server-Authentifizierungsdaten konfigurieren, um die privaten RSA-Schlüssel für die Authentifizierung zu definieren und die EAP-Benutzerdaten einzurichten.

nano /etc/ipsec.secrets

Fügen Sie die folgenden Zeilen hinzu:

: RSA "server.key.pem"
.vpnsecure : EAP "your-secure-password"

Speichern und schließen Sie die Datei. Starten Sie dann den strongSwan-Dienst neu und ermöglichen Sie ihm, beim Neustart zu starten:

systemctl restart strongswan
systemctl enable strongswan

Sie können den Status des strongSwan-Dienstes auch mit dem folgenden Befehl überprüfen:

systemctl status strongswan

Sie sollten die folgende Ausgabe sehen:

• strongswan.service - strongSwan IPsec IKEv1/IKEv2 daemon using ipsec.conf
   Loaded: loaded (/lib/systemd/system/strongswan.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2020-05-08 08:02:08 UTC; 8s ago
 Main PID: 29947 (starter)
    Tasks: 18 (limit: 2359)
   CGroup: /system.slice/strongswan.service
           ├─29947 /usr/lib/ipsec/starter --daemon charon --nofork
           └─29973 /usr/lib/ipsec/charon --debug-ike 2 --debug-knl 2 --debug-cfg 2 --debug-net 2 --debug-esp 2 --debug-dmn 2 --debug-mgr 2

May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   eap_identity=%identity
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   dpddelay=300
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   dpdtimeout=150
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   dpdaction=1
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   sha256_96=no
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   mediation=no
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   keyexchange=ikev2
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG] adding virtual IP address pool 192.168.0.0/24
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG]   loaded certificate "CN=vpn.example.com" from 'server.cert.pem'
May 08 08:02:08 ubuntu1804 charon[29973]: 05[CFG] added configuration 'ipsec-ikev2-vpn'

Sie können die strongSwan-Zertifikate auch mit dem folgenden Befehl überprüfen:

ipsec listcerts

Sie sollten die folgende Ausgabe erhalten:

List of X.509 End Entity Certificates

  subject:  "CN=vpn.example.com"
  issuer:   "CN=VPN Server CA"
  validity:  not before May 08 07:59:18 2020, ok
             not after  Nov 18 07:59:18 2027, ok (expires in 2749 days)
  serial:    7b:f8:ab:dc:ca:64:dd:93
  altNames:  vpn.example.com
  flags:     serverAuth ikeIntermediate
  authkeyId: 12:60:f6:05:15:80:91:61:d6:e9:8f:72:a3:a5:a5:ff:a7:38:1a:32
  subjkeyId: bf:1d:b1:1b:51:a0:f7:63:33:e2:5f:4c:cb:73:4f:64:0f:b9:84:09
  pubkey:    RSA 4096 bits
  keyid:     e4:72:d0:97:20:ec:a5:79:f2:e0:bf:aa:0e:41:a8:ec:67:06:de:ee
  subjkey:   bf:1d:b1:1b:51:a0:f7:63:33:e2:5f:4c:cb:73:4f:64:0f:b9:84:09

An dieser Stelle ist Ihr strongSwan-VPN-Server installiert und konfiguriert. Sie können jetzt mit der Installation und Konfiguration des VPN-Clients fortfahren, um eine Verbindung zum VPN-Server herzustellen.

Schritt 7 – StrongSwan-Client installieren und konfigurieren

Melden Sie sich beim Clientsystem an und führen Sie den folgenden Befehl aus, um die strongSwan-Clientpakete zu installieren:

apt-get install strongswan libcharon-extra-plugins -y

Deaktivieren Sie nach der Installation den strongSwan-Dienst, um beim Booten zu starten:

systemctl disable strongswan

Kopieren Sie als Nächstes die Datei „ca.cert.pem“ mit dem folgenden Befehl vom VPN-Server auf den VPN-Client:

scp [email protected]:/etc/ipsec.d/cacerts/ca.cert.pem /etc/ipsec.d/cacerts/

Als nächstes konfigurieren Sie die VPN-Client-Authentifizierung, indem Sie die Datei /etc/ipsec.secrets:

bearbeiten
nano /etc/ipsec.secrets

Fügen Sie die folgende Zeile hinzu:

vpnsecure : EAP "your-secure-password"

Speichern und schließen Sie die Datei. Bearbeiten Sie dann die StrongSwan-Standardkonfigurationsdatei:

nano /etc/ipsec.conf

Fügen Sie die folgenden Zeilen hinzu:

conn ipsec-ikev2-vpn-client
    auto=start
    right=vpn.example.com
    rightid=vpn.example.com
    rightsubnet=0.0.0.0/0
    rightauth=pubkey
    leftsourceip=%config
    leftid=vpnsecure
    leftauth=eap-mschapv2
    eap_identity=%identity

Speichern und schließen Sie die Datei. Starten Sie dann den strongSwan-Dienst mit dem folgenden Befehl neu:

systemctl restart strongswan

Überprüfen Sie auf dem strongSwan-Server den VPN-Verbindungsstatus mit dem folgenden Befehl:

ipsec status

Sie sollten sehen, dass die IP 192.168.0.5 dem VPN-Client zugewiesen wird:

Security Associations (1 up, 0 connecting):
ipsec-ikev2-vpn-client[1]: ESTABLISHED 1 minutes ago, [vpnsecure]...192.168.0.1[vpn.example.com]
ipsec-ikev2-vpn-client{1}:  INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: 74ab87d0db9ea3d5_i 684cb0dbe4d1a70d_r
ipsec-ikev2-vpn-client{1}:   192.168.0.5/32 === 0.0.0.0/0

Schlussfolgerung

Herzliche Glückwünsche! Sie haben strongSwan VPN Server und Client auf Ubuntu 18.04 erfolgreich installiert und konfiguriert. Sie durchqueren jetzt sicher das Internet und schützen Ihre Identität, Ihren Standort und Ihren Datenverkehr vor Schnüfflern und Zensoren – starten Sie noch heute auf Ihrem VPS-gehosteten Ubuntu-Server von Atlantic.Net!

Erfahren Sie mehr über unsere VPS-Hosting-Services und Virtual Private Server.


Linux
  1. So installieren und konfigurieren Sie den Algo VPN-Server unter Ubuntu 20.04

  2. So installieren und konfigurieren Sie den DHCP-Server unter Ubuntu 20.04

  3. So installieren und konfigurieren Sie den Redis-Server in Ubuntu

  4. So installieren und konfigurieren Sie den MariaDB Galera-Cluster unter Ubuntu 18.04

  5. So installieren und konfigurieren Sie den OpenVPN-Server unter Ubuntu 20.04

So installieren und konfigurieren Sie LAMP Server unter Ubuntu

So installieren und konfigurieren Sie den OpenLDAP-Server unter Ubuntu 16.04

So installieren und konfigurieren Sie VNC auf Ubuntu Server 20.04

So installieren und konfigurieren Sie Parse Server unter Ubuntu 20.04

So installieren und konfigurieren Sie einen TeamSpeak Server auf Ubuntu 18.04

So installieren und konfigurieren Sie einen Minecraft-Server unter Ubuntu 18.04