文章目录

  • 认证、 授权、 计费
  • 前言
  • 一、配置命令
    • 1.启用 AAA 功能
    • 2、指定一台或多台 AAA 服务器
    • 3、使用 AAA 认证( authentication)
    • 4、使用 AAA 授权( authorization)
    • 5、使用 AAA 计费(accounting)
  • 总结:配置实例

认证、 授权、 计费

Authentication、Authorization、Accounting


前言

方法列表是一组应用于 AAA 每个组件的方法。如果某种方法没有收到响应或返回了一条出错状态,将尝试列表中的下一种方法。

可以定义多个 AAA 服务器。如果列出的第一台服务器未响应或产生了错误信息,那么将尝试下一台服务器。
AAA 服务器可以成组,可以使用服务器组来处理某项特定任务。

认证( authentication)可以使用多种方法,包括 RADIUS、 TACACS+、Kerbero 5 以及在路由器本地配置的用户名。

授权( authorization)可以使用RADIUS或TACACS+来授权用户访问可用的服务。

计费( accounting)可以使用 RADIUS或TACACS+来跟踪和记录用户正在使用的服务和网络资源。


一、配置命令

1.启用 AAA 功能

(global) aaa new-mode 1

2、指定一台或多台 AAA 服务器

2.1 使用 RADIUS 服务器

(可选)设置所有RADIUS服务器的全局参数。
设置共享的路由器/服务器密钥。
(global) radius-server key {0 string |7 string | string}
共享密钥通过参数 string(明文字符串)来设置。如果字符串前有 0,或仅是字符串本身,密钥将在路由器配置中以明文形式显示出来。如果密钥前面有 7,密钥将被“隐藏”并在配置中以加密字符串的形式显示。

设置请求超时间隔。
(global) radius-server timeout seconds

在发出请求后,路由器将在 seconds 秒(1~1000;默认为 5 秒)之内等待RADIUS 服务器的响应。

设置请求重传次数。
(global) radius-server retransmit retries
如果未收到RADIUS服务器的响应, 路由器将会尝试请求 retries 次(1~100;默认为 3 次)。
设置服务器 dead 时间。
(global) radius-server deadtime minutes
如果在重传次数过后 RADIUS 服务器仍没有响应,路由器会在 minutes(0~1440;默认为 0 分钟)内将其标记为“dead(死亡)”状态,一旦某台服务器被标记为 dead 状态,路由器将跳过这台服务器并发送请求信息至下一台可用服务器。

定义一台或多台使用的服务器。
(global) radius-server host {hostname | ip-address} [auth-port port] [acct-port port] [timeout seconds] [retransmit retries] [alias {hostname | ip-address}] [key string]

RADIUS服务器通过主机名称或IP地址来标识。用户可以指定认证(auth-port;默认为 1645)和授权(acct-port;默认为 1646)使用的 UDP 端口。可以使用关键字 timeout(1~1000 秒)和retransmit(1~100)来设置路由器等待 RADIUS 响应的时间和重传次数,此操作将自动覆盖先前设置的全局参数。关键字alias可用来为单台 RADIUS服务器定义至多8个主机名称或IP地址。共享密钥key可以设置为 string(明文字符串)。一定要在最后设置密钥参数,否则路由器会将空格键后面的其他参数当做密钥来处理。

(可选)启用特定厂商的 RADIUS 属性(VSA)支持。
(global) radius-server vsa send [accounting | authorization]
使用此命令后,可以在NAS路由器和RADIUS服务器之间使用 VSA(属性26)来实现IETF草案中特定厂商的信息通信(授权属性**[authorization]**或计费属性[accounting])。

(可选)启用厂商私有的 RADIUS 属性支持。
(global)radius-server host {hostname | ip-address} non-stardard
此命令可使 Cisco IOS 软件支持非标准化的 RADIUS 属性。

2.2 使用 TACACS+服务器

