Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Wie funktioniert DNS mit meinem Endpunkt im AWS Client VPN?
Ich habe vor, einen AWS-Client-VPN-Endpunkt einzurichten. Ich muss die DNS-Server angeben, die Endbenutzer zum Auflösen von Domainnamen verwenden.
Behebung
Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI-Version verwendest.
Wenn du einen neuen Client-VPN-Endpunkt erstellst, gib eine DNS-Server-IP-Adresse an. Verwende die AWS-Managementkonsole, den AWS-CLI-Befehl create-client-vpn-endpoint oder die API-Operation CreateClientVpnEndpoint, um die IP-Adressen im Parameter „DNS Server IP address“ (DNS-Server-IP-Adresse) anzugeben. Verwende die Konsole, den Befehl modify-client-vpn-endpoint oder die API-Operation ModifyClientVpnEndpoint, um einen vorhandenen Endpunkt zu ändern.
Konfiguriere den Parameter „DNS Server IP address“
Gib für hohe Verfügbarkeit zwei DNS-Server-IP-Adressen an. Wenn der primäre DNS-Server nicht erreichbar ist, versucht der Client, die Abfrage erneut an den sekundären DNS-Server zu senden.
Hinweis: Wenn der primäre DNS-Server mit SERVFAIL antwortet, wird die DNS-Anfrage nicht erneut an den sekundären DNS-Server gesendet.
Stelle sicher, dass Endbenutzer beide angegebenen DNS-Server erreichen können, nachdem die Endbenutzer eine Verbindung zum Client-VPN-Endpunkt hergestellt haben. Wenn die DNS-Server nicht erreichbar sind, schlagen DNS-Anforderungen möglicherweise fehl und führen zu Konnektivitätsproblemen.
Der Parameter „DNS Server IP address“ ist optional. Wenn kein DNS-Server angegeben ist, wird die auf dem Gerät des Endbenutzers konfigurierte DNS-IP-Adresse zur Lösung von DNS-Abfragen verwendet.
Wenn dein Client-VPN-DNS-Server der von AmazonProvidedDNS oder Amazon Route 53 Resolver eingehende Endpunkt ist, beachte Folgendes:
- Du kannst die Ressourcen-Datensätze der privaten gehosteten Zone Route 53 auflösen, die mit der Amazon Virtual Private Cloud (Amazon VPC) verknüpft ist.
- Wenn „Privates DNS“ aktiviert ist, werden öffentliche Amazon-RDS-Hostnamen, auf die über die VPN-Schnittstelle zugegriffen werden kann, zu einer privaten IP-Adresse aufgelöst. Dies gilt auch für AWS-Serviceendpunktnamen, auf die vom Amazon VPC-Schnittstellenendpunkt aus zugegriffen werden kann.
- Vergewissere dich, dass DNS-Auflösung und DNS-Hostnamen für die zugehörige Amazon VPC aktiviert sind.
Der Client-VPN-Endpunkt verwendet die Quell-NAT, um eine Verbindung zu Ressourcen in der zugehörigen VPC herzustellen.
DNS-Verhalten nach Tunneltyp
Nachdem das Client-Gerät den Client-VPN-Tunnel eingerichtet hat, wird der Parameter „DNS Server IP address“ auf den Voll- oder Split-Tunnel angewendet:
- Volltunnel: Der Client fügt eine Route für den gesamten Datenverkehr durch den VPN-Tunnel hinzu. Der gesamte Datenverkehr, einschließlich DNS-Abfragen, wird durch den Tunnel geleitet. Wenn die Amazon VPC keine Route zu den DNS-Servern hat, schlagen Suchvorgänge fehl.
- Split-Tunnel: Der Client fügt nur Routen aus der Client-VPN-Routing-Tabelle hinzu. Um den DNS-Datenverkehr durch das VPN zu leiten, füge der Client-VPN-Routing-Tabelle eine Route für die DNS-Server-IP-Adressen hinzu.
Die folgenden Beispiele gelten sowohl für Windows- als auch für Linux-Umgebungen. Unter Linux gehen die Beispiele davon aus, dass der Client einen generischen Netzwerkmanager verwendet.
Szenario 1: Volltunnel ohne angegebene DNS-Server-IP-Adressen
Beispiel 1:
- IPv4-CIDR des Endbenutzer-Clients: 192.168.0.0/16
- CIDR der Client-VPN-Endpunkt-VPC: 10.123.0.0/16
- Lokale DNS-Server-IP-Adressen: 192.168.1.1
- Der Parameter für die DNS-Server-IP-Adresse ist deaktiviert, und es sind keine DNS-Server-IP-Adressen angegeben
Da der Parameter für die IP-Adresse des DNS-Servers nicht konfiguriert ist, verwendet der Host-Computer des Endbenutzers den lokalen DNS-Server, um Domainnamen aufzulösen.
Dieser Client-VPN-Endpunkt ist im Volltunnelmodus konfiguriert. Um den gesamten Datenverkehr über das VPN zu senden (0/1 von utun1), fügt der Client eine Route hinzu, die auf den virtuellen Adapter zeigt. Der DNS-Datenverkehr wird jedoch nicht über das VPN gesendet, da der Endpunkt die DNS-Serverkonfiguration nicht mithilfe von Push überträgt. Stattdessen verwendet der Client die statische Route für die lokale DNS-Serveradresse (192.168.1.1/32 über en0). Nachdem der Domainname lokal aufgelöst wurde, durchläuft der Anwendungsdatenverkehr zur aufgelösten IP-Adresse den VPN-Tunnel.
$ cat /etc/resolv.conf | grep nameservernameserver 192.168.1.1 $ netstat -nr -f inet | grep -E 'utun1|192.168.1.1'0/1 192.168.0.1 UGSc 16 0 utun1 192.168.1.1/32 link#4 UCS 1 0 en0 (...) $ dig amazon.com;; ANSWER SECTION: amazon.com. 32 IN A 176.32.98.166 ;; SERVER: 192.168.1.1#53(192.168.1.1) (...)
Beispiel 2:
- IPv4-CIDR des Endbenutzer-Clients: 192.168.0.0/16
- CIDR der Client-VPN-Endpunkt-VPC: 10.123.0.0/16
- Der lokale DNS-Server ist als öffentliche IP konfiguriert (8.8.8.8)
- Der Parameter „DNS Server IP address“ ist deaktiviert, und es sind keine DNS-Server-IP-Adressen angegeben
In diesem Beispiel verwendet der Client den öffentlichen DNS-Server unter 8.8.8.8. Da es für 8.8.8.8 über en0 keine statische Route gibt, durchläuft die DNS-Anforderung den VPN-Tunnel. Wenn der Client-VPN-Endpunkt keinen Internetzugang hat, ist der DNS-Server nicht erreichbar und die Abfrage läuft ab.
$ cat /etc/resolv.conf | grep nameservernameserver 8.8.8.8 $ netstat -nr -f inet | grep -E 'utun1|8.8.8.8'0/1 192.168.0.1 UGSc 5 0 utun1 $ dig amazon.com(...) ;; connection timed out; no servers could be reached
Szenario 2: Split-Tunnel mit aktiviertem Parameter „DNS Server IP address“
Beispiel
- IPv4-CIDR des Client: 192.168.0.0/16
- Amazon VPC-CIDR des Client-VPN-Endpunkts: 10.123.0.0/16
- Der Parameter „DNS Server IP address“ ist aktiviert und auf 10.10.1.228 und 10.10.0.43 (Endpunkte des eingehenden Datenverkehrs von Route 53 Resolver) festgelegt.
- Resolver-Endpunkte befinden sich in einer Amazon VPC (10.10.0.0/16), die über ein Transit-Gateway verbunden ist
- Die Amazon VPC hat eine private gehostete Zone Route 53 (example.local)
- DNS-Auflösung und DNS-Hostnamen sind aktiv
Dieses Client-VPN ist im Split-Tunnel-Modus konfiguriert. Die Client-VPN-Routing-Tabelle enthält:
$ netstat -nr -f inet | grep utun1(...)10.10/16 192.168.0.1 UGSc 2 0 utun1 # Route 53 Resolver inbound endpoints VPC CIDR 10.123/16 192.168.0.1 UGSc 0 0 utun1 # Client VPN VPC CIDR (...)
In diesem Beispiel ist der Parameter „DNS Server IP address“ aktiviert. 10.10.1.228 und 10.10.0.43 sind als DNS-Server konfiguriert. Wenn der Client den VPN-Tunnel einrichtet, werden die DNS-Serverparameter an den Host-Computer des Endbenutzers mithilfe von Push übertragen.
$ cat /etc/resolv.conf | grep nameservernameserver 10.10.1.228 # Primary DNS server nameserver 10.10.0.43 # Secondary DNS server
Eine vom Client-Computer ausgegebene DNS-Abfrage wird über den VPN-Tunnel zur Client-VPN-VPC übertragen. Die DNS-Anforderung wird dann über ein Transit-Gateway an den eingehenden Route 53 Resolver-Endpunkt weitergeleitet. Nachdem der Domainname in eine IP-Adresse aufgelöst wurde, durchläuft der Anwendungsdatenverkehr auch den VPN-Tunnel. Dieser Datenfluss wird fortgesetzt, solange die aufgelöste Ziel-IP-Adresse mit einer Route in der Client-VPN-Endpunkt-Routing-Tabelle übereinstimmt.
Mit dieser Konfiguration können Endbenutzer externe Domainnamen mithilfe der Standard-DNS-Auflösung auflösen. Sie ermöglicht auch die Auflösung von Datensätzen in privat gehosteten Zonen, die mit der Amazon VPC verknüpft sind, die die Route 53 Resolver-Endpunkte des eingehenden Datenverkehrs enthält.
$ dig amazon.com;; ANSWER SECTION:amazon.com. 8 IN A 176.32.103.205 ;; SERVER: 10.10.1.228#53(10.10.1.228) (...) $ dig test.example.local # Route 53 private hosted zone record ;; ANSWER SECTION: test.example.local. 10 IN A 10.123.2.1 ;; SERVER: 10.10.1.228#53(10.10.1.228) (...) $ dig ec2.ap-southeast-2.amazonaws.com # VPC interface endpoint to EC2 service in Route 53 Resolver VPC;; ANSWER SECTION: ec2.ap-southeast-2.amazonaws.com. 60 IN A 10.10.0.33 ;; SERVER: 10.10.1.228#53(10.10.1.228) (...) $ dig ec2-13-211-254-134.ap-southeast-2.compute.amazonaws.com # EC2 instance public DNS hostname running in Route 53 Resolver VPC;; ANSWER SECTION: ec2-13-211-254-134.ap-southeast-2.compute.amazonaws.com. 20 IN A 10.10.1.11 ;; SERVER: 10.10.1.228#53(10.10.1.228) (...)
- Sprache
- Deutsch
