In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
Dieses Dokument enthält eine Beispielkonfiguration zur Konfiguration eines IOS/IOS-XE-Headends für den Remote-Zugriff mithilfe der AnyConnect IKEv2- und der AnyConnect-EAP-Authentifizierungsmethode mit lokaler Benutzerdatenbank.
Cisco empfiehlt, über Kenntnisse in folgenden Bereichen zu verfügen:
Die Informationen in diesem Dokument basieren auf den folgenden Software- und Hardwareversionen:
Die Informationen in diesem Dokument wurden von den Geräten in einer bestimmten Laborumgebung erstellt. Alle in diesem Dokument verwendeten Geräte haben mit einer leeren (Standard-)Konfiguration begonnen. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die potenziellen Auswirkungen eines Befehls verstehen.
Mit AnyConnect-EAP, auch als aggregierte Authentifizierung bezeichnet, kann ein Flex-Server den AnyConnect-Client mithilfe der proprietären AnyConnect-EAP-Methode von Cisco authentifizieren. Im Gegensatz zu standardbasierten Extensible Authentication Protocol (EAP)-Methoden wie EAP-Generic Token Card (EAP-GTC), EAP-Message Digest 5 (EAP-MD5) usw. funktioniert der Flex Server nicht im EAP-Passthrough-Modus. Die gesamte EAP-Kommunikation mit dem Client endet auf dem Flex Server, und der für die Erstellung der AUTH-Nutzlast erforderliche Sitzungsschlüssel wird lokal vom Flex Server berechnet. Der Flex Server muss sich mithilfe von Zertifikaten, die von der IKEv2-RFC verlangt werden, beim Client authentifizieren.
Lokale Benutzerauthentifizierung wird jetzt auf dem Flex Server unterstützt, und die Remote-Authentifizierung ist optional. Dies ist ideal für kleinere Bereitstellungen mit weniger Remote-Zugriffsbenutzern und in Umgebungen ohne Zugriff auf einen externen AAA-Server (Authentication, Authorization, and Accounting) geeignet. Bei umfangreichen Bereitstellungen und Szenarien, in denen benutzerspezifische Attribute gewünscht werden, wird jedoch weiterhin empfohlen, einen externen AAA-Server für die Authentifizierung und Autorisierung zu verwenden. Die AnyConnect-EAP-Implementierung ermöglicht die Verwendung von Radius für die Remote-Authentifizierung, -Autorisierung und -Abrechnung.
Hinweis: Um Benutzer mit der lokalen Datenbank auf dem Router zu authentifizieren, muss EAP verwendet werden. Um EAP verwenden zu können, muss die lokale Authentifizierungsmethode jedoch rsa-sig sein. Der Router benötigt daher ein entsprechendes Zertifikat, und es kann kein selbstsigniertes Zertifikat sein.
Beispielkonfiguration mit lokaler Benutzerauthentifizierung, Remote-Benutzer- und Gruppenautorisierung und Remote-Accounting.
Schritt 1: Aktivieren Sie AAA, konfigurieren Sie Authentifizierungs-, Autorisierungs- und Abrechnungslisten, und fügen Sie der lokalen Datenbank einen Benutzernamen hinzu:
aaa new-model
!
aaa authentication login a-eap-authen-local local
aaa authorization network a-eap-author-grp local
!
username test password cisco123
Schritt 2: Konfigurieren Sie einen Vertrauenspunkt, der das Router-Zertifikat enthält. PKCS12-Dateiimport wird in diesem Beispiel verwendet. Weitere Optionen finden Sie im PKI-Konfigurationsleitfaden (Public Key Infrastructure):
Router(config)# crypto pki import IKEv2-TP pkcs12 bootflash:IKEv2-TP.p12 password cisco123
Schritt 3: Definieren Sie einen lokalen IP-Pool, um AnyConnect VPN-Clients Adressen zuzuweisen:
ip local pool ACPOOL 192.168.10.5 192.168.10.10
Schritt 4: Erstellen einer lokalen IKEv2-Autorisierungsrichtlinie:
crypto ikev2 authorization policy ikev2-auth-policy
pool ACPOOL
dns 10.0.1.1
Schritt 5 (optional). Erstellen Sie den gewünschten IKEv2-Vorschlag und die gewünschte IKEv2-Richtlinie. Wenn keine Konfiguration vorgenommen wird, werden intelligente Standardwerte verwendet:
crypto ikev2 proposal IKEv2-prop1
encryption aes-cbc-256
integrity sha256
group 14
!
crypto ikev2 policy IKEv2-pol
proposal IKEv2-prop1
Schritt 6: AnyConnect-Profil erstellen
Hinweis: Das AnyConnect-Profil muss auf dem Client-Computer bereitgestellt werden. Weitere Informationen finden Sie im nächsten Abschnitt.
Konfigurieren Sie das Clientprofil mit dem AnyConnect Profile Editor, wie im Bild gezeigt:
Klicken Sie auf "Hinzufügen", um einen Eintrag für das VPN-Gateway zu erstellen. Wählen Sie "IPsec" als "Primary Protocol" (Primärprotokoll) aus. Deaktivieren Sie die Option "ASA Gateway".
Speichern Sie das Profil, indem Sie FIle -> Save As (Speichern unter) öffnen. Die XML-Entsprechung des Profils:
<?xml version="1.0" encoding="UTF-8"?>
<AnyConnectProfile xmlns="http://schemas.xmlsoap.org/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/encoding/ AnyConnectProfile.xsd">
<ClientInitialization>
<UseStartBeforeLogon UserControllable="true">false</UseStartBeforeLogon>
<AutomaticCertSelection UserControllable="true">false</AutomaticCertSelection>
<ShowPreConnectMessage>false</ShowPreConnectMessage>
<CertificateStore>All</CertificateStore>
<CertificateStoreMac>All</CertificateStoreMac>
<CertificateStoreOverride>false</CertificateStoreOverride>
<ProxySettings>Native</ProxySettings>
<AllowLocalProxyConnections>true</AllowLocalProxyConnections>
<AuthenticationTimeout>12</AuthenticationTimeout>
<AutoConnectOnStart UserControllable="true">false</AutoConnectOnStart>
<MinimizeOnConnect UserControllable="true">true</MinimizeOnConnect>
<LocalLanAccess UserControllable="true">false</LocalLanAccess>
<DisableCaptivePortalDetection UserControllable="true">false</DisableCaptivePortalDetection>
<ClearSmartcardPin UserControllable="true">true</ClearSmartcardPin>
<IPProtocolSupport>IPv4,IPv6</IPProtocolSupport>
<AutoReconnect UserControllable="false">true
<AutoReconnectBehavior UserControllable="false">ReconnectAfterResume</AutoReconnectBehavior>
</AutoReconnect>
<AutoUpdate UserControllable="false">true</AutoUpdate>
<RSASecurIDIntegration UserControllable="false">Automatic</RSASecurIDIntegration>
<WindowsLogonEnforcement>SingleLocalLogon</WindowsLogonEnforcement>
<WindowsVPNEstablishment>LocalUsersOnly</WindowsVPNEstablishment>
<AutomaticVPNPolicy>false</AutomaticVPNPolicy>
<PPPExclusion UserControllable="false">Disable
<PPPExclusionServerIP UserControllable="false"></PPPExclusionServerIP>
</PPPExclusion>
<EnableScripting UserControllable="false">false</EnableScripting>
<EnableAutomaticServerSelection UserControllable="false">false
<AutoServerSelectionImprovement>20</AutoServerSelectionImprovement>
<AutoServerSelectionSuspendTime>4</AutoServerSelectionSuspendTime>
</EnableAutomaticServerSelection>
<RetainVpnOnLogoff>false
</RetainVpnOnLogoff>
<AllowManualHostInput>true</AllowManualHostInput>
</ClientInitialization>
<ServerList>
<HostEntry>
<HostName>VPN IOS-XE</HostName>
<HostAddress>vpn.example.com</HostAddress>
<PrimaryProtocol>IPsec
<StandardAuthenticationOnly>true
<AuthMethodDuringIKENegotiation>EAP-AnyConnect</AuthMethodDuringIKENegotiation>
</StandardAuthenticationOnly>
</PrimaryProtocol>
</HostEntry>
</ServerList>
</AnyConnectProfile>
Hinweis: AnyConnect verwendet '*$AnyConnectClient$*' als Standard-IKE-Identität des Typs key-ID. Diese Identität kann jedoch im AnyConnect-Profil manuell geändert werden, um die Bereitstellungsanforderungen zu erfüllen.
Hinweis: Um das XML-Profil auf den Router hochzuladen, ist die IOS-XE 16.9.1-Version oder höher erforderlich. Wenn eine ältere Version der IOS-XE-Software verwendet wird, muss die Funktion zum Herunterladen von Profilen auf dem Client deaktiviert werden. Weitere Informationen finden Sie im Abschnitt "Deaktivieren der Download-Funktion für AnyConnect".
Laden Sie das erstellte XML-Profil in den Flash-Speicher des Routers hoch, und definieren Sie das Profil:
crypto vpn anyconnect profile acvpn bootflash:/acvpn.xml
Hinweis: Der für das AnyConnect XML-Profil verwendete Dateiname sollte acvpn.xml sein.
Schritt 7: Erstellen Sie ein IKEv2-Profil für die AnyConnect-EAP-Methode der Client-Authentifizierung.
crypto ikev2 profile AnyConnect-EAP
match identity remote key-id *$AnyConnectClient$*
authentication local rsa-sig
authentication remote anyconnect-eap aggregate
pki trustpoint IKEv2-TP
aaa authentication anyconnect-eap a-eap-authen-local
aaa authorization group anyconnect-eap list a-eap-author-grp ikev2-auth-policy
aaa authorization user anyconnect-eap cached
virtual-template 100
anyconnect profile acvpn
Hinweis: Das Konfigurieren der Remote-Authentifizierungsmethode vor der lokalen Authentifizierungsmethode wird von der CLI akzeptiert, wirkt sich jedoch nicht auf Versionen aus, die nicht über die Behebung für die Erweiterungsanforderung CSCvb29701 verfügen, wenn die Remote-Authentifizierungsmethode einfach ist. Bei diesen Versionen muss beim Konfigurieren von eap als Remote-Authentifizierungsmethode zunächst die lokale Authentifizierungsmethode rsa-sig konfiguriert werden. Dieses Problem tritt bei keiner anderen Form der Remote-Authentifizierung auf.
Hinweis: Bei Codeversionen, die von CSCvb24236 betroffen sind, kann die Remote-Authentifizierungsmethode auf diesem Gerät nicht mehr konfiguriert werden, wenn die Remote-Authentifizierung vor der lokalen Authentifizierung konfiguriert wurde. Aktualisieren Sie auf eine Version, die die Behebung für diesen Code enthält.
Schritt 8: HTTP-URL-basierte Zertifikatssuche und HTTP-Server auf dem Router deaktivieren:
no crypto ikev2 http-url cert
no ip http server
no ip http secure-server
Hinweis: Lesen Sie dieses Dokument, um zu überprüfen, ob Ihre Router-Hardware die NGE-Verschlüsselungsalgorithmen unterstützt (z. B. verfügt das obige Beispiel über NGE-Algorithmen). Andernfalls schlägt die IPSec SA-Installation auf der Hardware im letzten Verhandlungsstadium fehl.
Schritt 9: Definieren Sie die Verschlüsselungs- und Hash-Algorithmen, die zum Schutz von Daten verwendet werden.
crypto ipsec transform-set TS esp-aes 256 esp-sha256-hmac
mode tunnel
Schritt 10: IPSec-Profil erstellen:
crypto ipsec profile AnyConnect-EAP
set transform-set TS
set ikev2-profile AnyConnect-EAP
Schritt 11: Konfigurieren Sie eine Loopback-Schnittstelle mit einer Dummy-IP-Adresse. Die Virtual-Access-Schnittstellen leihen sich die IP-Adresse davon aus.
interface loopback100
ip address 10.0.0.1 255.255.255.255
Schritt 12: Konfigurieren einer virtuellen Vorlage (Zuordnen der Vorlage im IKEv2-Profil)
interface Virtual-Template100 type tunnel
ip unnumbered Loopback100
ip mtu 1400
tunnel mode ipsec ipv4
tunnel protection ipsec profile AnyConnect-EAP
Schritt 13 (optional) Standardmäßig wird der gesamte Datenverkehr vom Client über den Tunnel gesendet. Sie können Split-Tunnel konfigurieren, bei dem nur bestimmter Datenverkehr durch den Tunnel geleitet wird.
ip access-list standard split_tunnel
permit 10.0.0.0 0.255.255.255
!
crypto ikev2 authorization policy ikev2-auth-policy
route set access-list split_tunnel
Schritt 14 (optional). Wenn der gesamte Datenverkehr durch den Tunnel geleitet werden muss, können Sie NAT konfigurieren, um Remote-Clients Internetverbindungen zu ermöglichen.
ip access-list extended NAT
permit ip 192.168.10.0 0.0.0.255 any
!
ip nat inside source list NAT interface GigabitEthernet1 overload
!
interface GigabitEthernet1
ip nat outside
!
interface Virtual-Template 100
ip nat inside
Dieser Schritt ist nur erforderlich, wenn die IOS-XE-Softwareversion älter als 16.9.1 verwendet wird. Vor IOS-XE 16.9.1 war die Möglichkeit zum Hochladen des XML-Profils auf den Router nicht verfügbar. Der AnyConnect-Client versucht, das XML-Profil nach erfolgreicher Anmeldung standardmäßig herunterzuladen. Wenn das Profil nicht verfügbar ist, schlägt die Verbindung fehl. Als Problemumgehung ist es möglich, die Download-Funktion für das AnyConnect-Profil auf dem Client selbst zu deaktivieren. Dazu kann die folgende Datei geändert werden:
For Windows:
C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\AnyConnectLocalPolicy.xml
For MAC OS:
/opt/cisco/anyconnect/AnyConnectLocalPolicy.xml
Die Option "BypassDownloader" sollte auf "true" gesetzt werden, zum Beispiel:
<?xml version="1.0" encoding="UTF-8"?>
<AnyConnectLocalPolicy xmlns="http://schemas.xmlsoap.org/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/encoding/ AnyConnectLocalPolicy.xsd" acversion="4.6.03049">
<BypassDownloader>true</BypassDownloader>
<EnableCRLCheck>false</EnableCRLCheck>
<ExcludeFirefoxNSSCertStore>false</ExcludeFirefoxNSSCertStore>
<ExcludeMacNativeCertStore>false</ExcludeMacNativeCertStore>
<ExcludePemFileCertStore>false</ExcludePemFileCertStore>
<ExcludeWinNativeCertStore>false</ExcludeWinNativeCertStore>
<FipsMode>false</FipsMode>
<RestrictPreferenceCaching>false</RestrictPreferenceCaching>
<RestrictTunnelProtocols>false</RestrictTunnelProtocols>
<RestrictWebLaunch>false</RestrictWebLaunch>
<StrictCertificateTrust>false</StrictCertificateTrust>
<UpdatePolicy>
<AllowComplianceModuleUpdatesFromAnyServer>true</AllowComplianceModuleUpdatesFromAnyServer>
<AllowISEProfileUpdatesFromAnyServer>true</AllowISEProfileUpdatesFromAnyServer>
<AllowServiceProfileUpdatesFromAnyServer>true</AllowServiceProfileUpdatesFromAnyServer>
<AllowSoftwareUpdatesFromAnyServer>true</AllowSoftwareUpdatesFromAnyServer>
<AllowVPNProfileUpdatesFromAnyServer>true</AllowVPNProfileUpdatesFromAnyServer></UpdatePolicy>
</AnyConnectLocalPolicy>
Nach der Änderung muss der AnyConnect-Client neu gestartet werden.
Bei der Neuinstallation von AnyConnect (ohne XML-Profile hinzugefügt zu werden) kann der Benutzer den FQDN des VPN-Gateways manuell in die Adressleiste des AnyConnect-Clients eingeben. Dies führt zur SSL-Verbindung mit dem Gateway. Der AnyConnect-Client versucht nicht standardmäßig, den VPN-Tunnel mit IKEv2/IPsec-Protokollen einzurichten. Aus diesem Grund ist die Installation eines XML-Profils auf dem Client zwingend erforderlich, um den IKEv2/IPsec-Tunnel mit dem IOS-XE-VPN-Gateway einzurichten.
Das Profil wird verwendet, wenn es aus der Dropdown-Liste der AnyConnect-Adressleiste ausgewählt wird. Der Name, der angezeigt wird, ist der gleiche Name wie im AnyConnect-Profil-Editor unter "Anzeigename" angegeben. In diesem Beispiel sollte der Benutzer Folgendes auswählen:
Das XML-Profil kann manuell in das folgende Verzeichnis eingefügt werden:
For Windows:
C:\ProgramData\Cisco\Cisco AnyConnect Secure Mobility Client\Profile
For MAC OS:
/opt/cisco/anyconnect/profile
Der AnyConnect-Client muss neu gestartet werden, damit das Profil in der GUI angezeigt wird. Es reicht nicht aus, das AnyConnect-Fenster zu schließen. Sie können den Vorgang neu starten, indem Sie im Windows-Fach mit der rechten Maustaste auf das AnyConnect-Symbol klicken und die Option "Beenden" auswählen:
In diesem Abschnitt überprüfen Sie, ob Ihre Konfiguration ordnungsgemäß funktioniert.
! Check IKEv2 SA parameters
Router# show crypto ikev2 sa detailed
IPv4 Crypto IKEv2 SA
Tunnel-id Local Remote fvrf/ivrf Status
1 192.0.2.1/4500 192.0.2.100/50899 none/none READY
Encr: AES-CBC, keysize: 256, PRF: SHA256, Hash: SHA256, DH Grp:14, Auth sign: RSA, Auth verify: AnyConnect-EAP
Life/Active Time: 86400/758 sec
CE id: 1004, Session-id: 4
Status Description: Negotiation done
Local spi: 413112E83D493428 Remote spi: 696FA78292A21EA5
Local id: 192.0.2.1
Remote id: *$AnyConnectClient$*
Remote EAP id: test <------ username
Local req msg id: 0 Remote req msg id: 31
Local next msg id: 0 Remote next msg id: 31
Local req queued: 0 Remote req queued: 31
Local window: 5 Remote window: 1
DPD configured for 0 seconds, retry 0
Fragmentation not configured.
Dynamic Route Update: disabled
Extended Authentication not configured.
NAT-T is detected outside
Cisco Trust Security SGT is disabled
Assigned host addr: 192.168.10.8. <---- Assigned IP
Initiator of SA : No
! Check the crypto session information
Router# show crypto session detail
Crypto session current status
Code: C - IKE Configuration mode, D - Dead Peer Detection
K - Keepalives, N - NAT-traversal, T - cTCP encapsulation
X - IKE Extended Authentication, F - IKE Fragmentation
R - IKE Auto Reconnect, U - IKE Dynamic Route Update
S - SIP VPN
Interface: Virtual-Access1. <----- Virtual interface associated with the client
Profile: AnyConnect-EAP
Uptime: 00:14:54
Session status: UP-ACTIVE
Peer: 192.0.2.100 port 50899 fvrf: (none) ivrf: (none). <----- Public IP of the remote client
Phase1_id: *$AnyConnectClient$*
Desc: (none)
Session ID: 8
IKEv2 SA: local 192.0.2.1/4500 remote 192.0.2.100/50899 Active
Capabilities:N connid:1 lifetime:23:45:06
IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 host 192.168.10.8
Active SAs: 2, origin: crypto map
Inbound: #pkts dec'ed 89 drop 0 life (KB/Sec) 4607990/2705. <------ Packets received from the client
Outbound: #pkts enc'ed 2 drop 0 life (KB/Sec) 4607999/2705. <------ Packets sent to the client
! Check the actual configuration applied for the Virtual-Acces interface associated with client
Router# show derived-config interface virtual-access 1.
Building configuration...
Derived configuration : 258 bytes
!
interface Virtual-Access1
ip unnumbered Loopback100
ip mtu 1400
ip nat inside
tunnel source 192.0.2.1
tunnel mode ipsec ipv4
tunnel destination 192.0.2.100
tunnel protection ipsec profile AnyConnect-EAP
no tunnel protection ipsec initiate
end
Dieser Abschnitt enthält Informationen, die Sie zur Fehlerbehebung bei Ihrer Konfiguration verwenden können.
debug crypto ikev2
debug crypto ikev2 packet
debug crypto ikev2 error
debug aaa authorization
debug aaa authentication