因公司人员变动比较频繁,经常需要对公司网络设备登陆用户名和密码进行变更。然而公司设备又比较多,一次更改密码非常浪费时间,故打算对所有网络设备进行统一认证管理。
本实验是对实际环境的模拟,配置相对实际应用当中更丰富,也利于学习。
实验前提:
1、本拓扑中已具备Radius认证服务器,也就是ACS 5.2作为Radius服务器,服务器的地址是192.168.157.200。
2、本实验是简单网络环境,和实际网络可能有所差距,但原理是一样的:所有网络设备到Radius服务器的路由是通的。
3、本实验当中的Radius认证服务器是ACS 5.2。认证服务器有很多,原理是一样的,根据各人习惯和擅长选择使用。
实验拓扑:
华为AAA配置原则:
1、先进入aaa视图,创建authentication-scheme模板;
2、创建authorization-scheme和accounting-scheme模板(可选);
3、全局视图下,创建radius-server template模板并配置相应规则;
4、aaa视图下,创建服务模板service-scheme;
5、创建domain(或者使用default_admin 域),并调用authentication-scheme模板、authorization-scheme模板、accounting-scheme模板、radius-server template模板、service-scheme模板(根据自己需要选择调用);
6、在user-interface 下选择认证的方式。
实验配置:
1、[Core Switch]aaa
[Core Switch-aaa]authentication-scheme acsvty //在创建一个模板,命名为acsvty//
[Core Switch-aaa-authen-acsvty]authentication-mode radius local //此模板下的认证方式为首先用radius服务器认证,如果无法连接radius服务器,则其次调用本地认证(如果能够和radius服务器通信,但用户名密码不对,是不会调用备份的本地认证的)//
[Core Switch-aaa-authen-acsvty]qui
2、本实验没有做授权和审计(略过)
3、
[Core Switch]radius-server template acs5.2//创建radius-server模板,名为acs5.2//
Info: Create a new server template.
[Core Switch-radius-acs5.2]radius-server authentication 192.168.157.200 1812
//在模板中指定认证服务器的IP地址为157.200,端口号为1812(radius认证端口号一般为1812,审计为1813)//
[Core Switch-radius-acs5.2]radius-server authentication 1.1.1.1 1812 secondary
//指定模板中的备份服务器IP地址和端口号//
[Core Switch-radius-acs5.2]radius-server shared-key simple huawei
//配置交换机和radius服务器通信的密钥为huawei,防止非法radius服务器或者非法网络设备接入//
[Core Switch-radius-acs5.2]radius-server timeout 3 retransmit 2
//指定radius服务器的超时时间为3秒,重传次数为2次//
[Core Switch-radius-acs5.2]undo radius-server user-name domain-included
//此命令的作用是当输入用户名带有域名时,交换机自动把域名去掉然后把用户名发送给radius服务器.例:用户名输入vtyuser1@wangrx,交换机只会把vtyuser1当作用户名发送给radius服务器进行认证,把域名去掉了。至于域名用什么作为分隔符、从左往右还是从右往左识别,都可以在模板中配置,在此不多说了,查文档就有//
4、
[Core Switch]aaa
[Core Switch-aaa]service-scheme admin
//创建service-scheme模板,命名为admin//
[Core Switch-aaa-service-admin]admin-user privilege level 15
//配置admin-user的权限为15级//
5、
[Core Switch-aaa]domain wangrx
//创建wangrx域,域内的用户认证时用户名需要带域名。如:vtyuser@wangrx为用户名//
[Core Switch-aaa-domain-wangrx]authentication-scheme acs5.2
//调用认证模板。如果需要,调用授权和审计模板.此处没配置审计模板,不作调用//
[Core Switch-aaa-domain-wangrx]service-scheme admin
//调用服务模板//
[Core Switch-aaa-domain-wangrx]radius-server acs
//调用radius服务器模板//
6、
[Core Switch]telnet server enable
[Core Switch]user-interface vty 0 4
[Core Switch-ui-vty0-4]authentication-mode aaa
[Core Switch-ui-vty0-4]protocol inbound telnet
[Core Switch]user-interface console 0
[Core Switch-ui-console0]authentication-mode aaa
radius服务器配置相关配置:
上面是用户账号:vtyuser1 vtyuser2
验证:
认证在wangrx域中,成功。
用户认证在default_admin域中,也就是不在任何域中,在默认的域中。
【华为有两个默认域,就是 domain default 和domain default_admin。这两个域是不同的
default域为接入用户(通过NAC进行认证的用户)的缺省域。
default_admin为管理员(通过HTTP,SSH,Telnet,Terminal或FTP方式登录设备的用户)的缺省域
】
此处,vtylocal1用户是本地用户,当radius服务器好用的时候,本地用户是不能通过认证的,也就是不会启用本地认证。当radius服务器挂了的时候,才会调用本地认证(或不认证none)。
[Core Switch-aaa-authen-acsvty]authentication-mode radius local
建议在vty接口下使用authentication-mode radius local,备份认证是本地认证;但在con口下,使用authentication-mode radius none,备份认证是none,也就是不认证。因为,如果交换机备份认证是本地,而本地没有用户的话,就没有办法认证了,这台设备也就无法登陆了。
交换机的全部配置如下:
#
sysname Core Switch
#
vlan batch 10 20 30 157
#
cluster enable
ntdp enable
ndp enable
#
drop illegal-mac alarm
#
dhcp enable
#
diffserv domain default
#
radius-server template acs
radius-server authentication 192.168.157.200 1812
radius-server retransmit 2 timeout 6
undo radius-server user-name domain-included
#
#
drop-profile default
#
aaa
authentication-scheme default
authentication-scheme acsvty
authentication-mode radius local
authentication-scheme acscon
authentication-mode radius none
authorization-scheme default
accounting-scheme default
service-scheme admin
admin-user privilege level 15
domain default
domain default_admin
authentication-scheme acsvty
service-scheme admin
radius-server acs
domain wangrx
authentication-scheme acscon
service-scheme admin
radius-server acs
local-user admin password simple admin
local-user admin service-type http
local-user vtylocal1 password simple huawei123
local-user vtylocal1 privilege level 15
local-user vtylocal1 service-type telnet
#
interface Vlanif1
#
interface Vlanif10
ip address 10.1.1.1 255.255.255.0
dhcp select interface
#
interface Vlanif20
ip address 20.1.1.1 255.255.255.0
dhcp select interface
#
interface Vlanif30
ip address 30.1.1.1 255.255.255.0
dhcp select interface
#
interface Vlanif157
ip address 192.168.157.111 255.255.255.0
#
interface MEth0/0/1
#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 20
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 30
#
interface GigabitEthernet0/0/4
#
interface GigabitEthernet0/0/5
#
interface GigabitEthernet0/0/6
#
interface GigabitEthernet0/0/7
#
interface GigabitEthernet0/0/8
#
interface GigabitEthernet0/0/9
#
interface GigabitEthernet0/0/10
#
interface GigabitEthernet0/0/11
#
interface GigabitEthernet0/0/12
#
interface GigabitEthernet0/0/13
#
interface GigabitEthernet0/0/14
#
interface GigabitEthernet0/0/15
#
interface GigabitEthernet0/0/16
#
interface GigabitEthernet0/0/17
#
interface GigabitEthernet0/0/18
#
interface GigabitEthernet0/0/19
#
interface GigabitEthernet0/0/20
#
interface GigabitEthernet0/0/21
#
interface GigabitEthernet0/0/22
#
interface GigabitEthernet0/0/23
#
interface GigabitEthernet0/0/24
port link-type access
port default vlan 157
#
interface NULL0
#
user-interface con 0
authentication-mode aaa
user-interface vty 0 4
authentication-mode aaa
#
return