课程XXXX中低端路由器AAA及Radius配置(M0000007)Issue1.011.1验证、授权和记费(AAA)1.1.1AAA概述AAA概述AAA概述l验证(Authentication)l授权(Authorization)l计费(Accounting)QuidwaySeriesRouterQuidwaySeriesRouterAAAServer本地实现AAA使用服务器实现AAA验证(Authentication):验证用户身份。授权(Authorization):授权用户可以使用哪些服务。计费(Accounting):记录用户使用网络资源的情况,对用户进行计费。实现AAA功能可以在本地进行,也可以由AAA服务器在远程进行。计费功能由于占用系统资源大通常都使用AAA服务器实现。对于用户数量大的情况,验证和授权也应该使用AAA服务器。AAA服务器与网络设备的通信有标准的协议,目前比较流行的是RADIUS协议。课程XXXX中低端路由器AAA及Radius配置(M0000007)Issue1.021.1.2提供AAA支持的服务提供AAA支持的服务提供AAA支持的服务QuidwaySeriesRouterQuidwaySeriesRouterQuidwaySeriesRouterEXEC远程设备FTPClientPPPPPP:PPP的PAP、CHAP验证的用户。EXEC:指通过telnet登陆到路由器,以及通过各种方式(如console口,aux口等)进入到路由器进行配置的操作。FTP:通过ftp登陆到路由器的用户。课程XXXX中低端路由器AAA及Radius配置(M0000007)Issue1.031.1.3验证与授权验证与授权验证与授权验证授权用户名、口令验证PPP的CHAP验证主叫号码认证服务类型回呼号码隧道属性1、验证用户名、口令验证:包括PPP的PAP验证、PPP的CHAP验证、EXEC用户验证、FTP用户验证。拨号的PPP用户可以进行主叫号码验证。2、授权服务类型授权:对一个用户授权提供的服务。可以是PPP、EXEC、FTP中的一种或几种。回呼号码:对PPP回呼用户可以设定回呼号码。隧道属性:配置L2TP的隧道属性。验证、授权可以在本地进行,也可以在RADISU服务器进行。但对一个用户的验证和授权使用相同的方法,即或者验证、授权均在本地进行,或者均使用RADIUS服务器。课程XXXX中低端路由器AAA及Radius配置(M0000007)Issue1.041.1.4计费及AAA使用特别提醒计费及AAA使用特别提醒计费及AAA使用特别提醒l记录用户使用资源情况l只能使用AAA服务器进行计费l对于进行了验证的用户缺省都要进行计费l如果不希望计费一定钥配置如下命令:aaaaccounting-schemeoptional首次使用AAA,经常发生配置了用户而验证不通过的情况。这实际上是由于没有学会灵活使用aaaaccounting-schemeoptional的原因。其实这种情况不是验证不通过,而是计费失败,切断了用户。因为开始使用的时候启用AAA,这时缺省使用本地验证。而本地验证也是需要计费的,由于没有配置RADIUS服务器,造成计费失败,而因为没有配置aaaaccounting-schemeoptional,在计费失败时的处理就是断开用户,因此用户不能成功上网。aaaaccounting-schemeoptional的作用是在计费失败时允许用户继续使用网络。因此在只验证不计费的情况下,一定要注意配置aaaaccounting-schemeoptional命令。课程XXXX中低端路由器AAA及Radius配置(M0000007)Issue1.051.1.5AAA基本配置命令AAA基本配置命令AAA基本配置命令l配置命令aaa-enableaaaaccounting-schemeoptionalaaaauthentication-schemelogin{default|methods-list}{method1[method2...]}aaaauthentication-schemeppp{default|methods-list}{method1}[method2...]l方法表5种有效组合:radius、local、none、radiuslocal、radiusnoneaaa-enable:启用AAA。aaaaccounting-schemeoptional:计费处理选项。aaaauthentication-schemelogin{default|methods-list}{method1[method2...]}aaaauthentication-schemeppp{default|methods-list}{method1}[method2...]配置login的验证方法表和ppp的验证方法表,方法表的名字可以是default也可以自己取。缺省方法表的缺省方法为本地验证。验证方法有三种:radius、local、none。配置多种方法时,前面的方法失败则使用后面的方法,这里说的失败不是验证失败,而是验证不能成功进行,比如与RADIUS服务器通信失败,因此只有RADIUS方法才可能有失败的情况。所以只有5种有意义的方法组合:后面的方法有5种有效组合:radius、local、none、radiuslocal、radiusnone。方法表的概念:login只能配置一个方法表,配置了方法表即自动应用到所有需要AAA的FTP用户、EXEC用户。PPP可以配置多个方法表,特定的接口使用哪个方法表还需要将这个方法表应用到接口上。即在接口上配置pppauthentication-mode{chap|pap}[callin][scheme{default|name-list}],缺省使用default方法表。课程XXXX中低端路由器AAA及Radius配置(M0000007)Issue1.061.1.6本地用户数据库本地用户数据库本地用户数据库本地用户数据库用户名用户口令授权服务主叫号码回呼号码FTP授权目录相关命令Local-userDisplayaaauser用户数据使用本地验证、授权需要在路由器上维护用户数据库。由于路由器上资源有限,此数据库不宜过大。最多只支持配置50个用户。大量用户应该使用RADIUS服务器。local-useruser[password{simple|cipher}password]配置用户口令local-useruser[service-type{exec-administrator|exec-guest|exec-operator|ftp|ppp}...]配置授权服务local-useruser[call-numbernumber][:sub-number]配置主叫号码与子主叫号码。local-useruser[callback-numbernumber]配置回呼号码。local-useruser[ftp-directorydirectory]配置FTP目录。undolocal-useruser删除用户。可以使用displayaaauser命令或在displaycurrent-configuration中查看配置的用户。课程XXXX中低端路由器AAA及Radius配置(M0000007)Issue1.071.1.7AAA配置举例AAA配置举例AAA配置举例l启动AAA[Quidway]aaa-enablel配置PPP用户的缺省验证方法表[Quidway]aaaauthentication-schemelogindefaultlocall配置不计费时仍然允许用户访问[Quidway]aaaaccounting-schemeoptionall将缺省方发表应用到封装了PPP的接口[Quidway-Serial0]pppauthentication-modepapschemedefault配置对连接到Serial0上的PPP用户使用本地验证。课程XXXX中低端路由器AAA及Radius配置(M0000007)Issue1.081.1.8调试和监控信息调试和监控信息调试和监控信息l显示在线用户displayaaauserl原语调试信息,观察AAA请求与结果debuggingradiusprimitivel事件调试信息,观察AAA过程debuggingradiusevent原语为各服务(PPP、EXEC、FTP)与AAA功能的接口,常见原语有7种。请求原语三种:join(pap):用户名、口令验证请求。join(chap):PPP的CHAP验证请求。leave:用户下网请求。返回结果的原语三种:accept:验证通过。reject:验证不通过,拒绝用户。bye:用户下网的确认。另外还有一种:cut:在计费失败时,如果没有配置aaaaccounting-schemeoptional则要求相应服务切断用户。用事件调试信息可以简单观察AAA过程。由于事件调试信息很短,在用户验证活动量大时可以只打开事件调试信息,这样不会由于调试信息过多而无法观察。课程XXXX中低端路由器AAA及Radius配置(M0000007)Issue1.091.2RADIUS1.2.1RADIUS概述RADIUS概述RADIUS概述lRADIUS(RemoteAuthenticationDial-inUserService)是当前流行的安全服务器协议l实现AAA(授权Authorization、验证Authentication和计费Accounting)功能RADIUS采用客户机/服务器(Client/Server)结构。验证、授权时客户端的任务是将用户(User)的信息发送到指定的服务器,然后根据服务器的不同响应进行处理。RADIUS服务器的任务是接收客户端发来的用户连接请求,验证用户,并返回客户端提供服务所需要的配置信息。RADIUS服务器的数据库中集中存放了相关的安全信息,避免安全信息凌乱散布带来的不安全性,同时更可靠且易于管理。实现计费时,客户端将用户的上网时长、进出字节数、进出包数等原始数据送到RADIUS服务器上,以供RADIUS服务器计费时使用。在路由器上运行RADIUS客户端程序。课程XXXX中低端路由器AAA及Radius配置(M0000007)Issue1.0101.2.2RADIUS实现AAA的流程RADIUS实现AAA的流程RADIUS实现AAA的流程用户上网验证请求验证授权通过计费开始请求计费开始应答计费结束请求计费结束应答授权并允许用户上网用户下网QuidwaySeriesRouterAAAServer首先由各种服务(PPP、EXEC、FTP)得到用户信息,然后将这些信息交给RADIUS服务器进行验证。如果通过验证,RADIUS服务器将验证信息连同RADIUS用户数据库中包含的用户授权信息一起送给路由器。路由器根据这些信息向用户提供相应服务。通过验证的同时,通知RADIUS服务器会话开始。于会话终止时再次通知RADIUS服务器。这样由RADIUS服务器保存的记帐记录可以用于计费。课程XXXX中低端路由器AAA及Radius配置(M0000007)Issue1.0111.2.3RADIUS结构及基本原理RADIUS实现AAA的流程RADIUS实现AAA的流程用户上网验证请求验证授权通过计费开始请求计费开始应答计费结束请求计费结束应答授权并允许用户上网用户下网QuidwaySeriesRouterAAAServerRADIUS协议采用客户机/服务器(Client/Server)结构,路由器作为客户端与RADIUS服务器通信。UDP(UserDatagramProtocol)即用户数据报协议,它是一种面向无连接的协议,传输层不保证报文的可靠性和顺序性,这样报文可能丢失或者是乱序。RADIUS协议使用了两个UDP端口分别用于验证(以及验证通过后对用户的授权)和计费。在RADIUS的协议文本RFC2138和R