2024年4月29日发(作者:)
路由器开启AAA后做身份验证的配置
AAA是装在一台设备上的软件,最新的Cisco版本是 ACS4.0
AAA必须装在Server上才可以用
1645端口做认证和授权,1646端口做统计
在路由器上启动使用AAA:
R1(config)#aaa new-model
----------------------------------------------------------------
如果没有这条命令,连接到R1将出现下面的提示(直接拒绝或提示输入密码):
R2#telnet 10.0.0.1
Trying 10.0.0.1 ... Open
Password required, but none set
[Connection to 10.0.0.1 closed by foreign host]
开启后:
R2#telnet 10.0.0.1
Trying 10.0.0.1 ... Open
User Access Verification
Username: cisco
Password:
---------------------------------------------------------------
指定一台Radius Server IP地址:
R1(config)#radius-server host 10.0.0.100 key cisco
指定一台Tacacs+ Server IP地址:
R1(config)#tacacs-server host 10.0.0.100 key cisco
注:Radius是公共协议,Tacacs+是Cisco协议,后面的key是指路由器和AAA服务器通信的密码
定义进入用户模式(>)时使用的认证列表,可以选择默认的列表:
WORD Named authentication list.
default The default authentication list.
enable Use enable password for authentication.
group Use Server-group
krb5 Use Kerberos 5 authentication.
krb5-telnet Allow logins only if already authenticated via Kerberos V
Telnet.
line Use line password for authentication.
local Use local username authentication.
local-case Use case-sensitive local username authentication.
none NO authentication.
WORD Server-group name
radius Use list of all Radius hosts.
tacacs+ Use list of all Tacacs+ hosts.
enable Use enable password for authentication.
group Use Server-group
krb5 Use Kerberos 5 authentication.
line Use line password for authentication.
local Use local username authentication.
local-case Use case-sensitive local username authentication.
none NO authentication.
最后加个none的意思是如果radius服务器失败,则不需要密码就可以进入,但是一般不这样设置none
远程登录和console口登录都会去radius服务器做检查
实验显示:
加了none:
R2#telnet 10.0.0.1
Trying 10.0.0.1 ... Open
User Access VerificationUsername: cisco
Password:
R1>en
% Error in authentication.(这里不能进入用户模式,因为路由器上没有设置进入#的密码)
如果设置成面这条:
则不去radius服务器检查,不需要密码直接可以登录路由器,不管console还是远程登录
----------------------------------------------------------------------------
没加none:
R2#telnet 10.0.0.1
Trying 10.0.0.1 ... Open
User Access Verification
Username: cisco
Password:
% Authentication failed
Username: sdaf
Password:
% Authentication failed
Username: dsaf
Password:
% Authentication failed
[Connection to 10.0.0.1 closed by foreign host]
R2#
这条命令意味着如果radius服务器不可用,则没有办法登录路由器,包括远程和console口
----------------------------------------------------------------------------
如果把none改成enable,则告诉路由器如果找不到radius就用进入用户模式(打en进入#的那个)的密码
来验证:
R2#10.0.0.1
Trying 10.0.0.1 ... Open
User Access Verification
Username: dasf 用户名随便输入
Password:这里的用户名和密码是拿去radius验证的
Password: 如果找不到radius,就要求在这里输入enable的密码来进行验证,如果路由器没有设置enable
密码,则不能进入路由器,console下登录也是一个原理
R1>
如果设置成下面这条:
则不去radius服务器检查,直接用enable密码认证,如果路由器没有设置enable密码,则不能进入路由
器,console下登录也是一个原理
R2#10.0.0.1
Trying 10.0.0.1 ... Open
User Access Verification
Password: 这里不提示输入用户名了,因为无需去radius验证身份
--------------------------------------------------------------------------
如果把none改成local,则使用路由器本地设置的用户名和密码进入:
设置的方法:
如果没有设置本地密码,也就不能进入路由器
如果设置成下面这条:
则说明远程登陆时不经过radius,直接用local用户名和密码认证,包括console口也用local来认证
R2#10.0.0.1
Trying 10.0.0.1 ... Open
User Access Verification
Username: dsaf
Password:
% Authentication failed
Username: 123
Password:cisco1
R1>
----------------------------------------------------------------------------
自定义实例:
这里调用上面的one,表示用enable密码来验证(使用aaa后必须要指定使用哪种认证实例,默认是default)
这里调用上面的two,表示用本地用户名密码来验证
配置好上面后连入console显示:
配置好上面后从R2telnet连入vty显示:
说明不同实例指定的不同的登录验证方法可以用在不同的访问介质上,比较灵活
也可以用:
来先让radius认证,不可用后再按照相应的配置进行验证
另外,实验结果好像显示:
和
两条命令没有区别,相反,如果line后不加参数
则应用在line console下就需要在登录console时输入line console下设置的密码
应用在line vty下就需要在远程telnet登录时输入line vty下设置的密码
从>进入#模式的验证设置:
为设置前使用enable secret password设置的密码,设置后如果是console口登录的,就用line console
下设置的密码,如果是telnet登录的就用line vty下设置的密码进入用户模式
如果开了AAA模式,则以AAA为准,即使console下已经设置了密码并要求输入登录,但是AAA设置里
只打了aaa new-model,则进入console还是不用输密码,输入了任何一条aaa (非
none)命令,登录console和vty都会提示输入相应设置的密码,所以要先设置好各个密码才打authentication
命令,不然可能进不了路由器
radius-server host IP key ...
可以打多条,按次序为主和备份
aaa authentication username-prompt 新的文字
aaa authentication password-prompt 新的文字
可以把登录时的用户名和密码提示符改成想要的文字,以提高安全性
发布评论