Document test

 
Updated 26 mars 2026
PDF
Is this helpful? Commentaires

    Introduction

    Ce document décrit comment configurer un rôle Nexus personnalisé pour TACACS via CLI sur NK9. 

    Conditions préalables

    Exigences

    Cisco vous recommande de prendre connaissance des rubriques suivantes :

    • TACACS+
    • ISE 3.2

    Composants utilisés

    Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

    • Cisco Nexus9000, fichier image NXOS : bootflash:///nxos.9.3.5.bin
    • Identity Service Engine version 3.2

    The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.

    Informations générales

    Conditions de licence

    Cisco NX-OS - TACACS+ ne nécessite aucune licence. 

    Cisco Identity Service Engine

    Pour les nouvelles installations ISE, vous disposez d'une licence d'évaluation de 90 jours qui a accès à toutes les fonctionnalités ISE. Si vous ne disposez pas d'une licence d'évaluation, vous devez disposer d'une licence d'administration de périphérique pour le noeud Policy Server qui effectue l'authentification afin d'utiliser la fonctionnalité ISE TACACS.

    Une fois que les utilisateurs Admin/Help Desk se sont authentifiés sur le périphérique Nexus, ISE renvoie le rôle d'interpréteur de commandes Nexus souhaité.

    L’utilisateur auquel ce rôle est attribué peut effectuer un dépannage de base et renvoyer certains ports. 

    La session TACACS qui obtient le rôle Nexus doit être en mesure d'utiliser et d'exécuter uniquement les commandes et actions suivantes :

    • Accès pour configurer le terminal pour exécuter UNIQUEMENT les interfaces d'arrêt et aucune interface d'arrêt à partir du 1/1-1/21 et du 1/25-1/30
    • ssh 
    • ssh6
    • telnet
    • Telnet6
    • Traceroute
    • Traceroute6
    • Ping
    • Ping6
    • Activer

    Configurer

    Diagramme du réseau

    Flow Components DiagramDiagramme des composants de flux

    Étape 1: Configuration du Nexus 9000

    1. Configurez AAA.

    warning-icon

    Avertissement : Après avoir activé l'authentification TACACS, le périphérique Nexus cesse d'utiliser l'authentification locale et commence à utiliser l'authentification basée sur le serveur AAA.

    Nexus9000(config)# feature tacacs+
    Nexus9000(config)# tacacs-server host <Your ISE IP> key 0 Nexus3xample
    Nexus9000(config)# tacacs-server key 0 "Nexus3xample"
    Nexus9000(config)# aaa group server tacacs+ IsePsnServers
    Nexus9000(config-tacacs+)# server <Your ISE IP>
    Nexus9000(config)# aaa authentication login default group IsePsnServers local

    2. Configurez le rôle personnalisé avec les exigences spécifiées.

    Nexus9000(config)# role name helpdesk
    Nexus9000(config-role)#   description Can perform basic Toubleshooting and bounce certain  ports
    Nexus9000(config-role)# rule 1 permit read
    Nexus9000(config-role)# rule 2 permit command enable *
    Nexus9000(config-role)# rule 3 permit command ssh *
    Nexus9000(config-role)# rule 4 permit command ssh6 *
    Nexus9000(config-role)# rule 5 permit command ping *
    Nexus9000(config-role)# rule 6 permit command ping6 *
    Nexus9000(config-role)# rule 7 permit command telnet *
    Nexus9000(config-role)# rule 8 permit command traceroute *
    Nexus9000(config-role)# rule 9 permit command traceroute6 *
    Nexus9000(config-role)# rule 10 permit command telnet6 *
    Nexus9000(config-role)# rule 11 permit command config t ; interface * ; shutdown
    Nexus9000(config-role)# rule 12 permit command config t ; interface * ; no shutdown

    vlan policy deny
    interface policy deny

    Nexus9000(config-role-interface)#     permit interface Ethernet1/1
    Nexus9000(config-role-interface)#     permit interface Ethernet1/2
    Nexus9000(config-role-interface)#     permit interface Ethernet1/3
    Nexus9000(config-role-interface)#     permit interface Ethernet1/4
    Nexus9000(config-role-interface)#     permit interface Ethernet1/5
    Nexus9000(config-role-interface)#     permit interface Ethernet1/6
    Nexus9000(config-role-interface)#     permit interface Ethernet1/7
    Nexus9000(config-role-interface)#     permit interface Ethernet1/8
    Nexus9000(config-role-interface)#     permit interface Ethernet1/8
    Nexus9000(config-role-interface)#     permit interface Ethernet1/9
    Nexus9000(config-role-interface)#     permit interface Ethernet1/10
    Nexus9000(config-role-interface)#     permit interface Ethernet1/11
    Nexus9000(config-role-interface)#     permit interface Ethernet1/12
    Nexus9000(config-role-interface)#     permit interface Ethernet1/13
    Nexus9000(config-role-interface)#     permit interface Ethernet1/14
    Nexus9000(config-role-interface)#     permit interface Ethernet1/15
    Nexus9000(config-role-interface)#     permit interface Ethernet1/16
    Nexus9000(config-role-interface)#     permit interface Ethernet1/17
    Nexus9000(config-role-interface)#     permit interface Ethernet1/18
    Nexus9000(config-role-interface)#     permit interface Ethernet1/19
    Nexus9000(config-role-interface)#     permit interface Ethernet1/20
    Nexus9000(config-role-interface)#     permit interface Ethernet1/21
    Nexus9000(config-role-interface)#     permit interface Ethernet1/22
    Nexus9000(config-role-interface)#     permit interface Ethernet1/25
    Nexus9000(config-role-interface)#     permit interface Ethernet1/26
    Nexus9000(config-role-interface)#     permit interface Ethernet1/27
    Nexus9000(config-role-interface)#     permit interface Ethernet1/28
    Nexus9000(config-role-interface)#     permit interface Ethernet1/29
    Nexus9000(config-role-interface)#     permit interface Ethernet1/30

    Nexus9000# copy running-config startup-config
    [########################################] 100%
    Copy complete, now saving to disk (please wait)...

    Copy complete.

    Étape 2 : configuration du moteur Identity Service Engine 3.2

    1. Configurez l'identité utilisée pendant la session Nexus TACACS.

    L'authentification locale ISE est utilisée.

    Accédez à l'onglet Administration > Identity Management > Groups et créez le groupe dont l'utilisateur a besoin pour faire partie, le groupe d'identité créé pour cette démonstration est iseUsers.

    Creating a user groupCréation d'un groupe d'utilisateurs

    Cliquez sur le bouton Envoyer.

    Accédez ensuite à Administration > Gestion des identités > onglet Identity.

    Cliquez sur le bouton Ajouter.

    User creationCréation utilisateur

    Dans le cadre des champs obligatoires, commencez par le nom de l'utilisateur, le nom d'utilisateur iseiscool est utilisé dans cet exemple.

    Naming the User and Creating itNommer l'utilisateur et le créer

    L'étape suivante consiste à attribuer un mot de passe au nom d'utilisateur créé. VainillaISE97 est le mot de passe utilisé dans cette démonstration.

    Password assignementAttribution de mot de passe

    Enfin, affectez l'utilisateur au groupe précédemment créé, qui est dans ce cas iseUsers.

    Group assignationAffectation de groupe

    2. Configurez et ajoutez le périphérique réseau.

    Ajout du périphérique NEXUS 9000 à l'administration ISE > Ressources réseau > Périphériques réseau

    Cliquez sur le bouton Add afin de démarrer.

    Network Access Device PagePage Network Access Device

    Entrez les valeurs dans le formulaire, attribuez un nom au NAD que vous créez et une adresse IP à partir de laquelle le NAD contacte ISE pour la conversation TACACS.

    Configure Network DeviceConfiguration du périphérique réseau

    Les options de la liste déroulante peuvent être laissées vides et peuvent être omises. Ces options sont destinées à classer vos NAD par emplacement, type de périphérique, version, puis à modifier le flux d'authentification en fonction de ces filtres.

    Dans Administration > Network Resources > Network Devices > Your NAD > TACACS Authentication Settings, ajoutez le secret partagé que vous avez utilisé dans votre configuration NAD. Nexus3example est utilisé dans cette démonstration.

    TACACS configuration sectionSection de configuration TACACS

    Enregistrez les modifications en cliquant sur le bouton Envoyer.

    3. Configurez TACACS sur ISE.

    Vérifiez à nouveau que l'option Device Admin est activée sur le PSN que vous avez configuré dans le Nexus 9k. 

    note-icon

    Remarque : L'activation du service d'administration de périphériques n'entraîne PAS de redémarrage sur ISE.

    PSN Device Admin feature checkVérification de la fonctionnalité Administrateur de périphérique PSN

    Vous pouvez le vérifier dans le menu ISE Administration > System > Deployment > Your PSN > Policy Server section > Enable Device Admin Services.

    • Créez un profil TACACS, qui renvoie le centre d'assistance aux rôles au périphérique Nexus si l'authentification réussit.

    Dans le menu ISE, accédez à Workcenters > Device Administration > Policy Elements > Results > TACACS Profiles et cliquez sur le bouton Add.

    TACACS ProfileProfil TACACS

    Attribuez un nom et éventuellement une description.

    Naming Tacacs profileProfil Tacacs de dénomination

    Ignorez la section Vue des attributs de tâche et accédez à la section Vue brute.

    Et entrez la valeur shell : roles="helpdesk".

    Adding Profile AttributeAjouter un attribut de profil

    Configurez l'ensemble de stratégies qui inclut la stratégie d'authentification et la stratégie d'autorisation.

    Dans le menu ISE, accédez à Work Centers > Device Administration > Device Admin Policy Sets.

    À des fins de démonstration, le jeu de stratégies par défaut est utilisé. Cependant, un autre jeu de stratégies peut être créé, avec des conditions pour correspondre à des scénarios spécifiques.

    Cliquez sur la flèche à la fin de la ligne.

    Device Admin Policy Sets pagePage Ensembles de stratégies d'administration des périphériques

    Une fois dans la configuration du jeu de stratégies, faites défiler vers le bas et développez la section Authentication Policy.

    Cliquez sur l'icône Ajouter.

    Pour cet exemple de configuration, la valeur Name est Internal Authentication et la condition choisie est l'adresse IP du périphérique réseau (Nexus) (remplacer l'adresse A.B.C.D.). Cette stratégie d'authentification utilise le magasin d'identités des utilisateurs internes.

    Authentication PolicyStratégie d'authentification

    Voici comment la condition a été configurée.

    Sélectionnez Network Access > Device IP address Dictionary Attribute.

    Condition studio for authentication policyCondition studio pour la politique d'authentification

    Remplacez le commentaire <Nexus IP address> par l'adresse IP correcte.

    Adding the IP filterAjout du filtre IP

    Cliquez sur le bouton Utiliser.

    Cette condition n'est remplie que par le périphérique Nexus que vous avez configuré. Cependant, si l'objectif est d'activer cette condition pour un grand nombre de périphériques, considérez une condition différente.

    Accédez ensuite à la section Politique d'autorisation et développez-la.

    Cliquez sur l'icône + (plus).

    Authorization policy sectionSection Politique d'autorisation

    Dans cet exemple, NEXUS HELP DESK comme nom de la politique d'autorisation a été utilisé.

    Condition studio for Authorization PolicyCondition studio pour la politique d'autorisation

    La même condition que celle configurée dans la stratégie d'authentification est utilisée pour la stratégie d'autorisation.

    Dans la colonne Profils Shell, le profil configuré avant la sélection de Nexus Helpdesk.

    Enfin, cliquez sur le bouton Enregistrer.

    Vérifier

    Utilisez cette section pour confirmer que votre configuration fonctionne correctement.

    Dans l'interface utilisateur graphique d'ISE, accédez à Operations > TACACS > Live Logs. Identifiez l'enregistrement qui correspond au nom d'utilisateur utilisé, puis cliquez sur Live Log Detail de l'événement Authorization.

    TACACS Live LogJournal TACACS en direct

    Dans le cadre des détails inclus dans ce rapport, vous pouvez trouver une section Réponse, où vous pouvez voir comment ISE a retourné la valeur shell : roles="helpdesk"

    Live Log Detail ResponseRéponse détaillée du journal en direct

    Sur le périphérique Nexus :

    Nexus9000 login: iseiscool
    Password: VainillaISE97

    Nexus9000# conf t
    Enter configuration commands, one per line. End with CNTL/Z.
    Nexus9000(config)# interface ethernet 1/23
    % Interface permission denied

    Nexus9000(config)# ?
      interface  Configure interfaces
      show       Show running system information
      end        Go to exec mode
      exit       Exit from command interpreter

    Nexus9000(config)# role name test
    % Permission denied for the role

    Nexus9000(config)#

    Nexus9000(config)# interface loopback 0
    % Interface permission denied

    Nexus9000(config)#
    Nexus9000# conf t

    Nexus9000(config)# interface ethernet 1/5
    Notice that only the commands allowed are listed.
    Nexus9000(config-if)# ?

      no        Negate a command or set its defaults
      show      Show running system information
      shutdown  Enable/disable an interface
      end       Go to exec mode
      exit      Exit from command interpreter

    Nexus9000(config-if)# cdp
    Nexus9000(config-if)# cdp enable
    % Permission denied for the role
    Nexus9000(config-if)#

    Dépannage

    • Vérifiez qu'ISE est accessible à partir du périphérique Nexus :

    Nexus9000# ping <Votre adresse IP ISE>
    PING <Votre adresse IP ISE> (<Votre adresse IP ISE> 😞 56 octets de données
    64 octets de <Votre adresse IP ISE> : icmp_seq=0 ttl=59 time=1,22 ms
    64 octets de <Votre adresse IP ISE> : icmp_seq=1 ttl=59 time=0,739 ms
    64 octets de <Votre adresse IP ISE> : icmp_seq=2 ttl=59 time=0,686 ms
    64 octets de <Votre adresse IP ISE> : icmp_seq=3 ttl=59 time=0,71 ms
    64 octets de <Votre adresse IP ISE> : icmp_seq=4 ttl=59 time=0,72 ms

    • Vérifiez que le port 49 est ouvert entre ISE et le périphérique Nexus :
      Nexus9000# telnet <Votre IP ISE> 49
      Essai de <votre adresse IP ISE>...
      Connecté à <votre adresse IP ISE>.
      Le caractère d'échappement est '^]'.
    • Utilisez ces débogages :

    debug tacacs+ all
    Nexus9000#
    Nexus9000# 2024 19 avril 22:50:44.199329 tacacs : event_loop() : appel de process_rd_fd_set
    2024 Avr 19 22:50:44.199355 tacacs : process_rd_fd_set : rappel d'appel pour fd 6
    2024 Avr 19 22:50:44.199392 tacacs : fsrv n'a pas consommé l'opcode 8421
    2024 Avr 19 22:50:44.199406 tacacs : process_implicit_cfs_session_start : saisie en cours...
    2024 Avr 19 22:50:44.199414 tacacs : process_implicit_cfs_session_start : sortie ; l'état de distribution est désactivé
    2024 Avr 19 22:50:44.199424 tacacs : process_aaa_tplus_request : saisie pour l'id de session aaa 0
    2024 Avr 19 22:50:44.199438 tacacs : process_aaa_tplus_request:vérification de l'état du port mgmt0 avec servergroup IsePsnServers
    2024 Avr 19 22:50:44.199451 tacacs : tacacs_global_config(4220) : saisie en cours...
    2024 Avr 19 22:50:44.199466 tacacs : tacacs_global_config(4577) : GET_REQ...
    2024 Avr 19 22:50:44.208027 tacacs : tacacs_global_config(4701) : Récupération de la valeur de retour de l’opération de configuration globale du protocole :SUCCESS
    2024 Avr 19 22:50:44.208045 tacacs : tacacs_global_config(4716) : REQ:num. serveur 0
    2024 Avr 19 22:50:44.208054 tacacs : tacacs_global_config : REQ : groupe de numéros 1
    2024 Avr 19 22:50:44.208062 tacacs : tacacs_global_config : REQ:num timeout 5
    2024 Avr 19 22:50:44.208070 tacacs : tacacs_global_config : REQ : num deadtime 0
    2024 Avr 19 22:50:44.208078 tacacs : tacacs_global_config : REQ : num encryption_type 7
    2024 Avr 19 22:50:44.208086 tacacs : tacacs_global_config : renvoi de retval 0
    2024 Avr 19 22:50:44.208098 tacacs : process_aaa_tplus_request : group_info est renseigné dans aaa_req, donc Utilisation de servergroup IsePsnServers
    2024 Avr 19 22:50:44.208108 tacacs : tacacs_servergroup_config : entrée pour le groupe de serveurs, index 0
    2024 Avr 19 22:50:44.208117 tacacs : tacacs_servergroup_config : GETNEXT_REQ pour l'index de groupe de serveurs de protocole :0 nom :
    2024 Avr 19 22:50:44.208148 tacacs : tacacs_pss2_move2key : rcode = 40480003 syserr2str = aucune clé pss de ce type
    2024 Avr 19 22:50:44.208160 tacacs : tacacs_pss2_move2key : appel de pss2_getkey
    2024 Avr 19 22:50:44.208171 tacacs : tacacs_servergroup_config : GETNEXT_REQ a obtenu l'index de groupe de serveurs de protocole :2 nom:IsePsnServers
    2024 Avr 19 22:50:44.208184 tacacs : tacacs_servergroup_config : Récupération de la valeur de retour du fonctionnement du groupe de protocoles :SUCCESS
    2024 Avr 19 22:50:44.208194 tacacs : tacacs_servergroup_config : renvoi de retval 0 pour le groupe de serveurs de protocole:IsePsnServers
    2024 Avr 19 22:50:44.208210 tacacs : process_aaa_tplus_request : Groupe IsePsnServers trouvé. vrf correspondant est default, source-intf est 0
    2024 Avr 19 22:50:44.208224 tacacs : process_aaa_tplus_request : vérification de mgmt0 vrf:management par rapport à vrf:default du groupe demandé
    2024 Avr 19 22:50:44.208256 tacacs : process_aaa_tplus_request:mgmt_if 83886080
    2024 Avr 19 22:50:44.208272 tacacs : process_aaa_tplus_request : global_src_intf : 0, src_intf local est 0 et vrf_name est la valeur par défaut
    2024 Avr 19 22:50:44.208286 tacacs : create_tplus_req_state_machine(902) : saisie pour l'id de session aaa 0
    2024 Avr 19 22:50:44.208295 tacacs : nombre de machines d'état 0
    2024 Avr 19 22:50:44.208307 tacacs : init_tplus_req_state_machine : saisie pour l'id de session aaa 0
    2024 Avr 19 22:50:44.208317 tacacs : init_tplus_req_state_machine(1298):tplus_ctx a la valeur NULL si author et test
    2024 Avr 19 22:50:44.208327 tacacs : tacacs_servergroup_config : saisie pour le serveur groupIsePsnServers, index 0
    2024 Avr 19 22:50:44.208339 tacacs : tacacs_servergroup_config : GET_REQ pour index de groupe de serveurs de protocole:0 nom:IsePsnServers
    2024 Avr 19 22:50:44.208357 tacacs : find_tacacs_servergroup : saisie pour le groupe de serveurs IsePsnServers
    2024 Avr 19 22:50:44.208372 tacacs : tacacs_pss2_move2key : rcode = 0 syserr2str = SUCCESS
    2024 Avr 19 22:50:44.208382 tacacs : find_tacacs_servergroup : sortie pour le groupe de serveurs L'index IsePsnServers est 2
    2024 Avr 19 22:50:44.208401 tacacs : tacacs_servergroup_config : GET_REQ : find_tacacs_servergroup error 0 pour le groupe de serveurs de protocole IsePsnServers
    2024 Avr 19 22:50:44.208420 tacacs : tacacs_pss2_move2key : rcode = 0 syserr2str = SUCCESS
    2024 Avr 19 22:50:44.208433 tacacs : tacacs_servergroup_config : GET_REQ a obtenu l'index de groupe de serveurs de protocoles :2 nom:IsePsnServers
    2024 A2024 19 avril 22:52024 19 avril 22:52024 19 avril 22:5
    Nexus9000#

    • Effectuez une capture de paquets. (Pour afficher les détails du paquet, vous devez modifier les préférences TACACS+ de Wireshark, et mettre à jour la clé partagée utilisée par Nexus et ISE.)

    TACACS Authorization PacketPaquet d'autorisation TACACS

    • Vérifiez que la clé partagée est identique côté ISE et côté Nexus. Cette option peut également être cochée dans Wireshark.

    Authentication PacketPaquet d'authentification