问题描述
AAA 能够通过多种协议来实现,在实际应用中,最常使用 RADIUS(Remote Authentication Dial-In User Service)协议。
该笔记将记录:华为网络设备,RADIUS 的配置方法,以及常见问题解决方案。
解决方案
概念术语
域(Domain)
缺省情况下,设备存在两个域:全局默认普通域default、全局默认管理域default_admin。两个域均不能删除,只能修改。
注意:域与远端认证没有关系,只是通过域能够为不同用户指定不同认证方案。
默认普通域(default)当前为空闲域,不起作用。default_admin 为管理员(通过SSH,Telnet,Terminal或FTP方式登录设备的用户)的缺省域,缺省为本地认证
当管理员的用户名未携带域名时,设备将管理员加入到缺省域中
配置使用
常用 AAA 配置
进入AAA视图:
[Huawei] aaa # 从系统视图进入AAA视图进行配置
创建认证方案:
// 创建认证方案,并进入相应的认证方案视图 [Huawei-aaa] authentication-scheme <authentication-scheme-name> // 配置认证方式,local指定认证方式为本地认证。 // 缺省情况下,认证方式为本地认证。 [Huawei-aaa-authentication-scheme-name] authentication-mode { hwtacacs | local | radius }
创建 domain,并绑定认证方案:
[Huawei-aaa] domain <domain-name> [Huawei-aaa-domain-name] authentication-scheme <authentication-scheme-name> # 在相应的domain视图下绑定认证方案
创建用户(当 authentication-mode local 时,才需要本地用户):
// 创建本地用户,并配置本地用户的密码: // ---- 如果用户名中带域名分隔符,如@,则认为@前面的部分是用户名,后面部分是域名 // ---- 如果没有@,则整个字符串为用户名,域为默认域 [Huawei-aaa] local-user <user-name> password cipher <password> // 配置用户接入类型 // 缺省情况下,本地用户关闭所有的接入类型。 [Huawei-aaa] local-user <user-name> service-type { { terminal | telnet | ftp | ssh | snmp | http } | ppp | none } // 配置用户级别 [Huawei-aaa] local-user <user-name> privilege level <level>
案例:本地认证(local)
[R1]aaa [R1-aaa]local-user huawei password cipher huawei123 [R1-aaa]local-user huawei service-type telnet [R1-aaa]local-user huawei privilege level 0 [R1]user-interface vty 0 4 [R1-ui-vty0-4]authentication-mode aaa
此时,当用户通过 Telnet 登录设备时,将执行该 aaa 认证,需要用户输入帐号密码。
查看默认域信息:
<Huawei>display domain name default_admin Domain-name : default_admin Domain-state : Active Authentication-scheme-name : default Accounting-scheme-name : default Authorization-scheme-name : - Service-scheme-name : - RADIUS-server-template : - HWTACACS-server-template : - User-group : - <Huawei>display aaa offline-record all Info:No records
案例:远端认证(AAA Server)
定义 AAA 方案:
1)定义 A、A、A 模板,并配置 radius 模式;
指定 AAA Server 模板:
1)如果是 RADIUS 服务:[Huawei] radius-sever template <name>
定义 Doamin 资源:
1)引用 Schema 绑定:
2)将域与 AAA Server 模板绑定;
创建用户:
1)在 AAA Server(RADIUS)中,创建用户;
2)用户名应该包含域信息,使用 @ 符号;
测试连接
1)test-aaa