4. Nexus 本地用户、角色与 AAA 认证配置
本地用户、角色与 TACACS+ 回退的权限模型
Nexus NX-OS 的权限控制由三层构成:用户(谁登录)、角色(能执行哪些命令)、认证方式(凭据由谁校验)。本地用户与自定义角色是设备自带的能力,TACACS+ 则把校验外置到 AAA 服务器。当服务器不可达时,aaa authentication login 中配置的 fallback 决定是否退回本地校验,从而避免管理面被完全锁死。
配置本地用户与自定义角色
先创建两个自定义角色,再绑定用户。NX-OS 的角色通过 role name <role> 进入角色配置模式,用 rule 语句定义允许或拒绝的命令范围。规则按顺序匹配,编号越小优先级越高。
! 创建只读角色 opview
role name opview
rule 10 permit command show *
rule 20 deny command configure *
rule 30 deny command copy *
exit
! 创建运维角色 svcops
role name svcops
rule 10 permit command show *
rule 20 permit command interface *
rule 30 permit command copy running-config startup-config
rule 40 deny command *
exit
! 创建本地用户并绑定角色
username netadmin password 0 N3tAdm!n2024 role network-admin
username opview password 0 0pV!ew2024 role opview
username svcops password 0 SvC0ps!2024 role svcops
! 查看角色定义
show role
show role name opview
show user-account
角色规则中
deny command * 必须放在最后,否则会拦截前面已允许的命令。NX-OS 按 rule 编号升序匹配,命中即停止。配置 TACACS+ 认证与本地回退
AAA 配置分三步:启用 aaa 特性、定义 TACACS+ 服务器组、指定登录认证方法列表。方法列表中的 local 关键字就是回退入口。
! 启用 AAA
aaa new-model
! 定义 TACACS+ 服务器组
tacacs-server host 10.10.10.20 key 0 T4c4csKey!2024
tacacs-server host 10.10.10.21 key 0 T4c4csKey!2024
aaa group server tacacs+ TAC_GRP
server 10.10.10.20
server 10.10.10.21
exit
! 认证方法列表:先 TACACS+,失败回退本地
aaa authentication login default group TAC_GRP local
! 授权方法列表
aaa authorization console
aaa authorization exec default group TAC_GRP local
! 验证配置
show aaa authentication
show tacacs-server
show run | inc aaa
配置
aaa authentication login default group TAC_GRP local 时,务必确认本地至少有一个 network-admin 用户且密码已知。若 TACACS+ 服务器不可达且本地无可用账号,SSH 登录将被拒绝,只能通过 Console 口恢复。验证不同角色的命令权限差异
用三个账号分别 SSH 登录,执行相同命令集,观察输出差异。下表为预期结果,实际以设备返回为准。
| 命令 | netadmin (network-admin) | svcops (自定义) | opview (自定义) |
|---|---|---|---|
show version | 允许 | 允许 | 允许 |
show running-config | 允许 | 允许 | 允许 |
configure terminal | 允许 | 拒绝 | 拒绝 |
copy running-config startup-config | 允许 | 允许 | 拒绝 |
reload | 允许 | 拒绝 | 拒绝 |
验证 TACACS+ 回退时,可在服务器侧临时停用服务,或在交换机上执行 test aaa group TAC_GRP opview 0pV!ew2024 legacy 观察返回。若服务器不可达,登录应自动走本地数据库,且角色权限与本地绑定一致。
! 测试 AAA 认证(不实际登录)
test aaa group TAC_GRP opview 0pV!ew2024 legacy
! 查看当前登录用户与角色
show users
show user-account
! 查看 AAA 统计
show aaa accounting log
回退验证的关键判断:断开 TACACS+ 服务器后,用
opview 账号 SSH 登录,若能进入且 configure terminal 被拒绝,说明 fallback local 生效且角色规则正确加载。