(可选)为 TACACS+服务器设置全局共享路由器/服务器密钥。
(global) tacacs-server key key

此命令将共享密钥设置成了 string(明文字符串)。支持插入空格键。
定义一台或多台使用的服务器。
(global)tacacs-server host hostname [port port] [timeout seconds] [key string]

TACACS+服务器通过主机名称来标识。用户可以使用关键字port(默认为49)指定TACACS+使用的TCP端口。还可以使用关键字timeout来设置路由器等待TACACS+服务器响应的时间。共享密钥key可以设置为string(明文字符串)。一定要在最后设置密钥参数,否则路由器会将空格键后面的其他参数当做密钥来处理。

2.3 使用Kerberos服务器
在KDC(密钥分发中心)上创建用户和SRVTAB条目。
用户和SRVTAB条目是在Kerberos服务器上进行管理的。请参考 Kerberos文档来获取进一步的用法说明。SRVTAB文件与相关的密钥将在后续步骤中导入到路由器中。
定义Kerberos 域(realm)。
定义默认域。
(global)kerberos local-realm realm

此命令将使路由器处于名为 realm(大写文本字符串)的 Kerberos域中,域内的所有资源都注册到服务器上。此信息应通过服务器上的default_realm参数获得。
指定域内的Kerveros服务器。
(global)kerberos server realm {hostname | ip-address} [port]
Kerberos域realm(大写文本字符串)内的服务器通过主机名称和IP地址以及KDC使用的端口号port(默认为88)来标识。主机名称或 IP 地址应通过服务器上的 admin_server参数获得。
(可选)将 DNS 域或主机名称映射给 Kerberos 域。
(global) kerberos realm {domain | hostname} realm
此命令可将某个域名 domain(以点开头的完整域名)或主机名 hostname(不以点开头)映射到某个特定的域 realm(大写文本字符串)。
导入一个 SRVTAB 文件。
创建一个 DES 密钥。
(global) key config-key 1 string

此命令创建了一个密钥号为1的私有DES密钥 string(至多8个字母数字字符)。string用于为导入SRVTAB 条目生成 DES 密钥。
使用TFTP传输 SRVTAB 文件并创建SRVTAB 条目。
(global) kerveros srvtab remote tftp://hostname/filename
SRVTAB文件通过 URL 来标识,URL由服务器主机名称(或IP地址)后跟文件名构成。文件通过TFTP获得。

2.4 (仅用于 RADIUS 或 TACACS+)定义服务器组
定义一个组名称。
(global) aaa group server {radius | tacacs+} group-name
此命令创建了一个名为 group-name 的服务器组。组可以在已配置的 RADIUS或 TACACS+服务器中选择一个子集去处理特定的 AAA 服务。
向组中添加服务器。
(server-group)server ip-address [auth-port port] [acct-port port]
这条命令会将IP地址为ip-address的服务器添加到组中。用户还可以指定认证(auth-port;默认为1645)和授权( acct-port;默认为 1646)使用的UDP端口。
(可选)设置组的 dead 时间。
(server-group) deadtime minutes
配置服务器组的dead时间可使路由器跳过未响应的服务器组,宣告其“dead”状态并发送请求至下一个可用的服务器组。dead时间通过参数 minutes 指定( 0~1440;默认为 0 分钟)。

3、使用 AAA 认证( authentication)

