Fehlerbehebung bei AWS Client-VPN-Verbindungen mit Linux-basierten Clients - AWS Client VPN

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Fehlerbehebung bei AWS Client-VPN-Verbindungen mit Linux-basierten Clients

Die folgenden Abschnitte enthalten Informationen zu Protokollierung und Problemen, die bei der Verwendung von Linux-Clients auftreten können. Stellen Sie bitte sicher, dass Sie die neueste Version dieser Clients ausführen.

AWS bereitgestellte Client-Ereignisprotokolle

Der AWS bereitgestellte Client speichert Protokolldateien und Konfigurationsdateien am folgenden Speicherort auf Ihrem System:

/home/username/.config/AWSVPNClient/

Der AWS bereitgestellte Client-Daemon-Prozess speichert Protokolldateien am folgenden Ort auf Ihrem System:

/var/log/aws-vpn-client/

Sie können beispielsweise die folgenden Protokolldateien überprüfen, um Fehler in den DNS-Up-/Down-Skripten zu finden, die dazu führen, dass die Verbindung fehlschlägt:

  • /var/log/aws-vpn-client/configure-dns-up.log

  • /var/log/aws-vpn-client/configure-dns-down.log

DNS-Abfragen werden an einen Standard-Nameserver gesendet

Problem

Unter bestimmten Umständen, nachdem eine VPN-Verbindung hergestellt wurde, werden DNS-Abfragen weiterhin an den Standardsystemnameserver weitergeleitet, anstatt an die für den ClientVPN-Endpunkt konfigurierten Nameserver.

Ursache

Der Client interagiert mit systemd-resolved, einem auf Linux-Systemen verfügbaren Service, der als zentraler Bestandteil der DNS-Verwaltung dient. Der Service wird verwendet, um DNS-Server zu konfigurieren, die vom ClientVPN-Endpunkt übertragen werden. Das Problem tritt auf, wenn systemd-resolved nicht die höchste Priorität für DNS-Server festlegt, die vom ClientVPN-Endpunkt bereitgestellt werden. Stattdessen werden die Server an die vorhandene Liste der DNS-Server angehängt, die auf dem lokalen System konfiguriert sind. Daher haben die ursprünglichen DNS-Server möglicherweise immer noch die höchste Priorität und werden daher zum Auflösen von DNS-Abfragen verwendet.

Lösung
  1. Fügen Sie der OpenVPN-Konfigurationsdatei die folgende Anweisung auf der ersten Zeile hinzu, damit alle DNS-Abfragen an den VPN-Tunnel gesendet werden.

    dhcp-option DOMAIN-ROUTE .
  2. Verwenden Sie den Stub-Resolver, der von systemd-resolved bereitgestellt wird. Dafür müssen Sie symlink /etc/resolv.conf zu /run/systemd/resolve/stub-resolv.conf verwenden, indem Sie den folgenden Befehl auf dem System ausführen.

    sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
  3. (Optional) Wenn Sie nicht möchten, dass systemd-resolved Proxy-DNS-Abfragen erstellt, sondern dass die Abfragen direkt an die echten DNS-Nameserver gesendet werden, verwenden Sie stattdessen symlink /etc/resolv.conf auf /run/systemd/resolve/resolv.conf.

    sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

    Möglicherweise möchten Sie dieses Verfahren durchführen, um die von Systemd aufgelöste Konfiguration zu umgehen, z. B. für das Zwischenspeichern von DNS-Antworten, die DNS-Konfiguration pro Schnittstelle, DNSSec die Durchsetzung usw. Diese Option ist besonders nützlich, wenn Sie einen öffentlichen DNS-Eintrag mit einem privaten Datensatz überschreiben müssen, wenn Sie mit VPN verbunden sind. Sie haben beispielsweise einen privaten DNS-Resolver in Ihrer privaten VPC mit einem Datensatz für www.beispiel.com, der in eine private IP aufgelöst wird. Diese Option kann verwendet werden, um den öffentlichen Datensatz von www.example.com zu überschreiben, der in eine öffentliche IP aufgelöst wird.

