Table of Contents
ASA: Configuration de failover actif/actif
introduction
La configuration de failover nécessite deux dispositifs de sécurité identiques connectés l'un à l'autre via un lien de failover dédié et, éventuellement, un lien d'état du failover. La santé des interfaces et unités actives est surveillée pour déterminer si des conditions de failover spécifiques sont remplies. Si ces conditions sont remplies, le failover se produit.
L'appliance de sécurité prend en charge deux configurations de failover:
- failover actif/actif
- failover actif/standby
Chaque configuration de failover a sa propre méthode pour déterminer et effectuer le failover. Avec le failover actif/actif, les deux unités peuvent transmettre le trafic réseau. Cela permet de configurer l'équilibrage de charge sur le réseau. Le failover actif/actif n'est disponible que sur les unités qui s'exécutent en mode contextuel multiple. Avec le failover actif/standby, une seule unité transmet le trafic tandis que l'autre unité attend en état de veille. Le failover actif/standby est disponible sur les unités qui s'exécutent en mode contextuel simple ou multiple. Les deux configurations de failover prennent en charge le failover avec état ou sans état (normal).
Un pare-feu transparent est un pare-feu de couche 2 qui agit comme une dérivation dans le câble, ou un pare-feu furtif, et n'est pas considéré comme un saut de routeur vers les périphériques connectés. L'appliance de sécurité connecte le même réseau sur ses ports internes et externes. Étant donné que le pare-feu n'est pas un tronçon acheminé, on peut facilement introduire un pare-feu transparent dans un réseau existant; il n'est pas nécessaire de réadresser l'adresse IP. On peut configurer l'ASA pour qu'elle s'exécute en mode de pare-feu routé par défaut ou en mode de pare-feu transparent.
Lorsqu'on change de mode, l'appliance de sécurité adaptative efface la configuration car de nombreuses commandes ne sont pas prises en charge dans les deux modes. Si il y a déjà une configuration remplie, sauvegarder cette configuration avant de changer de mode; on pourra utiliser cette configuration sauvegardée comme référence lorsqu'on va créer une nouvelle configuration.
Ce document se concentre sur la façon de configurer un failover actif/actif en mode transparent sur l'appliance de sécurité ASA.
le failover VPN n'est pas pris en charge sur les unités qui s'exécutent en mode contextuel multiple. Le failover VPN est disponible uniquement pour les configurations de failover actif/standby.
Cisco recommande de ne pas utiliser l'interface de management pour le failover, en particulier pour le failover avec état dans lequel l'appliance de sécurité envoie constamment les informations de connexion d'une appliance de sécurité à l'autre. L'interface pour le failover doit être au moins de la même capacité que les interfaces qui passent le trafic régulier. L'interface de management est conçue pour le trafic de gestion uniquement et est spécifiée comme management0/0. Mais, on peut utiliser la commande management-only afin de configurer n'importe quelle interface pour être une interface de management uniquement. En outre, pour le manegement0/0, on peut désactiver le mode management-only afin que l'interface le trafic puisse le traverser comme toute autre interface.
Conditions de licence
Le tableau suivant présente les conditions de licence pour cette fonctionnalité:
| Modèle | Exigence de licence |
|---|---|
| ASA 5505 | Licence Security Plus. (Le failover stateful n'est pas pris en charge). |
| ASA 5510, ASA 5512-X | Licence Security Plus. |
| Tous les autres modèles | Licence de base. |
Présentation du failover actif/actif
Le failover actif/actif n'est disponible que pour les appliances de sécurité en mode contextuel multiple. Dans une configuration de failover actif/actif, les deux dispositifs de sécurité peuvent transmettre le trafic réseau.
Failover group
Dans une configuration failover Active/Active, les deux ASA peuvent transmettre le trafic réseau. Le failover Active/Active est uniquement disponible pour les ASA en mode contextuel multiple. Dans le failover Active/Active, on divise les contextes de sécurité sur l'ASA en 2 groupes de basculement. Un groupe de basculement est simplement un groupe logique d'un ou plusieurs contextes de sécurité. Un groupe est assigné pour être actif sur l'ASA primaire, et l'autre groupe est assigné pour être actif sur l'ASA secondaire. Lorsqu'un basculement se produit, il se produit au niveau du groupe de basculement.
Le groupe de basculement constitue l'unité de base pour le basculement dans le failover Active/Active. La surveillance des pannes d'interface, le basculement et l'état actif/standby sont tous les attributs d'un groupe de basculement plutôt que de l'unité. Lorsqu'un groupe de basculement actif échoue, il passe à l'état de veille (standby) tandis que le groupe de basculement de secours devient actif. Les interfaces du groupe de basculement qui deviennent actives prennent les adresses MAC et IP des interfaces du groupe de basculement qui ont échoué. Les interfaces du groupe de basculement qui est maintenant à l'état de veille prennent le relais des adresses MAC et IP de secours.
Lors de la création des groupes de basculement, il faut les créer sur l'unité qui aura le groupe de basculement 1 à l'état actif.
Le failover Active/Active génère des adresses MAC virtuelles pour les interfaces de chaque groupe de basculement. Si on a plus d'une paire de failover Active/Active sur le même réseau, il est possible d'avoir les mêmes adresses MAC virtuelles par défaut attribuées aux interfaces sur une paire que celles affectées aux interfaces des autres paires en raison de la manière les adresses MAC virtuelles sont déterminées. Pour éviter d'avoir des adresses MAC en double sur votre réseau, il faut attribuer à chaque interface physique une adresse MAC virtuelle active et standby.
Un groupe de failover échouant sur une unité ne signifie pas que l'unité a échoué. L'unité peut toujours avoir un autre groupe de failover qui transmet le trafic dessus.
État primaire/secondaire et état actif/standby
Comme dans le cas du failover actif/standby, une unité dans une paire de failover actif/actif est désignée comme unité principale et l'autre unité comme unité secondaire. Contrairement au failover actif/standby, cette désignation n'indique pas quelle unité devient active lorsque les deux unités démarrent simultanément. Au lieu de cela, la désignation primaire/secondaire fait deux choses:
- Détermine quelle unité fournit la configuration en cours à la paire lorsqu'elle démarre simultanément.
- Détermine sur quelle unité chaque groupe de failover apparaît à l'état actif lorsque les unités démarrent simultanément. Chaque groupe de failover dans la configuration est configuré avec une préférence d'unité principale ou secondaire. On peut configurer les deux groupes de failover à l'état actif sur une seule unité de la paire, avec l'autre unité qui contient les groupes de failover à l'état de standby. Mais, une configuration plus typique consiste à attribuer à chaque groupe de failover une préférence de rôle différente pour rendre chacun actif sur une unité différente et répartir le trafic sur les périphériques.
l'appliance de sécurité ne fournit pas de services d'équilibrage de charge. L'équilibrage de charge doit être géré par un routeur qui transmet le trafic à l'appliance de sécurité.
L'unité sur laquelle chaque groupe de failover devient actif est déterminée comme indiqué
- Lorsqu'une unité démarre alors que l'unité homologue n'est pas disponible, les deux groupes de failover deviennent actifs sur l'unité.
- Lorsqu'une unité démarre alors que l'unité homologue est active (avec les deux groupes de failover à l'état actif), les groupes de failover restent à l'état actif sur l'unité active quelle que soit la préférence principale ou secondaire du groupe de failover jusqu'à l'une de ces occurrences:
- Un failover se produit.
- On force manuellement le groupe de failover vers l'autre unité avec la commande
no failover active - On configure le groupe de failover avec la commande
preempt, qui fait que le groupe de failover devient automatiquement actif sur l'unité préférée lorsque l'unité devient disponible.
- Lorsque les deux unités démarrent en même temps, chaque groupe de failover devient actif sur son unité préférée une fois les configurations synchronisées.
Initialisation de l'appareil et synchronisation de la configuration
La synchronisation de la configuration se produit lorsqu'une ou les deux unités dans une paire de failover démarrent. Les configurations sont synchronisées comme indiqué:
- Lorsqu'une unité démarre alors que l'unité homologue est active (avec les deux groupes de failover actifs), l'unité d'amorçage contacte l'unité active pour obtenir la configuration en cours, quelle que soit la désignation principale ou secondaire de l'unité d'amorçage.
- Lorsque les deux unités démarrent simultanément, l'unité secondaire obtient la configuration en cours de l'unité principale.
Lorsque la réplication démarre, la console de l'appliance de sécurité de l'unité qui envoie la configuration affiche le message «Beginning configuration replication: Sending to mate» et, lorsqu'elle est terminée, l'appliance de sécurité affiche le message «End Configuration Replication to mate». Pendant la réplication, les commandes entrées sur l'unité qui envoie la configuration ne peuvent pas être répliquées correctement vers l'unité homologue, et les commandes entrées sur l'unité qui reçoit la configuration peuvent être écrasées par la configuration reçue. N'effectuer aucune commande sur l'une ou l'autre des unités de la paire de failover pendant le processus de réplication de la configuration. La réplication, qui dépend de la taille de la configuration, peut durer de quelques secondes à plusieurs minutes.
Sur l'unité qui reçoit la configuration, la configuration n'existe qu'en mémoire de fonctionnement. Afin de sauvegarder la configuration dans la mémoire Flash après la synchronisation, entrer la commande write memory all dans l'espace d'exécution du système sur l'unité qui a le groupe de failover 1 à l'état actif. La commande est répliquée sur l'unité homologue, qui procède à l'écriture de sa configuration dans la mémoire Flash. L'utilisation du mot-clé all avec cette commande entraîne la sauvegarde du système et de toutes les configurations de contexte.
les configurations de démarrage enregistrées sur des serveurs externes sont accessibles à partir de l'une ou l'autre des unités sur le réseau et n'ont pas besoin d'être enregistrées séparément pour chaque unité. On peut également copier les fichiers de configuration des contextes du disque de l'unité principale vers un serveur externe, puis les copier sur le disque de l'unité secondaire, où ils deviennent disponibles lorsque l'unité se recharge.
Réplication des commandes
Une fois que les deux unités sont en cours d'exécution, les commandes sont répliquées d'une unité à l'autre comme indiqué:
- Les commandes entrées dans un contexte de sécurité sont répliquées depuis l'unité sur laquelle le contexte de sécurité apparaît à l'état actif vers l'unité homologue. Le contexte est considéré à l'état actif sur une unité si le groupe de failover auquel il appartient est à l'état actif sur cette unité.
- Les commandes entrées dans l'espace d'exécution du système sont répliquées à partir de l'unité sur laquelle le groupe de failover 1 est à l'état actif vers l'unité sur laquelle le groupe de failover 1 est à l'état de standby.
- Les commandes entrées dans le contexte d'administration sont répliquées à partir de l'unité sur laquelle le groupe de failover 1 est à l'état actif vers l'unité sur laquelle le groupe de failover 1 est à l'état de standby.
Toutes les commandes de configuration et de fichier (copy, rename, delete, mkdir, rmdir, etc.) sont répliquées, avec ces exceptions. Les commandes show, debug, mode, firewall et failover lan unit ne sont pas répliquées.
Le fait de ne pas entrer les commandes sur l'unité appropriée pour que la réplication des commandes se produise entraîne la désynchronisation des configurations. Ces modifications sont peut-être perdues la prochaine fois que la synchronisation de configuration initiale se produit.
On peut utiliser la commande write standby pour resynchroniser les configurations désynchronisées. Pour le failover actif/standby, la commande write standby se comporte comme indiqué:
- Si on entre la commande write standby dans l'espace d'exécution du système, la configuration du système et les configurations de tous les contextes de sécurité sur l'appliance de sécurité sont écrites sur l'unité homologue. Cela inclut les informations de configuration pour les contextes de sécurité qui sont en état de veille. Il faut entrer la commande dans l'espace d'exécution du système sur l'unité dont le groupe de failover 1 est à l'état actif. s'il existe des contextes de sécurité à l'état actif sur l'unité homologue, la commande write standby entraîne la fin des connexions actives via ces contextes. Utiliser la commande failover active sur l'unité qui fournit la configuration pour s'assurer que tous les contextes sont actifs sur cette unité avant de saisir la commande write standby.
- Si en entre la commande write standby dans un contexte de sécurité, seule la configuration du contexte de sécurité est écrite sur l'unité homologue. Il faut saisir la commande dans le contexte de sécurité sur l'unité où le contexte de sécurité apparaît à l'état actif.
Les commandes répliquées ne sont pas enregistrées dans la mémoire Flash lorsqu'elles sont répliquées sur l'unité homologue. Ils sont ajoutés à la configuration en cours. Pour enregistrer les commandes répliquées dans la mémoire Flash des deux unités, utiliser la commande write memory ou copy running-config startup-config sur l'unité sur laquelle ou ont été effectué les modifications. La commande est répliquée sur l'unité homologue et entraîne l'enregistrement de la configuration dans la mémoire Flash de l'unité homologue.
Déclencheurs de failover
Dans le failover actif/actif, le failover peut être déclenché au niveau de l'unité si l'un de ces événements se produit:
- L'unité a une défaillance matérielle.
- L'unité a une panne de courant.
- L'unité a une panne de logiciel.
- La commande no failover active ou failover active est entrée dans l'espace d'exécution du système.
Le failover est déclenché au niveau du groupe de failover lorsque l'un de ces événements se produit:
- Trop d'interfaces surveillées dans le groupe échouent.
- La commande no failover active group group_id ou failover active group group_id est entrée.
Actions de failover
Dans une configuration de failover actif/actif, le failover se produit sur une base de groupe de failover et non sur une base système. Par exemple, si on désigne les deux groupes de failover comme actifs sur l'unité principale et que le groupe de failover 1 échoue, le groupe de failover 2 reste actif sur l'unité principale tandis que le groupe de failover 1 devient actif sur l'unité secondaire.
Lorsqu'on configure le failover actif/actif, il faut s'assurer que le trafic combiné pour les deux unités est dans la capacité de chaque unité.
Ce tableau montre l'action de failover pour chaque événement d'échec. Pour chaque événement d'échec, la stratégie, si le failover se produit ou non, les actions pour le groupe de failover actif et les actions pour le groupe de failover de secours sont données.
| Failure Event | Policy | Active Group Action | Standby Group Action | Notes |
|---|---|---|---|---|
| Une unité subit une panne de courant ou de logiciel. | failover | la demande de marquer l'unité en veille échoue | Marquer actif comme ayant échoué | Lorsqu'une unité d'une paire de failover échoue, tous les groupes de failover actifs sur cette unité sont marqués comme échoués et deviennent actifs sur l'unité homologue. |
| Panne d'interface sur le groupe de failover actif au-dessus du seuil | failover | La demande de marquer le groupe comme actif a échoué | Devenir actif | Aucun |
| Panne d'interface sur le groupe de failover de secours au-dessus du seuil | Pas de failover | Aucune action | Marquer le groupe de secours comme ayant échoué | Lorsque le groupe de failover de secours est marqué comme ayant échoué, le groupe de failover actif ne tente pas de basculer, même si le seuil de défaillance d'interface est dépassé. |
| Le groupe de failover anciennement actif récupère | Aucun failover | Aucune action | Aucune action | À moins d'être configuré avec la commande preempt, les groupes de failover restent actifs sur leur unité actuelle. |
| Échec de la liaison de failover au démarrage | Pas de failover | Devenir actif | Devenir actif | Si le lien de failover est arrêté au démarrage, les deux groupes de failover sur les deux unités deviennent actifs. |
| Échec de la liaison de failover stateful | Aucun failover | Aucune action | Aucune action | Les informations d'état deviennent obsolètes et les sessions sont interrompues en cas de failover. |
| La liaison de failover a échoué pendant l'opération | Aucun failover | n/a | n/a | Chaque unité marque l'interface de failover comme échouée. Il faut restaurer la liaison de failover dès que possible car l'unité ne peut pas basculer vers l'unité de secours tant que la liaison de failover est interrompue. |
Failover regular et stateful
L'appliance de sécurité prend en charge deux types de Failover:
- failover regular
- failover stateful
failover regular
Lors d'un failover, toutes les connexions actives sont supprimées. Les clients doivent rétablir les connexions lorsque la nouvelle unité active prend le relais.
failover stateful
Lorsque le failover stateful est activé, l'unité active transmet en permanence les informations d'état par connexion à l'unité de secours. Après un failover, les mêmes informations de connexion sont disponibles sur la nouvelle unité active. Les applications utilisateur final prises en charge ne sont pas obligées de se reconnecter pour conserver la même session de communication.
Les informations d'état transmises à l'unité de secours comprennent:
- La table de traduction NAT
- Les états de connexion TCP
- Les états de connexion UDP
- La table ARP
- La table de pont de la couche 2 (lorsqu'elle s'exécute en mode pare-feu transparent)
- Les états de connexion HTTP (si la réplication HTTP est activée)
- Le tableau ISAKMP et IPSec SA
- La base de données de connexion GTP PDP
Les informations qui ne sont pas transmises à l'unité de secours lorsque le failover staeful est activé sont les suivantes:
- La table de connexion HTTP (sauf si la réplication HTTP est activée)
- La table d'authentification des utilisateurs (uauth)
- Les tables de routage
- Informations sur l'état des modules de service de sécurité
Limitations de la configuration du failover
On ne peut pas configurer le failover avec ces types d'adresses IP:
- Adresses IP obtenues via DHCP
- Adresses IP obtenues via PPPoE
- Adresses IPv6
Le mode contextuel multiple ne prend pas en charge ces fonctionnalités:
- Protocoles de routage dynamique
- Les contextes de sécurité ne prennent en charge que les routes statiques. Vous ne pouvez pas activer OSPF ou RIP en mode contextuel multiple.
- VPN
- Multicast
Configuration de failover actif/actif basée sur le LAN
Cette section décrit comment configurer le failover actif/actif avec une liaison de failover Ethernet. Lorsqu'on configure le failover basé sur le LAN, on doit amorcer le périphérique secondaire pour reconnaître le lien de failover avant que le périphérique secondaire puisse obtenir la configuration en cours du périphérique principal.
Au lieu d'un câble Ethernet croisé pour relier directement les unités, Cisco recommande d'utiliser un commutateur dédié entre les unités principale et secondaire.
Configuration de l'unité principale
Dans le contexte SYSTEM
Le Failover DOIT être configuré et utilisé par le contexte SYSTÈME. Configurer les paramètres de failover de base dans l'espace d'exécution du système.
Désigner l'unité comme unité principale:
hostname(config)#failover lan unit primary
Spécifier le lien de failover:
hostname(config)#failover lan interface if_name phy_if
Dans cet exemple, on utilise l'interface ethernet3 comme interface de failover basée sur le LAN.
hostname(config)#failover lan interface LANFailover ethernet3
L'argument if_name attribue un nom logique à l'interface spécifiée par l'argument phy_if. L'argument phy_if peut être le nom du port physique, tel qu'ethernet1, ou une sous-interface précédemment créée, telle qu'Ethernet0/2.3. Sur l'appliance de sécurité adaptative ASA 5505, le phy_if spécifie un VLAN. Cette interface ne doit pas être utilisée à d'autres fins (sauf, éventuellement, le lien de failover avec état).
Spécifier les adresses IP actives et de secours du lien de failover:
hostname(config)#failover interface ip if_name ip_addr mask standby ip_addr
Pour cet exemple, on utilise 10.1.0.1 comme adresse IP active et 10.1.0.2 comme adresse IP de secours pour l'interface de failover.
hostname(config)#failover interface ip LANFailover 10.1.0.1 255.255.255.0 standby 10.1.0.2
L'adresse IP de standby doit être dans le même sous-réseau que l'adresse IP active. Il n'est pas besoin d'identifier le masque de sous-réseau de l'adresse IP de standby. L'adresse IP et l'adresse MAC du lien de failover ne changent pas lors du failover. L'adresse IP active reste toujours avec l'unité principale, tandis que l'adresse IP de veille reste avec l'unité secondaire.
Dans les autres contextes
Il faut configurer les adresses IP active et standby pour chaque interface de données (routed mode), pour l'adresse IP de management (mode transparent) ou pour l'interface de management uniquement. L'adresse IP standby est utilisée sur l'appliance de sécurité qui est actuellement l'unité de secours. Il doit se trouver dans le même sous-réseau que l'adresse IP active.
Il faut configurer les adresses d'interface à partir de chaque contexte. Utiliser la commande changeto context pour basculer entre les contextes. L'invite de commande devient hostname/context(config-if)#, où context est le nom du contexte actuel. En mode pare-feu transparent, il faut saisir une adresse IP de management pour chaque contexte.
lorsqu'on utilise une interface de failover dynamique dédiée ne pas configurer d'adresse IP pour cette interface . Utiliser la commande failover interface ip afin de configurer une interface de failover dynamique dédiée dans une étape ultérieure.
hostname/context(config-if)#ip address active_addr netmask standby standby_addr
Par exemple, l'interface extérieure pour context1 de l'ASA primaire est configurée de cette manière:
hostname/context1(config-if)#ip address 172.16.1.1 255.255.255.0 standby 172.16.1.2
Pour Context2:
hostname/context2(config-if)#ip address 192.168.2.1 255.255.255.0 standby 192.168.2.2
En mode pare-feu routé et pour l'interface de gestion uniquement, cette commande est entrée en mode de configuration d'interface pour chaque interface. En mode pare-feu transparent, la commande est entrée en mode de configuration globale.
Configuration de l'unité secondaire
Lorsqu'on configure le failover actif/actif basé sur le LAN, il faut amorcer l'unité secondaire afin de reconnaître le lien de failover. Cela permet à l'unité secondaire de communiquer et de recevoir la configuration en cours depuis l'unité principale.
Effectuer ces étapes afin d'amorcer l'unité secondaire dans une configuration de failover actif/actif:
Définir l'interface de failover. Utiliser les mêmes paramètres que ceux utilisés pour l'unité principale:
Spécifier l'interface à utiliser comme interface de failover.
hostname(config)#failover lan interface if_name phy_if
hostname(config)#failover lan interface LANFailover ethernet3
L'argument if_name attribue un nom logique à l'interface spécifiée par l'argument phy_if. L'argument phy_if peut être le nom du port physique, tel qu'Ethernet1. Sur l'appliance de sécurité adaptative ASA 5505, le phy_if spécifie un VLAN.
Attribuer l'adresse IP active et standby au lien de failover:
hostname(config)#failover interface ip if_name ip_addr mask standby ip_addr
hostname(config)#failover interface ip LANFailover 10.1.0.1 255.255.255.0 standby 10.1.0.2
Entrer cette commande exactement comme l'interface de failover configuré sur l'unité principale.
L'adresse IP de standby doit se trouver dans le même sous-réseau que l'adresse IP active. Il n'est pas besoin d'identifier le masque de sous-réseau de l'adresse de standby.
Activer l'interface.
hostname(config)#interface phy_if hostname(config-if)#no shutdown
Désigner cette unité comme unité secondaire:
hostname(config)#failover lan unit secondary
Cette étape est facultative car, par défaut, les unités sont désignées comme secondaires, sauf configuration contraire.
Activer le failover.
hostname(config)#failover
Une fois activé le failover, l'unité active envoie la configuration dans la mémoire en cours d'exécution à l'unité de secours. Au fur et à mesure que la configuration se synchronise, les messages Beginning configuration replication: Sending to mate et End Configuration Replication to mate s'affichent sur la console de l'unité active.
Exécuter d'abord la commande de failover sur le périphérique principal, puis sur le périphérique secondaire. Une fois la commande lancée sur le périphérique secondaire, le périphérique secondaire extrait immédiatement la configuration du périphérique principal et se met en veille. L'ASA principal reste en place et transmet le trafic normalement et se marque comme le périphérique actif. À partir de ce moment, chaque fois qu'une panne se produit sur le périphérique actif, le périphérique de secours devient actif.
Une fois la configuration en cours d'exécution terminée, entrer cette commande pour enregistrer la configuration dans la mémoire Flash:
hostname(config)#copy running-config startup-config
Si nécessaire, forcez tout groupe de failover actif sur l'unité principale à l'état actif sur l'unité secondaire. Pour forcer un groupe de failover à devenir actif sur l'unité secondaire, entrer cette commande dans l'espace d'exécution système sur l'unité principale:
hostname#no failover active group group_id
L'argument group_id spécifie le groupe que l'on souhaite activer sur l'unité secondaire.