3.1 创建某种认证类型的方法列表
(global) aaa authentication (login l ppp I nasi I arap l enable]
[defaultl list-name] method1 [me thod2…]
这条命令创建了一个名为list-name的认证方法列表。其中包含了一个按序进行尝试的登录认证方法列表。关键字default定义了一个在线路和接口上默认使用的认证方法列表。方法列表可应用到的认证类型包括 login(路由器的登录提示)、 enable(访问特权 EXEC 命令级别)、 ppp(通过 PPP 拨号访问)、 nasi ( Netware 异步服务接口)或 arap( AppleTalk 远程访问协议)。
login: enable(使用 enable 密码)、 krb5( Kerberos 5)、 krb5-telnet(用于 Telnet 认证的 Kerberos 5)、 line(使用线路密码)、 local(使用路由器本地的用户名及密码列表)、 local-case(使用路由器的用户名大小写敏感的用户列表)、 none(不使用认证;所有用户都可以成功认证)、 group radius(使用所有列出的 RADIUS 服务器)、group tacacs+(使用所有列出的 TACACS+服务器), 以及 group group-name (仅使用名为 group-name的服务器组中列出的服务器)。
enable:enable(使用 enable 密码)、 line(使用线路密码)、 none(不使用认证;所有用户都可以成功认证)、 group radius(使用所有列出的RADIUS 服务器)、 group tacacs+(使用所有列出的 TACACS+服务器),
以及 group group-name(仅使用名为 group-name 的服务器组中列出的服务器)。
ppp: if-needed(如果用户已经登录到了 TTY 线路上,则无需认证)、krb5( Kerberos 5)、 local(使用路由器本地的用户名及密码列表)、local-case(使用路由器的用户名大小写敏感的用户列表)、 none(不使用认证;所有用户都可以成功认证)、 group radius(使用所有列出的RADIUS 服务器)、 group tacacs+(使用所有列出的 TACACS+服务器),以及 group group-name(仅使用名为 group-name 的服务器组中列出的服务器)。
nasi: enable(使用 enable 密码)、 line(使用线路密码)、 local(使用路由器本地的用户名及密码列表)、 local-case(使用路由器的用户名大小写敏感的用户列表)、 none(不使用认证;所有用户都可以成功认证)、
group radius(使用所有列出的 RADIUS 服务器)、 group tacacs+(使用所有列出的 TACACS+服务器),以及 group group-name(仅使用名为group-name 的服务器组中列出的服务器)。
arap: auth-guest(如果用户具有 EXEC 访问权限,则允许 guest 登录)、guest(允许 guest 登录)、 line(使用线路密码)、 local(使用路由器本地的用户名及密码列表)、 local-case(使用路由器的用户名大小写敏感的用户列表)、 group radius(使用所有列出的 RADIUS 服务器)、 group tacacs+(使用所有列出的 TACACS+服务器),以及 group group-name
(仅使用名为 group-name 的服务器组中列出的服务器)。

3.2 将认证方法列表应用到路由器线路或接口上
(仅用于 PPP)在接口上执行认证。
选择一个接口。
(global) interface type slot/number
在接口上启用 PPP 认证。

(interface)ppp authentication {protocol1 [protocol2 …]} [if-needed] [list-name | default] [callin] [one-time]
PPP 认证可以通过一种或多种协议来实现(protocol1, protocol2, …):chap (CHAP)、 ms-chap(Microsoft CHAP) 或 pap(PAP)。如果 TACACS 或 TACACS+已经成功认证了某个用户,关键字 if-needed 可用来避免多余的PAP或CHAP认证。方法列表通过参数 list-name 指定,其中包含了 PPP 按序尝试的一系列认证方
法。如果不需要方法列表,可使用关键字 default让PPP使用默认的方法。使用关键字 callin 将只入站用户(呼叫)进行认证,关键字 one-time 允许用户名和密码同时出现在用户名字段。

(仅用于 Login、 NASI 或 ARAP)在线路上执行认证。

选择一条线路。
(global) line {aux | console | tty | vty} line-number [end-line-number]
具体的某条 Aux、 Console、异步或虚拟 TTY 线路可以通过参数 line-number来选定。加入参数 end-line-number 可以选定一组线路号。

在线路上应用认证。

(line) {login | nasi | arap} authetication {default | list-name}
认证类型可以是 login、 nasi 或 arap。名为 list-name 的方法列表用来认证线路上的用户。关键字 default 用于在未指定方法列表时使用默认的 AAA 认证方法。
3.3 (可选)使用 AAA 标语及提示符