OpenVPN (Befehlszeile)

Problem

Die Verbindung funktioniert nicht ordnungsgemäß, da die DNS-Auflösung nicht funktioniert.

Ursache

Der DNS-Server ist am Client VPN-Endpunkt nicht konfiguriert oder er wird von der Client-Software nicht berücksichtigt.

Lösung

Überprüfen Sie mit den folgenden Schritten, ob der DNS-Server konfiguriert ist und korrekt funktioniert.

  1. Stellen Sie sicher, dass ein DNS-Server-Eintrag in den Protokollen vorhanden ist. Im folgenden Beispiel wird in der letzten Zeile der (im Client VPN-Endpunkt konfigurierte) DNS-Server 192.168.0.2 zurückgegeben.

    Mon Apr 15 21:26:55 2019 us=274574 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1) WRRMon Apr 15 21:26:55 2019 us=276082 PUSH: Received control message: 'PUSH_REPLY,redirect-gateway def1 bypass-dhcp,dhcp-option DNS 192.168.0.2,route-gateway 10.0.0.97,topology subnet,ping 1,ping-restart 20,auth-token,ifconfig 10.0.0.98 255.255.255.224,peer-id 0

    Wenn kein DNS-Server angegeben ist, bitten Sie Ihren Client VPN-Administrator, den Client VPN-Endpunkt zu ändern und sicherzustellen, dass für den Client VPN-Endpunkt ein DNS-Server (z. B. der VPC-DNS-Server) angegeben ist. Weitere Informationen finden Sie unter Client-VPN-Endpunkte im AWS Client VPN -Administratorhandbuch.

  2. Stellen Sie sicher, dass das resolvconf-Paket installiert ist, indem Sie den folgenden Befehl ausführen.

    sudo apt list resolvconf

    Die Ausgabe sollte Folgendes zurückgeben.

    Listing... Done resolvconf/bionic-updates,now 1.79ubuntu10.18.04.3 all [installed]

    Wenn es nicht installiert ist, installieren Sie es mit dem folgenden Befehl.

    sudo apt install resolvconf
  3. Öffnen Sie die Client VPN-Konfigurationsdatei (die OVPN-Datei) in einem Texteditor und fügen Sie die folgenden Zeilen hinzu.

    script-security 2 up /etc/openvpn/update-resolv-conf down /etc/openvpn/update-resolv-conf

    Überprüfen Sie die Protokolle, um sicherzustellen, dass das resolvconf-Skript aufgerufen wurde. Die Protokolle sollten eine Zeile ähnlich der folgenden enthalten.

    Mon Apr 15 21:33:52 2019 us=795388 /etc/openvpn/update-resolv-conf tun0 1500 1552 10.0.0.98 255.255.255.224 init dhcp-option DNS 192.168.0.2

OpenVPN über Network Manager (GUI)

Problem

Bei Verwendung des Network Manager OpenVPN-Clients schlägt die Verbindung mit folgendem Fehler fehl.

Apr 15 17:11:07 OpenVPN 2.4.4 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Sep 5 2018 Apr 15 17:11:07 library versions: OpenSSL 1.1.0g 2 Nov 2017, LZO 2.08 Apr 15 17:11:07 RESOLVE: Cannot resolve host address: cvpn-endpoint-1234.prod.clientvpn.us-east-1.amazonaws.com:443 (Name or service not known) Apr 15 17:11:07 RESOLVE: Cannot resolve host Apr 15 17:11:07 Could not determine IPv4/IPv6 protocol
Ursache

Das remote-random-hostname-Flag wird nicht beachtet. Der Client kann keine Verbindung mit dem network-manager-gnome-Paket herstellen.

Lösung

Siehe die Lösung für Auflösung des DNS-Namens des Client-VPN-Endpunkts im AWS Client VPN -Administratorhandbuch.