创建一则登录标语。
(global) aaa authentication banner dstringd

此命令会将定制的标语 string(至多 2996 个字符)显示于用户名登录提示符之前。字符d代表定界符(任何未出现在 string 中的字符),需写在标语字符串的前后两端。

修改密码提示符。

(global) aaa authentication password-prompt string
默认的密码提示符为 Password:。用户可以使用此命令将其修改成 string(文本字符串;如果包含空格,则需使用双引号将其括起来)。

创建一则登录失败标语。

(global) aaa authentication fail-message dstringd
如果用户登录认证失败,将会显示这条定制的标语 string(至多 2996 个字符)。
字符d代表定界符(任何未出现在string中的字符),需写在标语字符串的前后两端。

4、使用 AAA 授权( authorization)

4.1 创建某种授权类型的方法列表

这条命令创建了一个名为 list-name 的授权方法列表。其中包含了一个按序进行尝试的授权认证方法列表。关键字 default 定义了一个在线路和接口上默认使用的授权方法列表。方法列表可应用到的认证类型包括 auth-proxy(使用基于用户的具体策略)、 network(与网络相关的服务请求)、 exec(运行路由器 EXEC shell的权限)、 commands(使用所有特权级别 level (0~15) 命令的权限)、 reverse-access(使用反向 Telnet 连接的权限)、 configuration(进入路由器全局配置模式的权限 1)或 ipmobile(使用移动 IP 服务的权限)。
列表中指定的方法( method1, method2, …)包括 group group-name(发送授权请求至名为 group-name 的服务器组)、 group radius(发送授权请求至所有
RADIUS 服务器)、 group tacacs+(发送授权请求至所有 TACACS+服务器)、if-authenticated(对已经通过认证的用户授予权限)、 none(不使用授权;所有用
户都可以成功授权)、 local(使用路由器本地的用户名及密码列表)。

4.2 将授权方法列表应用到线路或接口上

在线路上执行授权。
选择一条线路。
(global) line line-number [end-line-number]

Aux、 Console、异步或虚拟 TTY 线路可以通过参数 line-number 来选定。加入参数 end-line-number 可以选定一组线路号。
在线路上应用授权。
(line)authorization {arap | command level | exec | reverse-access} [default | list-name]
授权类型可以指定成 arap(AppleTalk 远程访问协议)、 commands level(执行特权级别 level 命令的权限)、 exec(使用路由器 EXEC shell 的权限)或reverse-access(使用反向 Telnet 的权限)。名为 list-name 的方法列表用来授权线路上的用户。关键字 default 用于在未指定方法列表时使用默认的 AAA 授权方法。

(仅用于 PPP)在接口上执行授权。
选择一个接口。
(global) interface type slot/number
在接口上应用授权。
(interface) ppp authorization [default | list-name]

名为 list-name 的方法列表用来授权接口上的 PPP 用户。关键字 default 用于在未指定方法列表时使用默认的 AAA 授权方法。

5、使用 AAA 计费(accounting)

5.1 创建某种计费类型的方法列表


这条命令创建了一个名为 list-name 的计费方法列表。其中包含了将要使用的计费方法。关键字 default 定义了一个在线路和接口上默认使用的计费方法。计费可记录的信息类型包括 auth-proxy(每个用户事件)、 system(系统级别事件)、network(与网络相关的服务请求)、 exec(路由器 EXEC 会话)、 connection(网络接入服务器发起的出站连接;h323 可为 VoIP 流量执行 H.323 网关计费)以及
commands(特权级别 level( 0~15)命令的使用)。
计费使用的方法可以是 group group-name(将计费记录发送至服务器组group-name)、 group radius(将计费记录发送至 RADIUS 服务器组)或 group tacacs+(将计费记录发送至 TACACS+服务器组)。

关键字broadcast可让路由器将计费记录发送到多台计费服务器上。计费记录类型可以选择成:start-stop(当进程启用时发送“开始”信号;在进程结束时发送“停止”信号)、 strop-only(不发送“开始”信号;当进程结束时发送“停止”信号)、wait-start(当进程启用时发送“开始”信号;进程实际要等到服务器接收到“开始”信号后才启用;在进程结束时发送“停止”信号)或none(不执行计费)。

5.2 (可选)对认证失败的执行计费记录

配置此命令后,当用户认证失败或 PPP 协商失败时,路由器将发送“停止”信号。

5.3 将计费方法列表应用到线路或接口上

在线路上执行计费。
选择一条线路。

(global) line line-number [end-line-number]
Aux、 Console、异步或虚拟 TTY 线路可以通过参数 line-number 来选定。加入参数 end-line-number 可以选定一组线路号。
在线路上应用授权。

(line) accounting {arap | command level | connection | exec} [default | list-name]

计费类型可以指定成 arap( AppleTalk 远程访问协议)、 commands level(特权级别 level EXEC 命令)、 connection( PAP 和 CHAP 认证) 或 exec(路由器 EXEC shell)。名为 list-name 的方法列表用来对线路上的用户执行计费。关键字 default用于在未指定方法列表时使用默认的 AAA 计费方法。
(仅用于 PPP)在接口上执行计费。
选择一个接口。
(global) interface type slot / number
在接口上应用计费。
( interface) ppp accounting default

此命令在接口上使用默认的 PPP 计费方法。

总结:配置实例

此例中,在路由器上配置了认证、 授权、计费的所有AAA功能。两台RADIUS服务器分别指定为192.168.161.45和 192.168.150.91,两台具有相同的密钥。一台TACACS+服务器位于192.168.44.10。最后定义了一个本地的用户名,用作在所有AAA 服务器都不能访问时最后的应对方法(“后门”)。
使用RADIUS服务器对异步接口的PPP访问进行认证,其次是本地认证。还对使用Telnet登录访问路由器的用户进行认证,首选 TACACS+服务器,其次是RADIUS 服务器,最后是本地认证。
使用RADIUS服务器和本地的方式对network和exec功能进行授权。用户通过PPP或Telnet访问网络必须先通过授权。还对 network和exec资源配置了计费通告功能,使用的是 RADIUS服务器。配置了路由器发送PPP和路由器 EXEC终端会话的计费记录。

在现网中使用AAA 认证、授权、计费的详细教程相关推荐

  1. 开启docker中MongoDB的认证授权

    开启docker中MongoDB的认证授权 思路 开启MongoDB服务后,默认是没有权限验证的.直接通过IP加端口就可以远程访问数据库,并对数据库进行任意操作.下面介绍一下如何开启docker中Mo ...

  2. 计算机一级查询记录,技巧查看电脑中使用过的记录痕迹的详细教程

    XP的系统是很多的用户还在操作的一款系统,其实现在更新以后最新的系统也是很好的使用的,开机的时候很多的用户对于不同的设置开机的时间还有如果你的电脑被别人的看到了的话是怎么实现查看的呢,今天小编就来跟大 ...

  3. w7系统计算机搜索无法搜索了,win7系统在搜索框中输入文字后无法搜索的详细教程...

    win7系统使用久了,好多网友反馈说win7系统在搜索框中输入文字后无法搜索的问题,非常不方便.有什么办法可以永久解决win7系统在搜索框中输入文字后无法搜索的问题,面对win7系统在搜索框中输入文字 ...

  4. 实用教程:如何在Word与EXCEL(WPS)中加入斜表头并加入文字详细教程

    实用教程:如何在Word与EXCEL(WPS)中加入斜表头并加入文字详细教程 一. 效果 二. Word方法 1.首先加入空表格: 2. 写入想要的文字并按Enter(回车)键分开(特指:斜表头) 3 ...

  5. mac homebrew 卸载php,Mac_苹果mac电脑中brew的安装使用及卸载详细教程,brew 又叫Homebrew,是Mac OSX上的 - phpStudy...

    苹果mac电脑中brew的安装使用及卸载详细教程 brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件, 只需要一个命令, 非常方便 brew类似 ...

  6. mysql官网安装步骤_MySQL的安装与配置——详细教程

    免安装版的Mysql MySQL关是一种关系数据库管理系统,所使用的 SQL 语言是用于访问数据库的最常用的 标准化语言,其特点为体积小.速度快.总体拥有成本低,尤其是开放源码这一特点,在 Web 应 ...

  7. Python中Tkinter 图形化界面设计(详细教程)

    Python-Tkinter 图形化界面设计(详细教程) 一.图形化界面设计的基本理解 二. 窗体控件布局 2.1 根窗体呈现示例 2.2 tkinter 常用控件 2.2.1常用控件 2.2.2 控 ...

  8. 下面是以十六进制格式存储的一个udp首部_【干货】论UDP协议,在现网中的不可缺少!...

    每一个网工应该都知道TCP.UDP协议.UDP是用户数据报文协议,属于OSI模型中的传输层.它是一种无连接的协议,也就说上一报文和下一报文在协议层没有任何联系,同时提供了简单的不可靠的传输服务. 也就 ...

  9. 在现网中,大佬们为啥总是用这种Console线调试设备?

    如果有机会翻开网络工程师的背包,你一定会发现这个玩意儿. 一般来说,网工的背包里必备的几样东西:ThinkPad笔记本电脑.网线.Console线,可能有的还会带上水晶头.网线钳和测线仪. Conso ...

最新文章

  1. Python学习(四)数据结构 —— set frozenset
  2. js格式化文件大小, 输出成带单位的字符串工具
  3. 【pmcaff】罗永浩昨日演讲视频:一个理想主义者的创业故事Ⅳ
  4. Tools_将Python脚本封装成exe可执行文件
  5. js处理16进制hex转str出现的中文乱码问题
  6. 2017.10.5 最短母串 思考记录
  7. Activity 启动模式
  8. C/C++编程语言中操作目录及目录中文件的方法
  9. 可视化神器Scikit-plot实践入门
  10. 自考 软件工程专业 07029 软件项目管理 总结
  11. 计算机中怎样重新安装ps,什么样的电脑适合安装高版本Photoshop?该如何安装和卸载PS呢?...
  12. 它来了,指数基金定投实操!
  13. 朱晔的互联网架构实践心得S2E4:小议微服务的各种玩法(古典、SOA、传统、K8S、ServiceMesh)...
  14. 问脉首创旁路云原生安全检测框架!
  15. 关于Growth Hacker的笔记
  16. excel 一键给公司所有员工发送工资单 vba代码
  17. HBuilder IOS 打包异常:com.apple.developer.associated-domains权利 ,解决!
  18. Python NLP自然语言处理详解
  19. 【暴力枚举】速算游戏 fun.pas/c/cpp
  20. Part 5 多元函数基础

热门文章

  1. Datax安装及使用文档
  2. html鼠标悬停直线变粗,鼠标悬停或经过对象时CSS样式变化设置
  3. 理光2500文件服务器,理光打印机文件服务器地址
  4. .animate在360浏览器和谷歌浏览器同时生效
  5. oracle 应用系统,Oracle应用系统发展势头强劲
  6. JAVA设计模式是个什么玩意儿_03_单例模式
  7. hive lateral view explode列拆分与行转列用法
  8. JAVA 寻找-人鬼过河游戏的方法
  9. 255%可用已接通电源_电镀工艺与电镀电源之间的关系
  10. 从苏宁电器到卡巴斯基(第二部)第04篇:我在卡巴的日子 IV