本章描述了用来配置AAA认证方法的命令。认证在用户被允许访问网络和网络服务之前对他们作出访问权利的鉴定。
如果想得到关于怎样用AAA的方法来配置认证的信息,请查阅“配置认证”。如果想查阅使用本章中命令进行配置的例子,阅读“配置认证”文档最后的示例部分。
要开放AAA认证,以确定某个用户是否可以访问特权级别的命令,使用本地配置命令aaa authentication enable default。使用该命令的no形式关闭这种认证方法。
aaa authentication enable default method1 [method2...]
no aaa authentication enable default
参数
参数 | 参数说明 |
---|---|
method | 至少为表1中所给出的关键字之一 |
缺省
如果没有设置default,除console能登陆成功外,其它皆返回认证失败结果。
如果设置了default表,如果不存在相应特权级别的enable口令,则进入该特权级别的认证过程的返回结果总是认证失败。
命令模式
全局配置态
使用说明
使用aaa authentication enable default命令创建一系列的认证方法,这些方法用来确定某个用户是否可以使用特权级别的命令。关键字method在表1中已经作了说明。只有在前面的认证方法返回错误时,才使用其它的认证方法,如果前面的认证方法返回结果通知认证失败,则不使用其它的认证方法。若希望即使所有的认证方法都返回失败,认证仍然成功,则可以把none指定为命令行的最后一个认证方法。
另外,如果使用RADIUS或TACACS+方式进行enable认证,使用的用户名不同,使用RADIUS认证时,用户名为$ENABLElevel$,其中level是指用户要进入的特权级别;使用TACACS+认证时,用户名为该用户登录路由器时使用的用户名,相关的具体配置请参照“AAA认证配置 ”文档中相关章节。
表1:AAA认证的有效缺省方法。
关键字 | 描述 |
---|---|
group WORD | 使用命名的服务器组进行认证。 |
group tacacs+ | 使用TACACS+进行认证。 |
group radius | 使用RADIUS进行认证。 |
enable | 使用enable口令进行认证。 |
line | 使用线路口令进行认证。 |
none | 认证无条件通过。 |
示例
下面的示例创建一张认证列表,该列表首先尝试与TACACS+服务器联系。如果没有发现TACACS+服务器或服务器返回错误,AAA尝试使用enable口令。如果这种尝试也返回错误(由于服务器上没有配置有效的口令),则允许用户不经认证就可以访问服务器。
aaa authentication enable default tacacs+ enable none
相关命令
enable password
要设置在登录时进行AAA认证,使用全局配置命令aaa authentication login。使用本命令的no形式关闭AAA认证。
aaa authentication login {default | list-name} method1[method2...]
no aaa authentication login {default | list-name}
参数
参数 | 参数说明 |
---|---|
default | 使用跟随在该参数后面所列的认证方法作为用户注册时缺省的方法列表。 |
list-name | 用来命名认证方法列表的字符串,用户登录时将激活认证方法列表中所列的方法。 |
method | 至少为表2中描述的关键字之一。 |
缺省
如果用户在请求login服务时,搜索不到指定或者默认的方法列表,则除console以外,一律返回认证失败结果。
命令模式
全局配置态
使用说明
使用aaa authentication login命令创建的缺省列表或其他命名列表将由命令login authentication作用于某一具体线路。
只有前面的方法返回错误时,才使用其它的认证方法,如果前面的认证方法返回失败,则不使用其它的认证方法。要确保即使所有的方法都返回错误仍能认证成功,可将none指定为该命令行的最后方法。
表2:AAA认证的注册方法
关键字 | 描述 | |
---|---|---|
enable | 使用enable口令进行认证。 | |
group WORD | 使用命名的服务器组进行认证。 | |
group tacacs+ | 使用TACACS+进行认证。 | |
group radius | 使用RADIUS进行认证。 | |
line | 使用line密码进行认证。 | |
local | 使用本地用户名数据库进行认证 。 | |
local-case | 使用本地用户名数据库进行认证(用户名区分大小写) 。 | |
none | 不进行认证 。 | |
示例
下面的示例创建一张名为“TEST”的AAA认证方法列表。这个认证首先尝试与TACACS+服务器联系。如果没有发现服务器或TACACS+返回错误,AAA尝试使用enable口令。如果这种尝试也返回错误(由于路由器上没有配置enable口令),则允许该用户不经认证访问网络。
aaa authentication login TEST tacacs+ enable none
下面的示例创建同样的列表,但设置了缺省列表,如果没有指定其它列表,所有登录认证均使用这个列表:
aaa authentication login default tacacs+ enable none
相关命令
username
enable password
要指定一种或者多种用于运行PPP的串行接口的AAA认证方法,可以使用全局配置命令aaa authentication ppp。使用该命令的no形式关闭认证。
aaa authentication ppp {default | list-name} method1 [method2...]
no aaa authentication ppp {default | list-name}
参数
参数 | 参数说明 |
---|---|
default | 将跟随在该参数后面所列的认证方法作为用户注册时使用的缺省认证方法; |
list-name | 用来命名认证方法列表的字符串; |
mehod1 [method2...] | 至少为表3中描述的方法之一。 |
缺省
如果用户在请求login服务时,搜索不到指定或者默认的方法列表,则一律返回认证失败结果。
命令模式
全局配置态
使用说明
使用aaa authentication ppp命令创建的缺省列表和命名列表在ppp authentication命令中引用。这些列表至多能够包含四种认证方法,用户连接到该串行接口时使用这些认证方法。
通过输入aaa authentication ppp list-name method命令来创建列表,其中list-name是用来命名该列表的任何字符串。参数method指定具体认证方法,认证过程按配置次序使用这些方法。可以至多输入四种方法。方法关键字在表3中描述。
认证失败,则不再使用其它的认证方法。在命令行中指定none作为最后的方法,则即使所有的方法均返回错误,仍能认证成功。
表3:AAA认证的PPP方法 。
关键字 | 描述 |
---|---|
group WORD | 使用命名的服务器组进行认证。 |
group tacacs+ | 使用TACACS+进行认证。 |
group radius | 使用RADIUS进行认证。 |
local | 使用本地用户名数据库进行认证。 |
local-case | 使用本地用户名数据库进行认证(用户名区分大小写) 。 |
none | 不进行认证 。 |
示例
下面的示例为使用PPP的串行线路创建一个名为“TEST”的AAA认证列表。这种认证首次尝试与TACACS+服务器联系。如果返回错误,则允许用户不经认证访问网络。
aaa authentication ppp TEST tacacs+ none
相关命令
ppp authentication
要改变向用户提示输入口令时的文本显示,使用全局配置命令aaa authentication password-prompt。使用该命令的no形式重新使用缺省的口令提示文本。
aaa authentication password-prompt text-string
no aaa authentication password-prompt
参数
参数 | 参数说明 |
---|---|
test-string | 向用户提示输入口令时将要显示的文本。 |
缺省
没有用户定义的text-string时,口令提示为“Password:”。
命令模式
全局配置态
使用说明
使用aaa authentication password-prompt命令可改变向用户提示输入口令时显示的缺省文字信息。这条命令不但改变enable口令的口令提示,也改变登录口令的口令提示。该命令的no形式将口令提示改回到缺省值:
Password:
aaa authentication password-prompt命令不改变由远程TACACS+或RADIUS服务器提供的任何提示信息。
示例
下面的示例将口令提示修改为“YourPassword:”:
aaa authentication password-prompt YourPassword:
相关命令
aaa authentication username-prompt
要改变向用户提示输入用户名时的文本显示,使用全局配置命令aaa authentication username-prompt。使用该命令的no形式返回到缺省的用户名提示字符串。
aaa authentication username-prompt text-string
no aaa authentication username-prompt
参数
参数 | 参数说明 |
---|---|
text-string | 向用户提示输入用户名时将要显示的文本。 |
缺省
没有用户定义的text-string时,用户名提示字符串为“Username”。
命令模式
全局配置态
使用说明
使用aaa authentication username-prompt命令改变向用户提示输入用户名时显示的提示字符串。该命令的no形式将用户名提示修改为缺省值:
Username:
某些协议(如TACACS+)具备覆盖本地用户名提示信息的能力。在这种情况下,使用aaa authentication username-prompt命令将不改变用户名提示字符串。
注意:
aaa authentication username-prompt命令不改变由远程TACACS+服务器提供的任何提示信息。
示例
下面的示例将用户名提示修改为所示字符串:
aaa authentication username-prompt YourUsernam。
相关命令
aaa authentication password-prompt
要配置个性化风格的标语(该标语在用户登陆时显示),可以使用全局配置命令aaa authentication banner。使用该命令的no形式删除标语。
aaa authentication banner delimiter string delimiter
no aaa authentication banner
参数
参数 | 参数说明 |
---|---|
delimiter string delimiter | 向用户登陆时将要显示的文本string,delimiter为定界符,定界符采用双引号 |
缺省
没有用户定义的登陆标语时,默认标语为:
User Access Verification
命令模式
全局配置态
使用说明
创建标语时,需要配置一个定界符号,然后再配置文本字符串本身,该定界符号的作用是通知系统下面的文本字符串将被作为标语显示。定界字符在文本字符串的尾部重复出现,表示标语结束。
示例
下面的示例将登陆时标语提示修改为所示字符串:
aaa authentication banner “Welcome to FHN Router”
相关命令
aaa authentication fail-message
要配置在用户登陆失败时显示的个性化风格的标语,可以使用全局配置命令aaa authentication fail-message。使用该命令的no形式删除登陆失败标语。
aaa authentication fail-message delimiter string delimiter
no aaa authentication fail-message
参数
参数 | 参数说明 |
---|---|
delimiter string delimiter | 向用户登陆失败时将要显示的文本string,delimiter为定界符,定界符采用双引号 |
缺省
没有用户定义的登陆失败标语时,默认的标语为:
Authentication failed!
命令模式
全局配置态
使用说明
创建标语时,需要配置一个定界符号,然后再配置文本字符串本身,该定界符号的作用是通知系统下面的文本字符串将被作为标语显示。定界字符在文本字符串的尾部重复出现,表示标语结束。
示例
下面的示例将用户名提示修改为所示字符串:
aaa authentication fail-message “See you later”
相关命令
aaa authentication banner
我们支持配置AAA服务器组,使用下面的命令进入服务器组配置层次。使用此命令的no形式删除已配置的服务器组。
aaa group server {radius | tacacs+}group-name
no aaa group server {radius | tacacs+} group-name
参数
参数 | 参数说明 |
---|---|
group-name | 服务器组的名称字符串。 |
缺省
无服务器组。
命令模式
全局配置态
使用说明
使用此命令进入服务器组的配置层次,然后在其中添加相应的服务器。
示例
aaa group server radius radius-group
上面的命令将添加一个名字为“radius-group”的radius服务器组。
相关命令
server
使用这条命令在一个AAA服务器组中添加一个服务器,使用次命令的no形式删除一个服务器。
server A.B.C.D
no server A.B.C.D
参数
参数 | 参数说明 |
---|---|
A.B.C.D | 服务器的IP地址。 |
缺省
无服务器
命令模式
服务器组配置态
使用说明
一个服务器组中最多添加20个不同的服务器。
示例
server 12.1.1.1
上面的命令将地址为12.1.1.1的服务器添加到服务器组中。
相关命令
aaa group server
要对系统中相关的密码进行加密,可使用这条命令,使用该命令的no形式可以取消对新配置密码的加密。
service password-encryption
no service password-encryption
参数
无
缺省
不对系统中相关的密码进行加密显示。
命令模式
全局配置态
使用说明
目前我们路由器系统的实现中,此命令与username password、enable password和password这三条命令相关。如果没有配置此命令(即缺省状态),且在上述三条命令中采用密码明文显示方式,即在show running-config命令中可以显示出已配置的密码的明文;而一旦配置了这条命令后,上述三条命令中配置的密码将被加密,无法在show running-config命令中显示出已配置的密码的明文,使用no service password-encryption命令也无法恢复密码的明文显示,所以在使用这条命令加密前请确认已经配置的密码。no service password-encryption命令仅对使用此命令后配置的密码有效,对使用此命令前配置的已被加密的密码无效。
示例
router_config#service password-encryption
使用此命令对已经配置的明文密码进行加密,且对使用此命令后的明文密码也进行加密。
相关命令
username username password
enable password
password
要在本地用户数据库中增加用户,用于本地方式的认证和授权,可使用此条命令。使用该命令的no形式可删除相应的用户。
username username [password {password | [encryption-type] encrypted-password }] [user-maxlinks number] [callback-dialstring string] [callback-line line] [callback-rotary rotary] [nocallback-verify] [autocommand command] [nopassword] [nohangup] [noescape] [priviledge level]
no username username
参数
参数 | 参数说明 |
---|---|
username | 用户名字符串; |
password | 密码字符串明文; |
encryption-type | 密码加密的类型; |
encrypted-password | 限定的加密类型相对应的密码的密文 |
user-maxlinks | 同一用户可同时与路由器建立的链接数(只统计通过本地认证的用户)。 |
number | 同时建立的链接数 |
callback-dialstring | 回拨电话号码(不支持); |
string | 电话号码字符串; |
callback-line | 回拨时使用的线路(不支持); |
line | 线路号 |
callback-rotary | 回拨rotary配置(不支持); |
rotary | rotary号码; |
nocallback-verify: | 回拨不认证(不支持) |
autocommand | 当用户登录路由器后自动执行指定的命令。autocommand 命令必须使用在命令行的最后。 |
command | 自动执行命令字符串。 |
nopassword | 登陆时不需要密码。 |
nohangup | 阻止用户登陆并执行自动命令完后断开连接(不支持)。 |
noescape | 阻止用户登陆后使用转义字符(不支持)。 |
priviledge | 设置用户的特权级别。 |
level | 用来设置用户特权级别的值,范围在0~15。 |
缺省
没有用户。
命令模式
全局配置态
使用说明
当没有password参数时,认为密码为空字符串。
user-maxlinks限制了同一个用户名同时可以与路由器建立的会话数,但是当此用户的某个会话不是由本地认证方式(local)认证时将不被计算在内。可通过show aaa users命令查看每个在线用户是通过了那一种方式的认证。
我们路由器配置的密码中不能包括空格,即在使用enable password命令时,如果需要直接输入密码明文时,不能输入空格。
目前我们路由器系统中所支持的encryption-type只有两种,在命令中的参数分别为0和7,0代表0表示不加密,后面的encrypted-password直接输入密码的明文,这种方法和不加encryption-type而直接输入password参数的方法效果相同;7表示使用一种本公司自定义的算法来进行加密,后面的encrypted-password需要输入加密后的密码密文,这个密文可以从其他路由器的配置文件中拷贝出来。
示例
下面的示例增加本地用户,用户名为someone,密码为someother:
username someone password someother
下面的示例增加了本地用户,用户名为Oscar,密码为Joan,采用的encryption-type为7,即加密方法,需要输入密码密文:
enable password 7 1105718265
假设Joan的密文为1105718265,该密文的值是从其他路由器上的配置文件中获得的。
相关命令
aaa authentication login
aaa authentication ppp
如果希望对进入特权级别的用户进行认证,可以通过enable password命令配置相应特权级别的认证密码。使用该命令的no形式取消此密码。
enable password {password| [encryption-type] encrypted-password} [levelnumber]
no enable password [level number]
参数
参数 | 参数说明 |
---|---|
password | 密码字符串明文; |
encryption-type | 密码加密的类型; |
encrypted-password和encryption-type | 限定的加密类型相对应的密码的密文; |
level | 特权级别; |
number | 特权级别具体取值(1-15); |
缺省
没有密码。
命令模式
全局配置态
使用说明
我们路由器配置的密码中不能包括空格,即在使用enable password命令时,如果需要直接输入密码明文时,不能输入空格。 密码明文的长度不能超过126个字符。
当没有输入level参数时,缺省认为是第15级。特权级别越大拥有的权限越大。若某个特权级别没有配置密码,则当用户进入此级别时将返回认证失败。
目前我们路由器系统中所支持的encryption-type只有两种,在命令中的参数分别为0和7,0代表0表示不加密,后面的encrypted-password直接输入密码的明文,这种方法和不加encryption-type而直接输入password参数的方法效果相同;7表示使用一种本公司自定义的算法来进行加密,后面的encrypted-password需要输入加密后的密码密文,这个密文可以从其他路由器的配置文件中拷贝出来。
示例
下面的示例增加特权级别10的密码为clever,采用的encryption-type为0,即密码明文方式:
enable password 0 clever level 10
下面的示例增加了缺省特权级别(15级)的密码为Oscar,采用的encryption-type为7,即加密方法,需要输入密码密文:
enable password 7 074A05190326
假设Oscar的密文为074A05190326,该密文的值是从其他路由器上的配置文件中获得的。
相关命令
aaa authentication enable default
service password-encryption
如果希望对用户的认证过程进行跟踪,可使用debug aaa authentication命令。使用此命令的no形式关掉debug信息。
debug aaa authentication
no debug aaa authentication
参数
无
缺省
关闭debug信息。
命令模式
管理态
使用说明
使用此命令可跟踪每个用户的认证过程,以发现认证失败的原因。
相关命令
debug aaa authorization
debug aaa accounting
要显示所有在线AAA用户的概要信息,可使用show aaa users命令。
show aaa users
参数
无
缺省
无
命令模式
管理态
使用说明
使用此命令可显示所以的在线用户,包括以下信息:接口(port)、用户名(username)、服务类型(service)、在线持续时间(time)以及IP地址(peer_address)。
示例
#show aaa users
Port User Service Duration Peer-address
===============================================================
console 0 zjl exec 04:14:03 unknown
vty 0 fhn exec 00:12:24 172.16.20.120
serial2/1 admin ppp(chap) 01:43:09 192.168.20.87
域 | 解释 |
---|---|
Port | 用户所处的接口ID或Vty的索引号。 |
User | 用户名字符串。 |
Service | 用户请求的服务。 |
Duration | 用户在线的持续统计时间。 |
Peer-address | 用户所处的远端主机IP地址。 |
相关命令
username
本章描述了用来配置AAA授权方法的命令。AAA授权可以限制对某个用户的有效服务,当AAA授权有效时,路由器使用从用户开工文档(profile)中检索出的信息配置该用户的会话,用户的开工文档位于本地用户数据库或者位于安全服务器上。完成这件工作后,就允许该用户访问所要求的服务,只要包含在用户开工文档中的信息允许提供这项服务。
如果想得到关于怎样用AAA的方法来配置授权的信息,请查阅“配置授权”。如果想查阅使用本章中命令进行配置的例子,阅读“配置授权”文档最后的示例部分。
使用全局配置命令aaa authorization设置参数来限制用户的网络访问权限。使用该命令的no形式关闭某个功能的授权。
aaa authorization { network | exec } {default | list-name} [method1 [method2...] ]
no aaa authorization { network | exec } {default | list-name}
参数
参数 | 参数说明 |
---|---|
network | 网络类型服务的授权,如:PPP、SLIP |
exec | 适用于与用户EXEC终端对话相关的属性,决定用户注册时是否允许启动EXEC外壳程序,或者授予用户进入EXEC shell时的特权级别。 |
default | 缺省授权方法列表。 |
list-name | 用来命名授权方法列表的字符串。 |
method1 [method2...] | 授权方法,参见“授权配置”文档 |
缺省
用户要求进行授权,但没有在相应的线路或接口上指定要求使用的授权方法列表,则会使用缺省方法列表。如果没有定义缺省方法列表,则不发生授权行为。
命令模式
全局配置态
使用说明
使用aaa authorization命令开启授权,创建授权方法列表,定义在用户访问指定功能时可使用的授权方法。授权方法列表定义了授权执行的方式以及执行这些授权方法的次序。方法列表只是一张简单的命名列表,它描述要顺序查询的授权方法(如RADIUS或TACACS+)。方法列表可以指定一个或多个用来授权的安全协议,因此,它能够确保万一前面所列的授权方法失败后有一个备用的方法。 一般情况下,先使用所列的第一个方法试图授予用户访问指定网络服务的权限;如果该方法没有响应,再选择方法列表中所列的下一个方法。这个过程继续进行下去,直到使用的某个授权方法成功地返回授权结果,或者用完了所定义的所有方法。
一旦定义了授权方法列表后,在所定义的方法被执行之前,该方法列表必须应用到指定的线路或接口上。作为授权过程的一部分,授权命令向RADIUS或TACACS+服务器程序发送包括一系列AV对的请求包。服务器可能执行下述动作之一:
l 完全接受请求。
l 接受请求,并增加属性限制用户服务权限。
l 拒绝请求,授权失败。
示例
下述示例定义名为have_a_try的网络授权方法列表,该方法列表指定在使用PPP的串行线路上使用RADIUS授权方法。如果RADIUS服务器没有响应,则执行本地网络授权。
aaa authorization network have_a_try radius local
相关命令
aaa authentication
aaa accounting
priviledge
本章描述了用来配置AAA认证方法的命令。记帐功能可以跟踪用户访问的服务,同时可以跟踪他们消耗的网络资源数量。当激活AAA记帐功能时,路由器以记帐记录的形式向TACACS+或RADIUS安全服务器(依赖于所实现的安全方法)报告用户的活动。每条记帐记录包括记帐属性值(AV)对,并存储在访问控制服务器上。然后这些数据可用于网络管理、客户帐单和/或审计等分析。
当使用RADIUS或TACACS+时,基于记帐或安全的目的要对所要求的服务开放AAA记帐,可以使用全局配置命令aaa accounting。使用该命令的no形式关闭记帐:
aaa accounting { network | exec | connection} {default | list-name} {start-stop | stop-only | none} group groupname
no aaa accounting { network | exec | connection} {default | list-name}
参数
参数 | 参数说明 |
---|---|
network | 给所有PPP会话提供记帐记录信息,包括包、字节及时间计数。 |
exec | 提供有关路由器的用户EXEC终端会话的信息(目前不支持)。 |
connection | 提供有关路由器发出的所有出站连接的信息,目前只支持H323会话信息。 |
default | 缺省记帐方法列表。 |
list-name | 用来命名记帐方法列表的字符串。 |
method1 [method2...] | 记帐方法,参见“记帐配置”文档 |
缺省
用户要求进行记帐,但没有在相应的线路或接口上指定要求使用的记帐方法列表,则会使用缺省方法列表。如果没有定义缺省方法列表,则不发生记帐行为。
命令模式
全局配置态
使用说明
使用aaa accounting命令开启记帐,创建记帐方法列表,定义在用户发送记帐记录时可使用的记帐方法。记帐方法列表定义了记帐执行的方式以及执行这些记帐方法的次序。方法列表只是一张简单的命名列表,它描述要顺序查询的记帐方法(RADIUS或TACACS+)。方法列表可以指定一个或多个用来记帐的安全协议,因此,它能够确保万一前面所列的记帐方法失败后有一个备用的方法。
相关命令
aaa authentication
aaa accounting
如果需要向记帐服务器周期性的发送临时的记帐记录,可以使用全局配置命令aaa accounting update。使用该命令的no形式关闭临时记帐记录:
aaa accounting update { newinfo | periodic number}
no aaa accounting update { newinfo | periodic}
参数
参数 | 参数说明 |
---|---|
update | 激活路由器发送临时记帐记录(需要端用户支持) |
newinfo | 每当有新的记帐信息要报告时,向记帐服务器发送临时记帐记录 |
periodic | 周期性地发送临时记帐记录,该周期由数字参数定义 |
number | 发送临时记帐记录的周期数字参数 |
缺省
不发生临时记帐行为。
命令模式
全局配置态
使用说明
参见“记帐配置”文档。
相关命令
aaa accounting
如果需要阻止为没有用户名的会话产生记帐记录,可以使用全局配置命令如下。使用该命令的no形式关闭:
aaa accounting suppress null-username
no aaa accounting suppress null-username
参数
无
缺省
不阻止为没有用户名的会话产生记帐记录。
命令模式
全局配置态
使用说明
参见“记帐配置”文档。
相关命令
aaa accounting
本章介绍RADIUS的配置命令。RADIUS是能够拒绝非授权网络访问的分布式客户/服务器系统。RADIUS客户机运行在路由器上,并向包含所有用户认证和网络服务访问信息的中央RADIUS服务器发出认证、授权或记录请求。
有关如何配置RADIUS的信息及配置示例,请参见“配置RADIUS”。
为了跟踪RADIUS事件或报文,可执行debug radius命令。使用此命令的no形式关掉debug信息。
debug radius{event | packet}
no debug radius{event | packet}
参数
参数 | 参数说明 |
---|---|
event | 跟踪RADIUS事件。 |
packet | 跟踪RADIUS报文。 |
缺省
无
命令模式
管理态
使用说明
此命令可用于网络系统调试,查找用户认证失败的原因。
Router#debug radius event
RADIUS:return message to aaa, Give me your username
RADIUS:return message to aaa, Give me your password
RADIUS:inital transmit access-request [4] to 192.168.20.126 1812 <length=70>
RADIUS:retransmit access-request [4] to 192.168.20.126 1812 <length=70>
RADIUS:retransmit access-request [4] to 192.168.20.126 1812 <length=70>
RADIUS:192.168.20.126 is dead to response [4]
RADIUS:Have tried all servers,return error to aaa
输出信息 | 解释 |
---|---|
return message to aaa, Give me your username | 需要得到用户名。 |
return message to aaa, Give me your password | 需要得到用户名对应的密码。 |
inital transmit access-request [4] to 192.168.20.126 1812 <length=70> | 首次向RADIUS服务器发送认证请求,服务器地址为192.168.20.126,端口号为1812,报文长度为70。 |
retransmit access-request [4] to 192.168.20.126 1812 <length=70> | 服务器对请求没有及时作出反应,重发此认证请求。 |
192.168.20.126 is dead to response [4] | 重发多次后,服务器仍未回应,将此服务器标志为已死亡。 |
Have tried all servers,return error to aaa | RADIUS无法完成此次认证,返回error。 |
示例
下列示例打开RADIUS的事件跟踪:
debug radius event
为了强制RADIUS对所有发送的RADIUS报文使用指定接口的IP地址,使用ip radius source-interface 全局配置命令。使用该命令的no 形式恢复为缺省值。
ip radius source-interface interface-name
no ip radius source-interface
参数
参数 | 参数说明 |
---|---|
interface-name | RADIUS对所有发送的RADIUS报文使用该接口的IP地址。 |
缺省
本命令没有厂家指定的缺省值,即根据实际情况来决定源发IP地址。
命令模式
全局配置态
使用说明
使用本命令选择某一个接口的IP地址,作为所有流出RADIUS包的源地址。只要接口处于up状态,就一直使用这个地址。这样,对每个网络访问客户机来说,RADIUS服务器只使用一个IP地址,而不用维护一个IP地址列表。当路由器有许多接口且打算确保来自某个特定路由器的全部RADIUS包具有相同的IP地址时,本命令就特别有用了。
指定的接口必须拥有与之相联系的IP地址。如果指定的接口不拥有IP地址,或者处于down状态,那么,RADIUS就恢复到缺省值。为了避免出现这种情况,请向接口添加IP地址并且保证接口处于up状态。
示例
下列示例让RADIUS对所有发送的RADIUS包使用接口s1/2的IP地址:
ip radius source-interface s1/2
相关命令
ip tacacs source-interface
在radius认证和计费过程中,是否指定传输某些属性使用全局配置命令radius-server attribute。使用本命令的no形式关闭AAA认证。
radius-server attribute {4 | 32}
no radius-server attribute {4 | 32}
参数
参数 | 参数说明 |
---|---|
4 | 将跟随在该参数后面的地址作为属性4(NAS ip address)的值在radius处理过程中传输 |
32 | 根据跟随在该参数后面的指令指定在radius认证或请求中传输属性attribute32(NAS identifier) |
缺省
无
命令模式
全局配置态
使用说明
使用radius-server attribute命令配置并指定在radius处理过程中传输某种特定的属性。
radius-server attribute 4配置radius属性4(NAS 的IP 地址)并指定在RADIUS 报文中传输。
radius-server attribute 32指定在RADIUS 认证或计费请求报文中传输radius属性32(NAS 的ID)。
示例
radius-server attribute 4 X.X.X.X 在RADIUS报文中传输radius属性4,并用X.X.X.X作为属性值
radius-server attribute 32 in-access-req 在认证请求中传输NAS identifier
radius-server attribute 32 in-account-req 在计费请求中传输NAS identifier
相关命令
无
为了使在Access-Challenge方式下用户数据不显示,需使用radius challenge-noecho命令。
radius-server challenge-noecho
no radius-server challenge-noecho
参数
无
缺省
在Access-Challenge方式下用户数据都显示。
命令模式
全局配置态
使用说明
无
示例
radius-server challenge-noecho
当某些服务器不可用时,为了改善RADIUS的响应时间,使用radius dead-time全局配置命令,该命令让系统立即跳过不可用的服务器。使用本命令的no形式将dead-time设置为0,即认为所以的服务器一直可用。
radius-server dead-time minutes
no radius-server dead-time
参数
参数 | 参数说明 |
---|---|
minutes | RADIUS服务器被视为不可用的持续时间长度,最多为1440分钟(24小时)。 |
缺省
不可用时间设置为0,即始终认为该服务器可用。
命令模式
全局配置态
使用说明
使用本命令,把那些对认证请求不作出响应的RADIUS 服务器标记为“死机”,这样就避免了在使用下一个服务器之前等待回应的时间过长。标记为死机的RADIUS服务器,被minutes这段持续时间内的所以请求跳过,除非所以的服务器均被标记为死机。
示例
下列示例对那些不对请求作出响应的RADIUS服务器指定了5 分钟的“死机”时间:
radius-server dead-time 5
相关命令
host
radius-server retransmit
radius-server timeout
要指定RADIUS 服务器的IP地址,使用host全局配置命令。使用本命令的no形式则删除指定的RADIUS主机。
radius-server host ip-address [auth-port port-number1] [acct-port port-number2]
radius-server host ip-address
参数
参数 | 参数说明 |
---|---|
ip-address | RADIUS服务器主机的IP地址。 |
auth-port | (可选项)为认证请求指定UDP目的端口。 |
port-number1 | (可选项)认证请求的端口编号;若设置为0,则主机不用于认证。 |
acct-port | (可选项)为记录请求指定UDP目的端口。 |
port-number2 | (可选项)记录请求的端口编号;若设置为0,则主机不用于记录。 |
缺省
未指定任何RADIUS主机。
命令模式
全局配置态
使用说明
可以多次使用radius-server host命令以指定多个服务器,必要时会按照配置顺序进行轮询。
示例
下述示例指定IP地址为1.1.1.1的RADIUS主机,记录和认证都使用缺省端口:
radius-server host 1.1.1.1
下述示例在IP地址为1.2.1.2的RADIUS主机上,指定端口12作为认证请求的目的端口,端口16作为记录请求的目的端口:
radius-server host 1.2.1.2 auth-port 12 acct-port 16
相关命令
aaa authentication
radius-server key
username
为了指定向RADIUS服务器第一次发送RADIUS认证申请时只对用户名进行验证而不检查密码,使用radius-server optional-passwords 全局配置命令。使用本命令的no形式则恢复缺省值。
radius-server optional-passwords
no radius-server optional-passwords
参数
本命令没有参数或关键字。
缺省
不使用optional-password方式。
命令模式
全局配置态
使用说明
当用户输入登录名时,认证请求将包括用户名和零长度的密码。如果被接受,那么登录认证过程完成。如果RADIUS服务器拒绝这一请求,那么服务器就提示输入口令,当用户提供了口令后,将再次尝试进行验证。RADIUS服务器必须支持对无口令的用户进行认证,以利用这一特色。
示例
下述示例配置发送第一个认证请求时不包括用户密码:
radius-server optional-passwords
相关命令
host
为了对路由器和RADIUS服务器之间的所有RADIUS通信设置加密密钥,请使用radius-server key全局配置命令。使用本命令的no 形式则使密钥失效。
radius-server keystring
no radius-server key
参数
参数 | 参数说明 |
---|---|
string | 用于加密的密钥,本密钥必须与RADIUS服务器使用的密钥相匹配。 |
缺省
密钥为空字符串。
命令模式
全局配置态
使用说明
输入的密钥必须与RADIUS服务器使用的密钥相匹配。所有的起始空格字符被忽略,密钥中不能包含空格字符。
示例
下述示例将加密密钥设置为“firstime”:
radius-server key firstime
相关命令
host
username
要指定在放弃使用某一台服务器之前应进行尝试的次数,使用radius-server retransmit全局配置命令。使用本命令的no形式恢复缺省值。
radius-server retransmit retries
no radius-server retransmit
参数
参数 | 参数说明 |
---|---|
retries | 重复尝试的最大次数,缺省值是尝试3次。 |
缺省
尝试3次。
命令模式
全局配置态
使用说明
此命令一般与radius-server timeout命令配合使用,指明等待多长时间后认为服务器回应超时及超时后重试的次数。
示例
下述示例指定重试记数器的值为5次:
radius-server retransmit 5
相关命令
radius-server timeout
要对路由器等待服务器应答的时间上限进行设置,请使用radius timeout全局配置命令。使用本命令的no形式则恢复缺省值。
radius-server timeout seconds
no radius-server timeout
参数
参数 | 参数说明 |
---|---|
seconds | 指定超时时间(以秒为单位),缺省值是5秒。 |
缺省
5秒
命令模式
全局配置态
使用说明
本命令常与radius-server retransmit配合使用。
示例
下述示例把超时定时器设置为10秒:
radius-server timeout 10
相关命令
无
要把路由器配置为可识别和使用厂商专用属性(VSA),使用radius vsa send全局配置命令。使用本命令的no 形式恢复缺省值。
radius-server vsa send [accounting | authentication]
no radius-server vsa send [accounting | authentication]
参数
参数 | 参数说明 |
---|---|
accounting | (可选项)识别的厂商专用属性集只限于记录属性。 |
authentication | (可选项)识别的厂商专用属性集只限于认证属性。 |
缺省
不使用vsa 。
命令模式
全局配置态
使用说明
IETF使用厂商专用属性(属性26),为在路由器和RADIUS服务器之间交换厂商专用信息指定了方法。VSA允许厂商支持它们自己的不适合于普遍用途的扩展属性。radius-server vsa send命令使路由器能够识别和使用认证或记录的厂商专用属性。在radius-server vsa send 命令中使用accounting关键字,把识别的厂商专用属性集仅限于记录属性。在radius-server vsa send 命令中使用authentication关键字,把识别的厂商专用属性集仅限于认证属性。
示例
下述示例对路由器进行配置,使之识别和使用厂商专用记录属性:
radius-server vsa send accounting
相关命令
host
这里我们将介绍TACACS+安全协议的配置命令。TACACS+可以完成对用户身份的认证;对用户服务权限的授权以及对用户服务执行过程的记录。
当希望跟踪TACACS+协议事件或查看收发的报文时,可使用debug tacacs命令。使用此命令的no形式取消跟踪。
debug tacacs {event | packet}
no debug tacacs {event | packet}
参数
参数 | 参数说明 |
---|---|
event | 跟踪TACACS+事件。 |
packet | 跟踪TACACS+报文。 |
缺省
关闭debug信息。
命令模式
管理态
使用说明
此命令一般只在网络调试时使用,用于查找用户AAA服务失败的原因。
示例
下述示例将打开TACACS+的事件跟踪:
debug tacacs event
相关命令
无
要对所有TACACS+报文使用指定接口的IP地址,使用全局配置命令ip tacacs source-interface。使用本命令的no 形式取消对此源IP地址的使用。
ip tacacs source-interface subinterface-name
no ip tacacs source-interface
参数
参数 | 参数说明 |
---|---|
subinterface-name | 所有TACACS+报文的源IP地址对应的接口名称。 |
缺省
本命令没有指定的缺省值。
命令模式
全局配置态
使用说明
使用本命令可以通过指定源接口来为所有的TACACS+报文设置源IP地址,只要该接口处于up状态,所有的TACACS+报文将使用这个接口的IP地址作为源发地址。这样,将保证每一台路由器的TACACS+报文具有相同的源发IP地址,TACACS+服务器就不再需要维护包含所有IP地址的地址列表。也就是说,当路由器有许多接口,但为了确保来自于特定路由器的所有TACACS+报文具有相同的源IP地址时,本命令将发挥作用。。
指定的接口必须有与之相联系的IP地址。如果指定的接口没有IP地址或处于down状态,就会回到缺省值,也就是根据实际情况来确定源IP地址。为了避免发生这样的情况,一定要为该接口添加IP地址并保证该接口处于up状态。
示例
下述示例将使用接口s1/0的IP地址作为所有TACACS+报文的源发IP地址:
ip tacacs source-interface s1/0
相关命令
ip radius source-interface
为了指定TACACS+服务器,使用全局配置命令tacacs server。使用本命令的no 形式则删除指定的服务器。
tacacs server ip-address [single-connection|multi-connection] [port integer1] [timeout integer2] [key string]
no tacacs serve ip-address
参数
参数 | 参数说明 |
---|---|
ip-address | 服务器的IP地址。 |
single-connection | (可选)指定路由器为来自AAA/TACACS+服务器的确认维持着单一开放的TCP连接。 |
multi-connection | (可选)指定路由器为来自AAA/TACACS+服务器的不同确认维持不同的TCP连接。 |
port | (可选)指定服务器端口号。本选项覆盖缺省的端口号49。 |
integer1 | (可选)服务器的端口号,有效端口号的范围是1至65536。 |
timeout | (可选)指定等待服务器回应超时值。它将覆盖使用tacacs timeout命令为本服务器设置的全局超时值。 |
integer2 | (可选)设定超时记时器值,按秒计算。 |
key | (可选)指定认证和加密密钥。这个密钥必须与TACACS+服务器程序使用的密钥相匹配。指定这个。密钥将覆盖使用全局命令tacacs key为本服务器设置的密钥。 |
string | (可选)指定加密密钥字符串。 |
缺省
没有TACACS+服务器被指定。
命令模式
全局配置态
使用说明
可以使用多个tacacs server命令以指定多个主机,并按照指定的顺序搜索主机。由于tacacs server命令的一些参数将覆盖由tacacs timeout和tacacs key命令所作的全局设置,所以利用本命令,可唯一地配置每台TACACS+服务器的通信属性,以增强网络的安全性。
示例
下述示例指定路由器与IP地址为1.1.1.1的TACACS+服务器进行协商,以进行AAA认证。并指定服务器的TCP服务端口号为51,设定超时值是三秒,加密密钥为a_secret。
tacacs server 1.1.1.1 single-connection port 51 timeout 3 key a_secret
相关命令
tacacs key
tacacs timeout
为了设置路由器与TACACS+服务器之间所有通信过程使用的加密密钥,请使用tacacs key全局配置命令。使用本命令的no 形式则关闭该密钥。
tacacs key key
no tacacs key
参数
参数 | 参数说明 |
---|---|
key | 用于设置加密密钥。这一密钥必须与TACACS+服务器程序使用的密钥相匹配。 |
命令模式
全局配置态
使用说明
在开始运行TACACS+协议之前必须使用tacacs key命令设置加密密钥。输入的密钥必须与TACACS+服务程序使用的密钥相匹配。所有的打头空格都被忽略,密钥中间不能有空格。
示例
下述示例设置加密密钥为testkey:
tacacs key testkey
相关命令
tacacs server
要设置TACACS+等待某服务器作出应答的超时时间长度,请使用 tacacs timeout全局配置命令。使用本命令的no形式则恢复缺省值。
tacacs timeout seconds
no tacacs timeout
参数
参数 | 参数说明 |
---|---|
seconds | 以秒计算的超时值(在1和600之间)。缺省为5秒。 |
缺省
5秒
命令模式
全局配置态
使用说明
若针对某台服务器通过tacacs server命令中的timeout参数设置了自己的等待超时值,将覆盖此命令设置的全局超时值。
示例
下述示例将超时定时器的值修改为10秒:
tacacs timeout 10
相关命令
tacacs server
本章描述了IPSec配置命令。IPSec提供了在公共网络上——如Internet——上传输敏感信息的安全性。IPSec提供的安全性解决方案非常健壮,并且是基于标准的。作为对数据机密性的补充,IPSec还提供了数据验证和抗重播服务。
要了解配置信息,可以参阅“配置IPSec”。
要删除相关的IPSec安全联盟数据库,使用clear crypto sa命令。
clear crypto sa
clear crypto sa peer ip-address
clear crypto sa map map-name
参数
参数 | 参数说明 |
---|---|
ip-address | 指定对端的IP地址。 |
map-name | 指定加密映射表集合的名字。 |
缺省
如果未使用peer、map等关键字,所有的IPSec安全联盟都将被删除。
命令模式
管理态
使用说明
这条命令用于清除(删除)IPSec安全联盟。如果安全联盟是通过IKE建立的,那么它们将被删除,以后的IPSec通信需要重新协商新的安全联盟(使用IKE时,IPSec安全联盟只有在需要的时候才被建立)。
如果安全联盟是通过手工建立的,那么安全联盟将被删除并且被重新建立。
如果没有使用peer、map等关键字,所有的IPSec安全联盟都将被删除。使用peer关键字将删除指定对端地址的全部IPSec安全联盟。使用map关键字将删除由加密映射表集合所创建的全部IPSec安全联盟。通过使用clear crypto sa命令可以重新建立所有的安全联盟,这样这些联盟就可以使用最新的配置设置了。在手工建立安全联盟的情况下,如果修改其用到变换集合,在生效之前必须使用clear crypto sa命令。
如果路由器正在处理IPSec通信,那么最好只清除安全联盟数据库中会被影响到的那部分内容。这样可以避免当前正在进行的IPSec通信突然中断。注意这条命令只清除IPSec安全联盟;要清除IKE状态,请使用clear crypto isakmp命令。
示例
下面的示例清除路由器上所有的IPsec安全联盟:
clear crypto sa
相关命令
clear crypto isakmp
要创建或修改一个动态加密映射表,进入动态加密映射表表配置态,可以使用crypto dynamic-map全局配置命令。使用此命令的no格式来删除一个动态加密映射表表或集合。
crypto dynamic-map map-name
no crypto dynamic-map map-name
参数
参数 | 参数说明 |
---|---|
map-name | 动态加密映射表集合的名字。 |
缺省
不存在动态加密映射表。
命令模式
全局配置态。使用此命令将进入动态加密映射表配置态。
使用说明
使用此命令可以创建一个新的动态加密映射表,或修改一个现存的动态加密映射表。
动态加密映射表的功能和普通的加密映射表(crypto map)是类似的。主要区别在于:
动态加密映射表中可以不用设置对端的IP地址(set peer),允许任何地址的IPSec设备来协商,这一功能可以用来支持和移动用户的连接。而普通的加密映射表则必须指定对端的IP地址,且只允许该地址的IPSec设备来协商。当然动态加密映射表中也可以设置IP地址,这种情况下,基本等同于普通的加密映射表。
示例
下面的例子显示了使用IKE来建立安全联盟时,所需的最小加密映射表配置:
crypto dynamic-map aaa
match address aaa
set transform-set one
相关命令
crypto map (global configuration)
match address
set peer
set pfs
set security-association lifetime
set transform-set
show crypto map
指定本地路由器是否接收非IPSec报文或不正确的IPSec报文。
crypto ipsec secure
no crypto ipsec secure
参数
无
缺省
允许通过非IPSec报文或不正确的IPSec报文。
命令模式
全局配置态。
使用说明
当有报文通过路由器且匹配了用户所设定的规则时,若该报文不是IPSec报文或者是不正确的IPSec报文,如果此时未设置该选项,那么路由器仍会照常处理该报文,如果此时设置了该选项,那么路由器就会丢弃该报文。
示例
以下例子设置了路由器的该选项。
crypto ipsec secure
相关命令
crypto map
要定义一个ipsec变换集合——安全协议和算法的一个可行组合,使用crypto ipsec transform-set全局配置命令。要删除一个变换集合,可以使用这条命令的no格式。
crypto ipsec transform-set transform-set-name
no crypto ipsec transform-set transform-set-name
参数
参数 | 参数说明 |
---|---|
transform-set-name | 指定要创建(或修改)的变换集合的名称。 |
缺省
无
命令模式
全局配置态。执行此命令将进入加密变换配置态。
使用说明
变换集合是安全协议、算法以及将用于受IPSec保护的通信的其它设置的组合。
可以配置多个变换集合,然后在加密映射表中指定这些变换集合中的一个或多个。在加密映射表中定义的变换集合用于协商IPSec安全联盟,以保护匹配加密映射表设定的访问列表的那些报文。在协商过程中,双方寻找一个在双方都有的相同变换集合。当找到了一个这样的变换集合时,此集合将被选中,并作为双方IPSec安全联盟的一部分被运用到受保护的通信上。
如果不是使用IKE来建立安全联盟,那么必须指定唯一一个变换集合。此集合无须进行协商。
只有使用此命令对变换集合进行了定义后,此变换集合才能被设置在加密映射表中。
可使用transform-type命令来具体配置变换类型。
示例
以下例子定义了一个变换集合。
crypto ipsec transform-set one
transform-type esp-des esp-sha-hmac
相关命令
mode
transform-type
set transform-set
show crypto ipsec transform-set
要创建或修改一个加密映射表,进入加密映射表表配置态,可以使用crypto map全局配置命令。使用此命令的no格式来删除一个加密映射表表或集合。
crypto map map-name seq-num [ipsec-manual| ipsec-isakmp [dynamic dynamic-map-name]]
no crypto map map-name seq-num
参数
参数 | 参数说明 |
---|---|
map-name | 加密映射表集合的名字。 |
seq-num | 加密映射表的序号。参看“使用说明”一节中对于使用此参数的详细解释。 |
ipsec-manual | 表示对于此加密映射表所指定的通信,将采用手工方式来建立IPSec安全联盟对其进行保护。 |
ipsec-isakmp | 表示对于此加密映射表所指定的通信,将使用IKE来建立IPSec安全联盟对其进行保护。 |
dynamic-map-name | 该加密映射表用来作模板的动态加密映射表名字。 |
缺省
不存在加密映射表。
命令模式
全局配置态。当无dynamic及其参数时,使用此命令将进入加密映射表配置态。
使用说明
使用此命令可以创建一个新的加密映射表,或修改一个现存的加密映射表。
在创建了一个加密映射表以后,不能对全局配置态下指定的参数进行改变,因为这些参数决定了在加密映射表配置态中可以使用哪些配置命令。例如,一个映射表一旦作为ipsec-isakmp创建,就不能将它改变成ipsec-manual;必须将它删除并重新进入加密映射表配置态才能这样做。在定义了加密映射表以后,可以使用crypto map(interface configuration)命令将此加密映射表集合运用到接口上。
l 加密映射表的功能
加密映射表提供了两个功能:对要保护的通信进行过滤和分类,以及定义通信的策略。IPSec加密映射表将下面这些定义联系在一起:
l 哪些通信应该受到保护
受保护数据可以到达哪个IPSec对端——这个对端能够和本地路由器建立起一个安全联盟。
对于受保护通信,可用的变换集合是哪些。
如何对密钥和安全联盟进行管理和使用(或者在不使用IKE时,密钥是什么)。具有相同map-name(加密映射表名称)的多个加密映射表组成了一个加密映射表集合。
加密映射表集合是由加密映射表组成的集合,其中每条都有不同的seq-num和相同的map-name。因此,对于给定接口,你可以对发往一个IPSe对端通信采取某种安全策略,而对于发往同一或不同IPSec对端的其它通信采用不同的安全策略。要达到这一目的,你应该创建两个加密映射表,每个都有相同的map-name,但有不同的seq-num。
l seq-num参数
seq-num参数的数值不能随便定。此数字是用来对一个加密映射表集合中的多个加密映射表进行排序的。在一个加密映射表集合中,seq-num参数小的加密映射表在seq-num参数大的加密映射表之前进行判断;也就是说,序号越小的映射优先级越高。
例如,假设加密映射表集合包含了三个加密映射表:aaa 10,aaa 20以及aaa 30。名为aaa的加密映射表集合被运用在接口Serial 0上。当通信通过接口Serial 0时,首先用aaa 10对它进行判断。如果通信匹配aaa 10指定的扩展访问列表中的一条permit,那么将使用aaa 10中定义的策略对通信进行处理(包括必要的时候建立IPSec安全联盟)。如果通信不匹配aaa 10访问列表,将用aaa 20,然后是aaa 30对通信进行判断,直到通信匹配一个映射中的permit语句(如果不匹配任何加密映射表中的permit语句,那么此通信将不受任何IPSec的保护直接发送)。
示例
下面的例子显示了使用IKE来建立安全联盟时,所需的最小加密映射表配置:
crypto map aaa 10 ipsec-isakmp
match address aaa
set transform-set one
set peer 192.2.2.1
下面的例子显示了使用动态加密映射表来建立安全联盟时,所需的最小加密映射表配置:
crypto dynamic-map aaa
match address aaa
set transform-set one
crypto map bbb 10 ipsec-isakmp dynamic-map aaa
下面的例子显示了手工建立安全联盟时,所需的最小加密映射表配置:
crypto transform-set one
transform-type ah-md5-hmac esp-des
crypto map aaa 10 ipsec-manual
match address aaa
set transform-set one
set peer 192.2.2.1
set security-association inbound ah 300 98765432109876543210987654
set security-association outbound ah 300 fedcbafedcbafedcfedcbafedcbafedc
set security-association inbound esp 300 cipher 0123456789012345
set security-association outbound esp 300 cipher abcedfabcdefabcd
相关命令
crypto map (interface configuration)
crypto map local-address
match address
set peer
set pfs
set security-association lifetime
set transform-set
show crypto map
要将预先定义好的加密映射表集合运用到接口上,可以使用crypto map接口配置命令。
使用此命令的no格式可以从一个接口上移除加密映射表集合。
crypto map map-name
no crypto map
参数
参数 | 参数说明 |
---|---|
map-name | 加密映射表集合的名称。 |
缺省
接口上没有设置加密映射表。
命令模式
接口配置态
使用说明
使用此命令可以将加密映射表集合运用到接口。在接口可以提供IPSec服务之前,必须在接口上配置一个加密映射表集合。对于一个接口,只能设置一个加密映射表集合。如果多个加密映射表具有相同的map-name和不同的seq-num,那么它们位于同一集合,并被运用到同一接口上。Seq-num越小的加密映射表具有越高的优先级,并且先进行判断。一个加密映射表集合中可能包含ipsec-isakmp、ipsec-manual加密映射表的组合。
示例
下面的例子将加密映射表集合aaa赋给接口S0。当报文经过接口S0时,将使用mymap集合中的所有加密映射表对它进行判断。当出站报文匹配mymap加密映射表中某一条所对应的访问列表时,一条基于加密映射表配置的安全联盟(若是IPSec)连接将被建立(如果没有现存的安全联盟的话)。
interface s0
crypto map aaa
相关命令
crypto map (global configuration)
crypto map local-address
show crypto map
指定一个接口标识,并在加密映射表中指定它用于IPSec通信,可以使用crypto map local-address全局配置命令。使用此命令的no格式可以从配置中删除这条命令。
crypto map map-name local-address interface-id
no crypto map map-name local-address
参数
参数 | 参数说明 |
---|---|
map-name | 加密映射表集合的名称。 |
interface-id | 指定加密映射表集合使用的接口标识。 |
缺省
无
命令模式
全局配置态
使用说明
如果设置了此命令,加密映射表集合中的加密映射表的IPSec本端地址使用指定接口的IP地址。
示例
无
相关命令
crypto map (interface configuration)
在IPSec的处理过程中,查看IPSec对于上层数据处理的出错信息。
参数
无
缺省
缺省情况下不显示相关信息。
命令模式
管理态
使用说明
显示和IPSec处理相关的一些重要错误信息,下表列举了几种常见的出错信息。
显示信息 | 信息含义 |
---|---|
rec'd IPSEC packet from IPADDR has invalid spi. | 对端的outbound的spi值与本端的inbound不同或配置的配置策略不同(esp、ah)。 |
packet missing policy. | 对端的outbound的配置策略和本地不同(esp、ah)。 |
rec'd IPSEC packet from IPADDR has bad pading. | 对端的outbound的加密密钥与本端的inbound的不同。 |
rec'd IPSEC packet mac verify failed. | 对端的outbound的ESP或AH验证密钥与本端的inbound的不同。 |
rec'd IPSEC packet from IPADDR to IPADDR does not agree with policy. | IPSEC处理完成的包与相应的access-list不同,子MAP的访问列表配置有问题。 |
相关命令
show crypto ipsec sa
debug crypto isakmp
要为一个加密映射表指定一个扩展访问列表,可以使用match address加密映射表配置命令。使用此命令的no格式可以从一条加密映射表中取消设置的扩展访问列表。
match address access-list-name
no match address access-list-name
参数
参数 | 参数说明 |
---|---|
access-list-name | 加密访问列表。此名字必须和配置的访问列表的name相匹配。 |
缺省
加密映射表不配置任何访问列表。
命令模式
加密映射表配置态
使用说明
此命令对于所有加密映射表来说都是必须的。
使用此命令将扩展访问列表赋给一条加密映射表。需要使用ip access-list extended命令来定义此访问列表。
用此命令指定的扩展访问列表将被IPSec用于判断哪些通信应被加密保护,而哪些通信不被加密保护(此访问列表所允许的通信都将受到保护。被此访问列表拒绝的通信在相应加密映射表中将不受保护)。
注意加密访问列表不是用来决定是否允许通信通过某个接口,这项工作由直接作用于接口上的访问列表来完成。
此命令指定的加密访问列表既用于判断入通信,也用于判断出通信。接口加密映射表所对应的加密访问列表将对出通信进行判断,决定它是否应该受到加密保护,并且如果是(通信匹配一条permit),那么应该应用什么加密策略。在通过了接口上普通访问列表的检查以后,入通信将被接口的加密映射表集合所指定的加密访问列表进行判断,判定它是否应该受到加密保护,如果是,应该受到哪种加密策略的保护(在使用IPSec的情况下,未受保护的通信将被丢弃,因为它本应受到IPSec的保护)。
示例
下面的例子是使用IKE来建立安全联盟时所需的最小加密映射表配置。
crypto map aaa 100 ipsec-isakmp
match address aaa
set transform-set one
set peer 192.2.2.1
相关命令
crypto map(global configuration)
crypto map(interface configuration)
crypto map local-address
ip access-list extended
set peer
set pfs
set security-association lifetime
set transform-set
show crypto map
要改变一个变换集合的模式,可以使用mode加密变换配置命令。要将模式恢复成缺省值隧道模式,可以使用这条命令的no格式。
mode {tunnel | transport}
no mode
参数
参数 | 参数说明 |
---|---|
tunnel| transport | 指定一个变换集合的模式:隧道模式或传输模式。如果既没有指定tunnel,也没有指定transport,那么将使用缺省值(隧道模式)。 |
缺省
隧道模式
命令模式
加密变换配置态
使用说明
使用此命令来改变变换的模式。只有当要被保护的报文和IPSec两端有相同的IP地址值时(这样的通信既可在隧道模式下又可在传输模式下进行封装),此设置才有效。对于所有其它通信(所有其它的通信都在隧道模式下进行封装),此设置都无效。
如果要被保护的通信具有和IPSec两端有相同的IP地址,并且指定了传输模式,那么在协商期间,路由器将申请传输模式,但既可接受传输模式又可接受隧道模式。如果指定了隧道模式,那么路由器将申请隧道模式,并且只接受隧道模式。
在定义了变换集合以后,将进入加密变换配置态。在此配置状态下,可以将模式改变为隧道方式或传输方式。
如果开始在定义变换集合的时候没有设置模式,以后想要改变此变换集合的模式,那么必须重新进入此变换集合(指定变换的名字),并且改变它的模式。
如果使用此命令来改变模式,那么改变将只影响那些指定了此变换集合的加密映射表的后续IPSec安全联盟的生成。如果想尽快使变换集合的配置生效,那么可以清除安全联盟数据库的部分或全部。可以参看clear crypto sa命令来获得更多的细节。
l 隧道模式
在隧道模式下,整个原始的IP报文都受到保护(加密、验证或两者都有),并且由IPSec进行封装(ESP、AH或两者都有)。然后,新的IP头被在增加到报文中,此IP头指定了IPSec源和目的地址。
任何IP通信都可使用隧道模式进行传送。如果IPSec是对接在IPSec两端后面的主机的通信进行保护,那么必须使用隧道模式。
l 传输模式
在传输模式下,只有IP分组的有效负载(数据)才受到保护(加密、验证或两者都有)。并且由IPSec封装(ESP、AH或两者都有)。原始的IP报头保持原样,不受IPSec的保护。
只有当要保护的IP分组的源和目的地址都是IPSec两端时,才能使用传输模式。例如,可以使用传输模式来保护路由器管理通信。在申请中指定传输模式,可以使得路由器能够和远端协商决定是使用传输模式还是隧道模式。
示例
下面的例子定义了一个变换集合,并将模式改变为传输模式。
router_config# crypto ipsec transform-set one
router_config_crypto_trans#transform-type esp-des esp-sha-hmac
router_config_crypto_trans # mode transport
router_config_crypto_trans # exit
router_config#
相关命令
crypto ipsec transform-set
要在加密映射表中指定IPSec对端,可以使用set peer加密映射表配置命令。使用此命令的no格式,可以从加密映射表中删除IPSec对端。
set peer ip-address
no set peer ip-address
参数
参数 | 参数说明 |
---|---|
ip-address | 用IP地址指定的IPSec对端。 |
缺省
缺省情况下不指定IPSec对端。
命令模式
加密映射表配置态
使用说明
使用此命令可为加密映射表指定一个IPSec对端。对于所有加密映射表,这条命令都是必须的。一个加密映射表只能指定一个IPSec对端。如果想要改变对端,指定新的对端即可,会覆盖原先设置。
示例
下面的例子展示了当使用IKE来建立安全联盟时的一个加密映射表配置。
crypto map aaa 100 ipsec-isakmp
match address aaa
set transform-set one
set peer 192.2.2.1
相关命令
crypto map(global configuration)
crypto map(interface configuration)
crypto map local-address
match address
set pfs
set security-association lifetime
set transform-set
show crypto map
当为加密映射表申请新的安全联盟时,要指定IPSec将同时申请理想转发安全机制(PFS),或当收到建立新安全联盟的申请时,IPSec将要求PFS,可以使用set pfs加密映射表配置命令。要确定IPSec不会进行PFS申请,可以使用这条命令的no格式。
set pfs [group1|group2]
no set pfs
参数
参数 | 参数说明 |
---|---|
group1 | 当组织新的Diffle-Hellman交换时,指定IPSec将使用768位的Diffle-Hellman组。 |
group2 | 当组织新的Diffle-Hellman交换时,指定IPSec将使用1024位的Diffle-Hellman组。 |
缺省
在缺省情况下,不要求PFS。
命令模式
加密映射表配置态
使用说明
此命令只对ipsec-isakmp加密映射表可用。
在协商期间,此命令将使得IPSec在为这条加密映射表申请新安全联盟时,同时也申请PFS。如果本端发起协商,且本地配置指定了使用PFS,对端必须组织PFS交换,否则协商将失败。如果本地配置没有指定组,那么本地路由器将提议使用缺省值group1,而对方无论提供group1或group2都会被接受。如果本地配置指定了group2,那么对端必须提供此组,否则协商将会失败。如果本地配置没有指定PFS,那么本地路由器也会接受对端所提供的PFS。
PFS增加了另一种级别的安全性,因为如果一个密钥曾被攻击者解开过,那么只有那些用此密钥进行传送的数据受到威胁。如果没有PFS,用其它密钥传送的数据也可能受到威胁。
在使用PFS的情况下,每次协商新安全联盟的时候都会引发一次新Diffle-Helman交换(这种交换需要额外的处理时间)。
1024比特的Diffle-Hellman组,即group2,比group1提供了更多的安全性,但比group1需要更多的处理时间。
示例
下面的例子指定了无论什么时候加密映射表aaa 100协商新安全联盟时都要使用PFS:
crypto map aaa 100 ipsec-isakmp
set pfs group2
相关命令
crypto map (global configuration)
crypto map (interface configuration)
crypto map local-address
match address
set peer
set security-association lifetime
set transform-set
show crypto map
要为某个加密映射表设置生命周期值(此值用于IPSec安全联盟的协商),可以使用Set security-association lifetime加密映射表配置命令。要将一个加密映射表的生命周期值恢复成缺省值,可以使用此命令的no格式。
set security-association lifetime [seconds seconds | kilobytes kilobytes]
no set security-association lifetime [seconds | kilobytes]
参数
参数 | 参数说明 |
---|---|
seconds seconds | 指定一个安全联盟在超时终止前所能存活的秒数。 |
kilobytes kilobytes | 在一个安全联盟超时以前,使用此安全联盟所能传输的通信量(以千字节计)。 |
缺省
加密映射表的安全联盟根据缺省生命周期值进行协商。
缺省超时秒数为3600秒 (1小时) ,缺省超时通信量为 4,608,000 千字节。
命令模式
加密映射表配置态
使用说明
此命令只对ipsec-isakmp加密映射表可用。
IPSec安全联盟使用共享密钥。这些密钥和它们对应的安全联盟同时超时。假设在安全联盟协商过程中,路由器申请新的安全联盟时,给定的加密映射表已经配置了新生命周期值,那么它将在向对端发起的申请中使用自己的加密映射表生命周期值;它将使用此值作为新的安全联盟的生命周期值。当路由器收到从对端发来的协商申请时,它将取对端提议的和本地路由器配置的生命周期值中较小者作为新安全联盟的生命周期。
生命周期有两种:一个时间生命周期、一个通信量生命周期。这两个生命周期中无论哪个先到期,安全联盟都将超时。
要改变时间生命周期,可以使用命令的set security-association lifetime seconds格式。时间生命周期指定了安全联盟和密钥在经过了一定的秒数后超时。
要改变通信量生命周期,可以使用命令的set security-association lifetimekilobytes格式。通信量生命周期指定了安全联盟和密钥在使用安全联盟密钥进行加密的通信量(以KB计)达到了一定数量以后超时。
生命周期值越短,密钥破解攻击越难成功,因为攻击者用于分析的用同一密钥加密的数据越少。但是,生命周期越短,用于建立新安全联盟的CPU处理时间就越多。
在手工方式建立安全联盟时,生命周期值将被忽略(使用ipsec-manual加密映射表来建立安全联盟)。
生命周期是如何工作的:
假设给定的加密映射表没有配置新的生命周期值,那么当路由器申请新的安全联盟时,它在向对端发起的申请中使用缺省生命周期值;它将使用此值作为新安全联盟的生命周期。当路由器收到从对端发来的协商申请时,它使用对端提议的和本地配置的生命周期值中较小者作为新安全联盟的生命周期值。
经过了一定的时间(由seconds关键字指定)后,已传递了一定字节的通信量(由kilobytes关键字指定),这两件事情无论哪件先发生,安全联盟(以及相应的密钥)都将超时。
新的SA在原有安全联盟的生命周期极限值到达以前就开始进行协商,以确保当原有安全联盟超时的时候,已经有一个新的安全联盟备用了。新安全联盟在seconds生命周期超时前30秒,或经由这条隧道的通信量距kilobytes生命周期还有256KB时开始进行协商(根据哪个先发生)。
如果在一个安全联盟的整个生命周期中都没有通信经过这条隧道,那么当此安全联盟超时的时候不会进行新安全联盟的协商。相应地,新的安全联盟只有当IPSec得到应该受到保护的一个分组时才开始进行协商。
示例
此例子加密映射表设置较短的生命周期值,因为属于此加密映射表的安全联盟的密钥可能被窃取。通信量生命周期值未被改变,因为分享这些安全联盟的通信量不是很大。时间生命周期值缩短到1800秒(30分钟)。
crypto map aaa 100 ipsec-isakmp
set security-association lifetime seconds 1800
相关命令
crypto map (global configuration)
crypto map (interface configuration)
crypto map local-address
match address
set peer
set pfs
set transform-set
show crypto map
要在加密映射表中手工指定IPSec密钥,可以使用set 加密映射表配置命令。要从加密映射表中删除IPSec密钥,可以使用此命令的no格式。此命令只对ipsec-manual加密映射表可用。
set security-association {inbound|outbound} ah spi hex-key-string
set security-association {inbound|outbound} esp spi [cipher hex-key-string] [authenticator hex-key-string]
set security-association {inbound|outbound} ah
set security-association {inbound|outbound} esp
参数
参数 | 参数说明 |
---|---|
inbound | 设置入报文IPSec密钥(必须对入报文和出报文密钥都进行设置)。 |
outbound | 设置出报文IPSec密钥(必须对入报文和出报文密钥都进行设置)。 |
ah | 为AH协议设置IPSec密钥。只有当此加密映射表的变换集合包括AH变换时才起作用。 |
esp | 为ESP协议设置IPSec密钥。只有当此加密映射表的变换集合包括ESP变换时才起作用。 |
spi | 安全参数索引值(SPI),此索引用来唯一标识一个安全联盟。SPI是在256到4,294,967,295(FFFFFFFF)之间任意给定的一个数字。对于两种方向(出、入)和两种协议(AH、ESP)的安全联盟,可以赋给同一SPI。对于一个给定目的地址/协议的组合,必须使用唯一的SPI值。如果是入站的情况,那么目的地址就是本路由器地址。如果是出站,那么目的地址就是对端的地址。 |
hex-key-string | 密钥;按十六进制的格式输入。这是一个长度为8、16、20或24字节的任意十六进制字符串。如果加密映射表的变换集合包括了DES算法,那么每个密钥至少需要8字节。如果加密映射表的变换集合包括了3DES算法,那么每个密钥至少需要24字节。如果加密映射表的变换集合包括了MD5算法,那么每个密钥至少需要16字节。如果加密映射表的变换集合包括了SHA算法,那么每个密钥至少需要20字节。超过上述长度的密钥将简单地被截断。 |
cipher | 指示此密钥字符串是ESP加密变换的密钥。 |
authenticator | (可选)指示此密钥字符串是ESP验证变换的密钥。此参数仅当这个加密映射表的变换集合包括了ESP验证算法时才需要。 |
缺省
缺省情况下不定义任何IPSec密钥。
命令模式
加密映射表配置态
使用说明
使用此命令可以为那些经过ipsec-manual加密映射表建立起来的安全联盟指定IPSec密钥(对于ipsec-isakmp加密映射表,安全联盟以及相应密钥是通过IKE协商自动建立的)。
如果加密映射表的变换集合包括了AH协议,那么必须为AH的出和入通信都定义IPSec密钥。如果加密映射表的变换集合包括了ESP加密协议,那么必须为ESP加密的出和入通信都定义IPSec密钥。如果加密映射表的变换集合包括了ESP验证协议,那么必须为ESP验证的出和入通信都定义IPSec密钥。
在为一个加密映射表定义多个IPSec密钥的时候,可以将相同的SPI数字赋给所有的密钥。SPI用于标识此加密映射表所对应的安全联盟。但是,不是所有的SPI赋值上都有相同的随意性,应确保对于相同的目的地址/协议的组合,相同的SPI赋值不超过一次。
通过这条命令建立起来的安全联盟不会超时(不同于通过IKE建立起来的安全联盟)。
本端的密钥必须和对端密钥相匹配。如果改变一个密钥,那么使用此密钥的安全联盟将被删除和重新增加。
示例
下面的例子经过手工建立安全联盟的加密映射表。变换集合one只包含了一个AH协议。
crypto ipsec transform-set one
transform-set ah-md5-hmac
crypto map aaa 100 ipsec-manual
match address aaa
set transform-set one
set peer 192.2.2.1
set security-association inbound ah 300 11111111111111111111111111111111
set security-association outbound ah 300 22222222222222222222222222222222
下面的例子是一个手工建立安全联盟的加密映射表。变换集合one包含了一个AH协议和一个ESP协议。这样,对AH和ESP的出和入通信都要配置密钥。此变换集合包括了ESP的加密和验证变换,所以需要使用cipher和authenticator关键字对两种变换都创建密钥。
crypto ipsec transform-set one
transform-type ah-sha-hmac esp-des esp-sha-hmac
crypto map aaa 100 ipsec-manual
match address aaa
set transform-set one
set peer 192.2.2.1
set association inbound ah 300 9876543210987654321098765432109876543210
set security-association outbound ah 300 fedcbafedcbafedcbafedcbafedcbafedcbafedcba
fedc
set security-association inbound esp 300 cipher 0123456789012345
authenticator 0000111122223333444455556666777788889999
set security-association outbound esp 300 cipher abcdefabcdefabcd
authenticator 9999888877776666555544443333222211110000
相关命令
crypto map(global configuration)
crypto map(interface configuration)
crypto map local-address
match address
set peer
set transform-set
show crypto map
要指定加密映射表将使用哪些变换集合,可以使用set transform-set加密映射表配置命令。要从一个加密映射表中移除所有变换集合,可以使用此命令的no格式。
set transform-set transform-set-name1 [transform-set-name2...transform-set-name6]
no set transform-set
参数
参数 | 参数说明 |
---|---|
transform-set-name | 变换集合的名字。对于ipsec-manual加密映射表,只能指定一个变换集合。对于ipsec-isakmp,可以指定不多于六个加密映射表集合。 |
缺省
缺省情况下不包括任何变换集合。
命令模式
加密映射表配置态
使用说明
此命令对于所有的加密映射表都是必须的。
使用此命令可以指定一条加密映射表中将包含哪些变换集合。
对于ipsec-isakmp加密映射表,可以使用此命令列出多个变换集合。首先列出的是最高优先级的变换集合。
如果是本地路由器发起协商,那么将按照在加密映射表中指定的顺序将变换集合提供给对端。如果是对端发起协商,那么本地路由器接受第一个相匹配的变换集合。
在两端找到的第一个相匹配的变换集合将用于建立安全联盟。如果没有找到匹配项,那么IPSec不会建立安全联盟。报文将被丢弃,因为没有安全联盟保护这些通信。
对于ipsec-manual加密映射表,只能指定唯一的变换集合。如果此变换集合不能匹配对端的加密映射表的变换集合,则IPSec两端不能正常通信,因为它们使用不同的规则来保护通信。
如果想要改变变换集合的内容,重新设置变换集合的内容来覆盖旧的内容。此改变不会影响现存的安全联盟,但将用于建立新的安全联盟。如果想让改变尽快生效,可以使用clear crypto sa命令来清除全部或部分安全联盟数据库的内容。
包含在一个加密映射表中的任何变换集合都必须事先用crypto ipsec transform-set命令进行定义。
示例
下面的例子定义了两个变换集合,并且指定它们可用于同一个加密映射表(只有当使用IKE来建立安全联盟时,此例子才能使用。对于手工建立的安全联盟所使用的加密映射表,给定的一条加密映射表中只能包含一个变换集合)。
crypto ipsec transform-set one
transform-type esp-des esp-sha-hmac
crypto ipsec transform-set two
transform-type ah-sha-hmac esp-des esp-sha-hmac
crypto map aaa 100 ipsec-isakmp
match address aaa
set transform-set one two
set peer 192..2.2.1
在此例中,当通信匹配了访问列表aaa时,安全联盟既可以使用变换集合one(第一优先级),也可以使用two(第二优先级),这取决于哪个变换集合和对端上的变换集合相匹配。
相关命令
crypto map (global configuration)
crypto map (interface configuration)
crypto map local-address
match address
set peer
set pfs
set security-association lifetime
set security-association inbound
set security-association outbound
show crypto map
要查看当前安全联盟所使用的设置,可以使用show crypto ipsec sa命令。
show crypto ipsec sa [map map-name |interface interface-id ] [detail]
参数
参数 | 参数说明 |
---|---|
map map-name | (可选)显示名为map-name的加密映射表所创建的现存的安全联盟。 |
interface interface-id | (可选)显示标识接口上加密映射表所创建的现存的安全联盟。 |
detail | (可选)同时显示安全联盟的统计信息。 |
缺省
如果没有指定任何关键字,那么所有的安全联盟都将被显示出来。
命令模式
管理态
使用说明
无
示例
下面是show crypto ipsec sa命令的一个输出示例。
router#show crypto ipsec sa detail
Interface: Ethernet0/0
Crypto map name:aaa
local ident (addr/mask/prot/port): (191.1.1.0/255.255.255.0/0/0)
remote ident (addr/mask/prot/port): (197.7.7.0/255.255.255.0/0/0)
local crypto endpt.: 192.2.2.87, remote crypto endpt.: 192.2.2.86
inbound esp sas:
spi:0x190(400)
transform: esp-des esp-sha-hmac
in use settings ={ Tunnel }
no sa timing
#pkts decaps: 0, #pkts decrypt: 0, #pkts auth: 0
#pkts decaps err: 0, #pkts decrypt err: 0, #pkts auth err: 0
#pkts replay failed: 0
inbound ah sas:
spi:0x12c(300)
transform: ah-md5-hmac
in use settings ={ Tunnel }
no sa timing
#pkts decaps: 0, #pkts decrypt: 0, #pkts auth: 0
#pkts decaps err: 0, #pkts decrypt err: 0, #pkts auth err: 0
#pkts replay failed: 0
outbound esp sas:
spi:0x191(401)
transform: esp-des esp-sha-hmac
in use settings ={ Tunnel }
no sa timing
#pkts encaps: 0, #pkts encrypt: 0, #pkts auth: 0
#pkts encaps err: 0, #pkts encrypt err: 0, #pkts auth err: 0
#pkts replay failed: 0
outbound ah sas:
spi:0x12d(301)
transform: ah-md5-hmac
in use settings ={ Tunnel }
no sa timing
#pkts encaps: 0, #pkts encrypt: 0, #pkts auth: 0
#pkts encaps err: 0, #pkts encrypt err: 0, #pkts auth err: 0
#pkts replay failed: 0
相关命令
无
要查看所配置的变换集合,可以使用show crypto ipsec transform-set 命令。
show crypto ipsec transform-set [transform-set-name]
参数
参数 | 参数说明 |
---|---|
transform-set-name | (可选)只显示具有所指定的transform-set-name的变换集合。 |
缺省
如果不使用关键字,那么将显示路由器上所有的变换集合。
命令模式
管理态
使用说明
无
示例
下面是show crypto ipsec transform-set命令的一个输出示例。
router# show crypto ipsec transform-set
Transform set aaa: { esp-des }
will negotiate ={ Tunnel }
Transform set bbb: { ah-md5-hmac esp-3des }
will negotiate ={ Tunnel }
相关命令
无
要查看加密映射表配置,可以使用show crypto map命令。
show crypto map [map-name]
参数
参数 | 参数说明 |
---|---|
map-name | (可选)只显示用map-name指定的加密映射表。 |
缺省
如果没有指定关键字,则显示路由器上所有的加密映射表配置。
命令模式
管理态
使用说明
无
示例
下面是show crypto map命令的一个输出示例。
router_config#show crypto map
Crypto Map aaa 100 ipsec-manual
Extended IP access list aaa
permit ip 192.2.2.0 255.255.255.0 193.3.3.0 255.255.255.0
peer = 192.2.2.1
Inbound esp spi: 300 ,
cipher key: 1234567812345678 ,
auth key ,
Inbound ah spi: 301 ,
key: 000102030405060708090a0b0c0d0e0f ,
Outbound esp spi: 300 ,
cipher key: 1234567812345678 ,
auth key ,
Outbound ah spi: 301 ,
key: 000102030405060708090a0b0c0d0e0f
Transform sets={ 1}
Crypto Map aaa 101 ipsec-isakmp
Extended IP access list bbb
permit ip 191.1.1.0 255.255.255.0 197.7.7.0 255.255.255.0
peer = 192.2.2.19
PFS (Y/N): N
Security association lifetime: 2560 kilobytes/3600 seconds
Transform sets={ 1, 2,}
相关命令
无
加密变换配置态下,要设置变换类型,使用transform-type命令。
transform-type transform1 [transform2[transform3]]
参数
参数 | 参数说明 |
---|---|
transform1]/ transform2/ transform3 | 可以指定3个以下的变换。这些变换定义了IPSec安全协议和算法。可接受的变换值在“使用说明”中详细阐述。 |
缺省
缺省的变换类型为ESP-DES(ESP采用DES加密算法)。
命令模式
加密变换配置态
使用说明
变换集合可以指定一个或两个IPSec安全协议(或ESP,或AH,或两者都有),并且指定和选定的安全协议一起使用哪种算法。ESP和AH IPSec安全协议在“IPSec协议:封装安全协议和校验头”一节中做了详细阐述。
变换集合的定义可以指定一到三个变换——每个变换代表一个IPSec安全协议(ESP或AH)和想要使用的算法的组合。当IPSec安全联盟协商时使用了某一变换集合,整个变换集合(协议、算法和其它设置的组合)必须和对端的一个变换集合相匹配。
在一个变换集合中,可以指定AH协议、ESP或两者都指定。如果在变换集合中指定了一个ESP,那么可以只定义ESP加密变换,也可以ESP加密变换和ESP验证变换两者都定义。
下表中显示了可行的变换组合。
为变换集合选择变换:可行的变换组合 | |||||
---|---|---|---|---|---|
AH 变换中选择一种 | ESP加密变换中选择一种 | ESP验证变换中选择一种, | |||
变换 | 描述 | 变换 | 描述 | 变换 | 描述 |
ah-md5-hmac | 带MD5(HMAC变量)的AH验证算法 | esp-des | 采用DES的ESP加密算法 | esp-md5-hmac | 带MD5(HMAC变量)的ESP验证算法 |
ah-sha-hmac | 带SHA(HMAC变量)的AH验证算法 | esp-3des | 采用3DES的ESP加密算法 | esp-sha-hmac | 带SHA(HMAC变量)的ESP验证算法 |
IPSec协议:ESP和AH
ESP和AH协议都为IPSec提供了安全服务。
ESP提供了分组加密,以及可选的数据验证和抗重播服务。
AH提供了数据验证和抗重播服务。
ESP使用一个ESP头和一个ESP尾对受保护数据——或是一个完整的IP自寻址数据包(或仅是有效负载)——进行封装。AH是嵌入在受保护数据中的;它将一个AH头直接插入在外部IP头后、内部IP数据包或有效负载前。隧道模式中要对整个IP数据报文进行封装和保护,而传送模式中只对IP数据报文中的有效负载进行封装/保护。要进一步了解这两种模式,请参阅mode命令的描述。
选择适当的变换
IPSec变换比较复杂。下面的提示能够帮助你选择适合自己情况的变换:
l 如果想要提供数据机密性,那么可以使用ESP加密变换。
l 如果想要提供对外部IP报头以及数据的数据验证,那么可以使用AH变换。
l 如果使用一个ESP加密变换,那么可以考虑使用ESP验证变换或AH变换来提供变换集合的验证服务。
l 如果想要数据验证功能(或使用ESP或使用AH),可以选择MD5或SHA验证算法。SHA算法比MD5要健壮,但速度更慢。
加密变换配置态
在执行了crypto ipsec transform-set命令以后,就将进入加密变换配置态。在这种状态下,可以将模式改变到隧道模式或传输模式(这是可选的改变)。在做完这些改变以后,键入exit来返回到全局配置态下。要深入了解这些可选改变的信息,请参看mode命令的详细阐述。
改变现存的变换
如果在transform-type命令中为一个变换集合指定一个或多个变换,那么指定的这些变换将会替换掉变换集合中现存的变换。如果改变了transform-type,改变将只被运用到引用了此变换集合的加密映射表上。但改变将不会被运用到现存的安全联盟上,会被用于新建立的安全联盟。如果想让新的设置立即生效,可以使用clear crypto sa命令来清除安全联盟数据库的部分或全部。
示例
以下例子定义了一个变换集合。
crypto ipsec transform-set one
transform-type esp-des esp-sha-hmac
相关命令
crypto ipsec transform-set
mode
set transform-set
show crypto ipsec transform-set
本章讨论Internet密钥交换安全协议(IKE)的命令。
IKE是一种密钥管理协议标准,与IPSec 协议结合使用。
IPSec 可以不使用用IKE,但是IKE通过提供额外的功能、灵活性以及对IPSec 标准配置的简化,增强了IPSec 的功能。
IKE是一种混合协议,在因特网安全协会及密钥管理协议(ISAKMP)框架内实现了Oakley密钥交换和Skeme密钥交换(ISAKMP,Oakley和Skeme是由IKE实现的安全协议)。
要在IKE策略中指定认证方法,使用ISAKMP策略配置命令authentication(IKE policy)。IKE策略定义一组在IKE协商期间使用的参数。使用该命令的no形式来恢复认证方法的缺省值。
authentication { pre-share|rsa-sig|rsa-encr}
no authentication { pre-share|rsa-sig|rsa-encr}
参数
参数 | 参数说明 |
---|---|
pre-share | 指定预共享密钥作为认证方法。 |
rsa-sig | 指定RSA签名作为认证方法。 |
rsa-encr | 指定RSA实时加密作为认证方法。 |
缺省
预共享密钥认证方法
命令模式
ISAKMP策略配置态
使用说明
使用该命令指定用在IKE策略中的认证方法。
指定预共享密钥,则必须同时分别配置这些预共享密钥(crypto isakmp key命令)。
示例
本例配置IKE策略,使用预共享密钥作为其认证方法(所有其它参数为缺省值):
router_config#crypto isakmp policy 10
router_config_isakmp# authentication pre-share
router_config_isakmp# exit
router_config #
相关命令
crypto isakmp key
crypto isakmp policy
encryption(IKE policy)
group(IKE policy)
hash(IKE policy)
lifetime(IKE policy)
show crypto isakmp policy
要清除正在运行的IKE连接,使用全局配置命令clear crypto isakmp。
clear crypto isakmp [map map-name | peer ip-address]
参数
参数 | 参数说明 |
---|---|
map map-name | (可选)清除名为map-name的加密映射表的IKE连接。 |
peer ip-address | (可选)清除对端地址为ip-addressIKE连接。 |
缺省
如果没有使用map,peer参数,则在发出该命令时清除所有存在的IKE连接。
命令模式
管理态
使用说明
使用该命令清除活动的IKE连接。
示例
本例清除isakmp连接。
Router# show crypto isakmp sa
dst src state state-id conn
192.2.2.19 192.2.2.199 <I>M_SA_SETUP 1 aaa 100
Route# clear crypto isakmp
Router# exit
Router#show crypto isakmp sa
Router#
相关命令
show crypto isakmp sa
要配置预共享认证密钥,使用全局配置命令crypto isakmp key。无论何时在IKE策略中指定预共享密钥,都必须配置该密钥。使用该命令的no形式删除预共享认证密钥。
crypto isakmp key keystring peer-address
no crypto isakmp key keystring peer-address
参数
参数 | 参数说明 |
---|---|
keystring | 指定预共享密钥。使用最多128字节的字母数字字符的任意组合。该预共享密钥必须在两端上完全一样。 |
peer-address | 指定远端的IP地址。 |
缺省
没有缺省的预共享认证密钥。
命令模式
全局配置态
使用说明
如果IKE策略中包括预共享密钥作为认证方法,这些预共享密钥必须在两端上配置;否则,该策略不能使用(IKE过程将不会提交该策略用于匹配)。
示例
指定预共享密钥,并用IP地址指定远程终端:
crypto isakmp key abcdefghijkl 192.2.2.1
相关命令
authentication (IKE policy)
要定义IKE策略,使用全局配置命令crypto isakmp policy。IKE策略定义一套参数在IKE协商期间使用。使用该命令的no形式来删除IKE策略。
crypto isakmp policy priority
no crypto isakmp policypriority
参数
参数 | 参数说明 |
---|---|
priority | 标识IKE策略的优先级。使用1到10000的整数,1是最高优先级而10000是最低优先级。 |
缺省
存在一条缺省的策略,该策略总是最低优先级。这条缺省的策略中加密、哈希、认证,Diffie-Hellman组和生命期参数均为缺省值。
在创建一条IKE策略时,如果不给特定参数指定值,则该参数使用缺省值。
命令模式
全局配置态
使用说明
使用该命令指定在IKE协商期间要使用的参数(这些参数用来创建IKE SA)。
使用此命令进入ISAKMP策略配置态,在ISAKMP策略配置态中,下面的命令在指定策略中的参数值是有效的:
encryption(IKE policy);缺省值=56比特DES-CBC
hash(IKE policy); 缺省值=SHA-1
authentication(IKE policy); 缺省值=Pre-Shared Key
group(IKE policy); 缺省值=768比特Diffie-Hellman
lifetime(IKE policy); 缺省值=86400秒
如果不给策略指定这些命令中的某一个,则将使用该参数的缺省值。
可以给参与IPSec 的两端配置多个IKE策略。在IKE协商开始时,将试图找到在两端配置的公共策略,从对端上所指定的最高优先级的策略开始。
示例
下面的示例配置两条ISAKMP策略:
crypto isakmp policy 10
hash md5
authentication pre-share
group 2
lifetime 5000
crypto isakmp policy 20
authentication pre-share
lifetime 10000
上面的配置结果为下面的策略:
Router# show crypto isakmp policy
Protection suite of priority 10
encryption algorithm: DES - Data Encryption Standard (56 bit keys).
hash algorithm: Message Digest 5
authentication method: Pre-Shared Key
Diffie-Hellman group: #1 (768 bit)
lifetime: 5000 seconds
Protection suite of priority 20
encryption algorithm: DES - Data Encryption Standard (56 bit keys).
hash algorithm: Secure Hash Standard
authentication method: Pre-Shared Key
Diffie-Hellman group: #1 (768 bit)
lifetime: 10000 seconds
Default protection suite
encryption algorithm: DES - Data Encryption Standard (56 bit keys).
hash algorithm: Secure Hash Standard
authentication method: Pre-Shared Key
Diffie-Hellman group: #1 (768 bit)
lifetime: 86400 seconds
相关命令
authentication(IKE policy)
encryption(IKE policy)
group(IKE policy)
hash(IKE policy)
lifetime(IKE policy)
show crypto isakmp policy
在IKE的协商过程中,查看相关的报文交互处理信息。
参数
无
缺省
缺省情况下不显示相关信息。
命令模式
管理态
使用说明
显示和IKE协商相关的一些重要信息,下表列举了几种常见的信息。
显示信息 | 信息含义 |
---|---|
ISAKMP(xxx): no acceptable Oakley Transform ISAKMP(xxx):negotiate error NO_PROPOSAL_CHOSEN | 双方配置的ISAKMP策略不匹配。(对端发起协商) |
ISAKMP(xxx): no acceptable Proposal in IPsec SA ISAKMP(xxx):negotiate error NO_PROPOSAL_CHOSEN | 双方配置的IPSec策略不匹配。(对端发起协商) |
ISAKMP(xxx): ISAKMP: not found matchable policy | 双方配置的IPSec规则不匹配。 |
ISAKMP(xxx): dealing with Notify Payload ISAKMP: Notify-Message: NO_PROPOSAL_CHOSEN | 双方配置的ISAKMP策略不匹配。(本端发起协商,第一阶段中) |
ISAKMP(xxx): dealing with Notify Payload ISAKMP: Notify-Message: NO_PROPOSAL_CHOSEN | 双方配置的IPSec策略不匹配,或配置的规则(access-list)不匹配。(本端发起协商,第二阶段中) |
ISAKMP(xxx): negotiate error ATTRIBUTES-NOT-SUPPORTED | 本端不支持对端建议的属性。(对端发起协商) |
ISAKMP(xxx): dealing with Notify Payload ISAKMP:Notify-Message: ATTRIBUTES-NOT-SUPPORTED | 对端不支持本端建议的属性。(本端发起协商) |
相关命令
show crypto ipsec sa
show crypto isakmp sa
debug crypto packet
要在IKE策略内指定加密算法,使用ISAKMP策略配置命令encryption(IKE policy)。IKE策略定义一套参数,在IKE协商期间使用这些参数。使用该命令的no形式恢复加密算法为缺省值。
encryption {des|3des}
no encryption {des|3des}
参数
参数 | 参数说明 |
---|---|
des | 指定DES作为加密算法。 |
3des | 指定3DES作为加密算法。 |
缺省
DES加密算法。
命令模式
ISAKMP策略配置态
使用说明
使用该命令指定在IKE策略中使用的加密算法。
示例
本示例配置IKE策略中加密算法为DES加密算法(所有其它参数设置为缺省值):
router_config# crypto isakmp policy 10
router_config_isakmp# encryption des
router_config_isakmp# exit
router_config#
相关命令
authentication(IKE policy)
crypto isakmp policy
group(IKE policy)
hash(IKE policy)
lifetime(IKE policy)
show crypto isakmp policy
要在IKE策略内指定Diffie-Hellman组,使用ISAKMP策略配置命令group(IKE policy)。IKE策略定义一套参数,在IKE协商期间使用这些参数。使用该命令的no形式恢复Diffie-Hellman组为缺省值。
group {1|2}
no group {1|2}
参数
参数 | 参数说明 |
---|---|
1 | 指定768比特Diffie-Hellman组。 |
2 | 指定1024比特Diffie-Hellman组。 |
缺省
768比特Diffie-Hellman组(group 1)。
命令模式
ISAKMP策略配置态
使用说明
使用该命令指定IKE策略中使用的Diffie-Hellman组。
示例
本示例配置IKE策略为1024比特Diffie-Hellman组(所有其它参数设置为缺省值):
router_config# crypto isakmp policy 10
router_config _isakmp# group 2
router_config _isakmp# exit
router_config#
相关命令
authentication(IKE policy)
crypto isakmp policyen
cryption(IKE policy)
hash(IKE policy)
lifetime(IKE policy)
show crypto isakmp policy
要在IKE策略内指定哈氏算法,使用ISAKMP策略配置命令hash(IKEpolicy)。IKE策略定义一套参数,在IKE协商期间使用这些参数。使用该命令的no形式恢复哈希算法为缺省的SHA-1哈希算法。
hash {sha|md5}
no hash {sha|md5}
参数
参数 | 参数说明 |
---|---|
sha | 指定SHA-1(HMAC变体)作为哈希算法。 |
md5 | 指定MD5(HMAC变体)作为哈希算法。 |
缺省
SHA-1哈希算法
命令模式
ISAKMP策略配置态
使用说明
使用该命令指定IKE策略中使用的哈希算法。
示例
本示例配置IKE策略为使用MD5哈希算法(所有其它参数设置为缺省值):
router_config # crypto isakmp policy 10
router_config _isakmp# hash md5
router_config _isakmp# exit
router_config#
相关命令
authentication(IKE policy)
crypto isakmp policy encryption(IKE policy)
group(IKE policy)
lifetime(IKE policy)
show crypto isakmp policy
要描述IKE SA的生命期,使用ISAKMP策略配置命令lifetime(IKE policy)。使用该命令的no形式恢复SA生命期为缺省值。
lifetime seconds
no lifetime seconds
参数
参数 | 参数说明 |
---|---|
seconds | 指定每个IKE SA在失效之前存在的秒数。使用60到86400秒之间的整数。 |
缺省
86400秒
命令模式
ISAKMP策略配置态
使用说明
使用该命令指定IKE SA在失效之前存在多长时间。
当IKE开始协商时,首先为其对话在安全参数上达成一致。这些一致的参数由SA引用。IKE SA一直保留,直到其生命期失效。在IKE SA失效之前,它可以被后续的IKE协商重新使用,这在设置新的IPSec SA时可以节省时间。新的IKE SA在当前IKE SA失效之前协商。
因此,要节省设置IPSec 的时间,应配置较长的IKE SA生命期。配置的生命期越短,IKE协商可能会越安全。
注意:
当本端发起与对端之间的IKE协商时,只有对端策略的生命期比本端的策略的生命期短或者相等,才可以选择该策略。
如果生命期不相等,选择较短的生命期。
示例
本示例配置IKE策略的安全协会生命期为600秒(所有其它参数设置为缺省值):
router_config# crypto isakmp policy 10
router_config_isakmp# lifetime 600
router_config_isakmp# exit
router_config#
相关命令
authentication(IKE policy)
crypto isakmp policy
encryption(IKE policy)
group(IKE policy)
hash(IKE policy)
show crypto isakmp policy
要浏览每个IKE策略的参数,使用show crypto isakmp policy。
show crypto isakmp policy
参数
该命令没有参数。
命令模式
管理态
示例
下面是配置了两个IKE策略(分别为优先级10和20)后show crypto isakmp policy命令的输出:
router# show crypto isakmp policy
Protection suite of priority 10
encryption algorithm: DES - Data Encryption Standard (56 bit keys).
hash algorithm: Message Digest 5
authentication method: Pre-Shared Key
Diffie-Hellman group: #1 (768 bit)
lifetime: 5000 seconds
Protection suite of priority 20
encryption algorithm: 3DES - Triple Data Encryption Standard.
hash algorithm: Secure Hash Standard
authentication method: Pre-Shared Key
Diffie-Hellman group: #2 (1024 bit)
lifetime: 10000 seconds
Default protection suite
encryption algorithm: DES - Data Encryption Standard (56 bit keys).
hash algorithm: Secure Hash Standard
authentication method: Pre-Shared Key
Diffie-Hellman group: #1 (768 bit)
lifetime: 86400 seconds
相关命令
authentication(IKE policy)
crypto isakmp policy
encryption(IKE policy)
group(IKE policy)
hash(IKE policy)
lifetime(IKE policy)
要显示所有当前IKE SA,使用show crypto isakmp sa。
show crypto isakmp sa
参数
该命令没有参数。
命令模式
管理态
使用说明
示例下面是在两台终端之间成功地完成IKE协商之后,show crypto isakmp sa命令的输出范例:
MyPeerRouter# show crypto isakmp sa
dst src state state-id conn
192.2.2.19 192.2.2.199 <I>Q_SA_SETUP 2 aaa 100
192.2.2.19 192.2.2.199 <I>M_SA_SETUP 1 aaa 100
下面表格显示在show crypto isakmp sa命令的输出中可能显示的各种不同的状态。当存在ISAKMP SA时,则它大多数时候为静止状态(Q_SA_SETUP)。
主模式交换中的状态:
状态 | 解释 |
---|---|
M_NO_STATE | 该阶段为“初期”阶段,没有状态。 |
M_SA_EXCH | 终端已经形成ISAKMP SA的参数。 |
M_KEY_EXCH | 终端已经交换Diffie-Hellman公共密钥,并且产生了共享的秘密。ISAKMP SA还未认证。 |
M_SA_SETUP | ISAKMP SA已经认证。开始快速模式交换。 |
快速模式交换中的状态:
状态 | 解释 |
---|---|
Q_IDLE_1 | 快速模式状态1。 |
Q_IDLE_2 | 快速模式状态2。 |
Q_SA_SETUP | IPSec SA协商成功。 |
相关命令
crypto isakmp policy
lifetime(IKE policy)
Web认证命令包括:
l web-auth enable
l web-auth accounting
l web-auth authentication
l web-auth keep-alive
l web-auth holdtime
l web-auth authtime
l web-auth portal-server
l web-auth kick-out
l show web-auth
l show web-auth interface
l show web-auth user
l debug web-auth event
l debug web-auth error
l debug web-auth verbose
l debug web-auth http event
l debug web-auth http request
l debug web-auth http
l debug web-auth
命令描述
web-auth enable
no web-auth enable
参数
无
缺省
未开启web认证
说明
在路由接口(以太网类型)上开启web认证功能,如果不开启web认证功能,通过该路由接口的报文不受web认证的控制。
命令模式
接口配置模式
示例
下面的命令在 interface FastEthernet0/0上开启web认证:
Router_config_f0/0#web-auth enable
命令描述
web-auth accounting method-name
no web-auth accounting
参数
参数 | 参数说明 |
---|---|
Method- name | 在aaa中配置的认证方法列表。取之范围:N/A。 |
缺省
无认证方法
说明
系统在用户登录后后将使用配置的计费方法进计费,如果计费操作不成功,则通知用户认证失败。如果未配置计费方法,则按“default”方法处理。
命令模式
接口配置模式
示例
下面的命令先配置一个名为weba-acct的计费方法列表,然后在 interface FastEthernet0/0上使用该方法:
Router_config# aaa accounting network weba-acct start-stop radius
Router_config_f0/0# web-auth account weba-acct
命令描述
web-auth authentication method-name
no web-auth authentication
参数
参数 | 参数说明 |
---|---|
Method- name | 在aaa中配置的计费方法列表。取值范围:N/A。 |
缺省
无认证方法
说明
系统在用户登录后后将使用配置的认证方法进认证,如果认证操作不成功,则通知用户认证失败。如果未配置认证方法,则按“default”方法处理。
命令模式
接口配置模式
示例
下面的命令先配置一个名为weba-auth的认证方法列表,然后在 FastEthernet0/0上使用该方法:
Router_config# aaa authentication login weba local
Router_config_f0/0# web-auth authentication weba
命令描述
web-auth keep-alive keep-alive-time
noweb-auth keep-alive
参数
参数 | 参数说明 |
---|---|
keep-alive-time | 用户浏览器向路由器发送在线通知的周期,以秒为单位。取值范围:60-65535。 |
缺省
60秒
说明
在重新配置keep alive之后,已经通过认证的用户的浏览器将在按原来的的周期发送一次在线通知报文后启用新的发送周期;在配置keep alive之后才通过认证的用户的浏览器将立即以配置后的周期发送在线通知报文。
命令模式
管理配置模式
示例
下面的命令将用户浏览器向路由器发送在线通知的周期设为180秒:
Router_config#web-auth keep-alive 180
命令描述
web-auth holdtime holdtime
no web-auth holdtime
参数
参数 | 参数说明 |
---|---|
holdtime | 路由器检测用户是否在线的定时器时长。取值范围:60-65535。 |
缺省
180秒
说明
路由器通过用户浏览器发送的在线通知报文来检测用户是否在线,如果超过holdtime的时长没有收到在线通知报文,路由器将认为该用户非正常下线,强制该用户登出,并停止对该用户的计费。
命令模式
管理配置模式
示例
下面的命令将holdtime设置为600秒。
Router_config#web-auth holdtime 600
命令描述
web-auth authtimeauthtime
no web-authtime
参数
参数 | 参数说明 |
---|---|
authtime | 从用户分配到dhcp地址开始到通过认证(包括计费)的最长时间。取值范围:60-65535。 |
缺省
180秒
说明
在用户使用dhcp协议后路由器将为期分配一定的资源以便于认证,如果用户在authtime之内没有通过认证,路由器将释放为其分配的资源。如果用户需要再次发起认证,则需要重新利用dhcp触发路由器为其分配认证资源。
命令模式
管理配置模式
示例
下面的命令将authtime设置为360秒:
Router_config#web-auth authtime 360
命令描述
web-auth portal-server A.B.C.D
no web-auth portal-server
参数
参数 | 参数说明 |
---|---|
A.B.C.D | 用户在通过认证前,使用域名进行web访问时,实际访问到的目的地址。取值范围:路由器上可访问的接口的IP地址。 |
缺省
无
说明
用户在通过认证前,进行DNS解析时,其DNS应答报文中的answer段的IP地址被修改为portal server的地址,这样用户的http请求就被重定向到portal server,路由器内置的portal server根据当前的配置给用户返回相应的web页面。
命令模式
管理配置模式
示例
下面的命令将portal server的地址设置为192.168.20.41。
Router_config#web-auth portal-server 192.168.20.41
命令描述
web-auth kick-out A.B.C.D
参数
参数 | 参数说明 |
---|---|
A.B.C.D | 用户的IP地址。取值范围:N/A。 |
缺省
无
说明
此命令将给定IP的用户从路由器删除,如果删除之前已经开始对用户计费,删除时路由器会停止对该用户的计费。删除后用户如果要再次通过认证,需要使用dhcp分配地址来重新触发认证过程。
命令模式
管理配置模式
示例
下面的命令删除IP地址为192.168.20.43的用户:
Router_config#web-auth kick-out 192.168.20.43
命令描述
show web-auth
参数
无
缺省
无
说明
该命令用来显示路由器中当前的web认证配置。
命令模式
特权模式
示例
下面的命令显示路由器中当前的web认证配置:
Router_config#show web-auth
web authentication parameters
holdtime 3600
authtime 600
keep-alive 60
portal-server 192.168.20.41
命令描述
show web-auth interface[Ethernet|FastEthernet] interface number
参数
参数 | 参数说明 |
---|---|
interface number | 路由接口编号。取值范围:N/A。 |
缺省
无
说明
该命令用来显示路由器中指定接口的web认证配置。
命令模式
特权模式
示例
下面的命令显示 interface FastEthernet0/0下面的web认证配置:
Router_config#show web-auth interface FastEthernet0/0
web authentication parameters
web-auth enable
account-method weba-acct
authen-method weba
mode user
命令描述
show web-auth user
参数
无
缺省
无
说明
该命令用来显示路由器中当前的所有用户,包括已经通过认证的用户和尚未完成认证的用户。
命令模式
特权模式
示例
下面的命令显示当前的用户:
Router#show web-auth user
IP MAC-ADDR state remain-time(seconds)
192.168.20.42 0008.74b7.3de1 WEBA_USER_AUTHENTICATED 3572
-------------------------------------
authenticated users: 1, authenticating users: 0
命令描述
debug web-auth event
参数
无
缺省
无
说明
该命令用来输出web认证过程中的事件信息,比如收到认证请求、认证失败、通过认证、用户登出等事件。
命令模式
特权模式
示例
Router#debug web-auth event
命令描述
debug web-auth error
参数
无
缺省
无
说明
该命令用来输出一切错误信息,用于错误的定位。
命令模式
特权模式
示例
Router#debug web-auth error
命令描述
debug web-auth verbose
参数
无
缺省
无
说明
该命令使 debug web-auth event命令输出的信息更加详细,使其在可能的情况下输出和事件相关的用户的mac地址。
命令模式
特权模式
示例
Router#debug web-auth verbose
命令描述
debug web-auth http event
参数
无
缺省
无
说明
该命令用来输出web认证中和http相关的事件信息,比如收到socket连接请求,socket断开等。
命令模式
特权模式
示例
Router#debug web-auth http event
命令描述
debug web-auth request
参数
无
缺省
无
说明
该命令用来输出http请求的内容。
命令模式
特权模式
示例
Router#debug web-auth http request
命令描述
debug web-auth http
参数
无
缺省
无
说明
该命令相当于同时执行了debug web-auth http event和debug web-auth request
命令模式
特权模式
示例
Router#debug web-auth http
命令描述
debug web-auth
参数
无
缺省
无
说明
该命令相当于同时打开web认证的所有调试开关。
命令模式
特权模式
示例
Router#debug web-auth
802.1x的配置命令有:
l dot1x enable
l dot1x port-control
l dot1x multiple-hosts
l dot1x default
l dot1x max-req
l dot1x reauth-max
l dot1x re-authentication
l dot1x timeout quiet-period
l dot1x timeout re-authperiod
l dot1x timeout tx-period
l dot1x user-permit
l dot1x authentication method
l dot1x authen-type、dot1x authentication type
l aaa authentication dot1x
l debug dot1x error
l debug dot1x state
l debug dot1x packet
l show dot1x
l show dot1xmac
命令描述
dot1x enable
no dot1x enable
参数
无
缺省
无
使用说明
使能802.1x功能,如果没有使能802.1x功能,则在端口下是不能启动802.1x功能的,如果禁止802.1x功能则,所有802.1x功能的端口将取消掉802.1x功能,同时,所有的802.1x报文将不会被CPU接收,而会象一般的组播报文一样在vlan内转发。
命令模式
全局配置模式
示例
下面的命令将启动dot1x。
Switch(config)#dot1x enable
Switch(config)#
命令描述
dot1x port-control {auto|force-authorized|force-unauthorized}
no dot1x port-control
参数
参数 | 参数说明 |
---|---|
auto | 启用802.1x协议认证方式。 |
force-authorized | 取消802.1x协议认证。 |
force-unauthorized | 强制设置该端口为不可存取。 |
缺省
force-authorized
使用说明
802.1x协议是一种两层的基于端口的认证方式,使用auto命令可以启动该认证方式,该认证方式只能配置于物理端口,且该端口属性不能是vlan主干、动态存取、安全端口、监控端口。
命令模式
接口配置模式
示例
下面的命令将在f0/24上启动802.1x。
Switch(config_f0/24)# dot1x port-control auto
Switch(config_f0/24)#
下面的命令先将f0/23配置为vlan主干,然后启动802.1x。
Switch(config_f0/23)#switchport mode trunk
Switch(config_f0/23)#dot1x port-control auto
802.1x Control Failed, 802.1x cannot cmd on vlanTrunk port(f0/23)
Switch(config_f0/23)#
命令描述
dot1x multiple-hosts
no dot1x multiple-hosts
参数
无
缺省
禁止801.1x的多客户端认证。
使用说明
802.1x的认证主要对单个主机用户进行认证,这时,交换机只允许一个用户进行认证、访问控制,其他用户是不能进行认证和访问的,除非前一个用户退出认证、访问过程;然而有时端口可能通过不支持802.1x的交换设备(例如1108交换机)与多个主机相连接,为了使这些主机用户都能访问,可以启动多主机端口访问功能。
将一个端口配置为802.1x的多主机认证后,交换机将对不同的台主机用户进行认证,当认证通过后,交换机将允许该主机通过交换机进行访问(使用主机的MAC进行控制)。
命令模式
接口配置模式
示例
下面的命令将在f0/24上启动多主机端口认证。
Switch(config_f0/24)# dot1x multiple-hosts
Switch(config_f0/24)#
命令描述
dot1x default
参数
无
缺省
无
使用说明
将所有的全局配置恢复到默认配置。
命令模式
全局配置模式
示例
下面的命令将dot1x所有的配置参数恢复到默认值。
Switch(config)#dot1x default
Switch(config)#
命令描述
dot1x max-req count
no dot1x max-req
参数
参数 | 参数说明 |
---|---|
count | 身份认证请求的最大次数,范围1-10。 |
缺省
2
使用说明
根据不同的网络环境,更改身份认证请求的最大次数设置,以保证客户端与认证服务器间的认证通过。
命令模式
全局配置模式
示例
下面的命令将配置dot1x身份认证请求的最大次数为4。
Switch(config)#dot1x max-req 4
Switch(config)#
命令描述
dot1x reauth-max count
no dot1x reauth-max
参数
参数 | 参数说明 |
---|---|
count | 认证重试的最大次数,范围1-10。 |
缺省
4
使用说明
设置重复认证的次数,超过该次数的认证,客户机没有响应,认证将会被挂起。
命令模式
全局配置模式
示例
下面的命令将配置dot1x身份认证请求的最大次数为5。
Switch(config)#dot1x reauth-max 5
Switch(config)#
命令描述
dot1x re-authentication
no dot1x re-authentication
参数
无
缺省
无
使用说明
启动重认证功能,当端口认证通过以后,还会周期性的向主机进行认证,该周期可以通过命令dot1x timeout re-autjperiod,进行配置。
命令模式
全局配置模式
示例
下面的命令将启动重认证功能。
Switch(config)#dot1x re-authentication
Switch(config)#
命令描述
dot1x timeout quiet-period time
no dot1x timeout quiet-period
参数
参数 | 参数说明 |
---|---|
time | dot1x重启动认证的周期,范围0-65535s。 |
缺省
60s
使用说明
在认证失败后有一段安静时间,在该时间内,交换机将不会接受或启动任何认证。
命令模式
全局配置模式
示例
下面的命令将配置quiet-period的值为40。
Switch(config)#dot1x timeout quiet-period 40
Switch(config)#
命令描述
dot1x timeout re-authperiod time
no dot1x timeout re-authperiod
参数
参数 | 参数说明 |
---|---|
time | dot1x重认证的周期值,1-4294967295s。 |
缺省
3600s
使用说明
该命令只有在启动重认证后才会产生作用。
命令模式
全局配置模式
示例
下面的命令将配置dot1x重认证的周期为7200s。
Switch(config)# dot1x timeout re-authperiod 7200
Switch(config)#
命令描述
dot1x timeout tx-period time
no dot1x timeout tx-period
参数
参数 | 参数说明 |
---|---|
time | 时间,1- 65535s。 |
缺省
30s
使用说明
该命令可以等待主机客户端响应认证请求的时间间隔,超过该时间交换机将重发认证请求。
命令模式
全局配置模式
示例
下面的命令将配置发送频率为24。
Switch(config_f0/0)# dot1x timeout tx-period 24
Switch(config_f0/0)#
命令描述
dot1x user-permit xxx yyy zzz
no dot1x user-permit
参数
参数 | 参数说明 |
---|---|
xxx | 用户名。 |
yyy | 用户名。 |
zzz | 用户名。 |
缺省
没有用户绑定,所有用户都通过。
使用说明
该命令配置端口下绑定的用户,每一个端口下可以绑定8个用户;当启动802.1x认证时,只会对绑定的用户名执行认证,其他用户不执行认证,肯定认证失败。
命令模式
端口配置模式
示例
下面的命令将f0/1配置绑定用户为a、b、c、d。
Switch(config_f0/1)# dot1x user-permit a b c d
Switch(config_f0/1)#
命令描述
dot1x authentication method xxx
no dot1x authentication method
参数
参数 | 参数说明 |
---|---|
xxx | 方法名。 |
缺省
“default”方法。
使用说明
该命令配置端口下的认证方法,该方法应是AAA中提供的认证方法之一,每一个端口只使用一种方法;当AAA对802.1x的用户进行认证时,AAA将会选择配置的认证方法执行认证。
命令模式
端口配置模式
示例
下面的命令将在端口f0/1配置认证方法为abcd,该方法使用本地用户名认证;在端口f0/2配置认证方法为efgh,该方法使用radius远程认证。
Switch(config) #aaa authentication dot1x abcd local
Switch(config) #aaa authentication dot1x efgh radius
Switch(config) #int f0/1
Switch(config_f0/1)# dot1x authentication method abcd
Switch(config_f0/1)# int f0/2
Switch(config_f0/2)# dot1x authentication method efgh
命令描述
dot1x authen-type {chap|eap}
no dot1x authen-type
配置全局下dot1x的认证类型,no命令恢复为默认值。
dot1x authentication type {chap|eap}
no dot1x authentication type
配置端口下dot1x的认证类型,no命令恢复为默认值。
参数
None
缺省
全局下默认为chap
端口下默认为全局下的配置类型。
使用说明
该命令配置认证类型,该类型将决定AAA使用Chap或Eap认证;使用Chap时MD5所需的challenge将在本地产生,而使用Eap时challenge将认证服务器上产生;每一个端口只使用一种认证类型,默认情况下该类型使用全局配置的认证类型,当端口配置了认证类型时就一直使用该认证类型,除非使用No命令恢复到默认值。
命令模式
端口和全局配置模式
示例
下面的命令将在端口f0/1配置认证类型为Chap,全局认证类型为Eap。
Switch(config) #dot1x authen-type eap
Switch(config) #int f0/1
Switch(config_f0/1)# dot1x authentication type chap
命令描述
aaa authentication dot1x {default} method1 [method2...]
no aaa authentication dot1x {default} method1 [method2...]
参数
参数 | 参数说明 |
---|---|
Default | 当用户认证时使用以下的方法。 |
method1 [method2...] | enable 、group radius、line、local、local-case、none |
缺省
没有认证
使用说明
method参数提供一系列的方法对客户主机提供的密码进行认证,对802.1x的aaa认证方式最好采用radius认证,也可以使用本地配置数据进行认证,如本地保存于配置中的用户密码、使用enable和line的密码等等。
命令模式
全局配置模式
示例
下面的命令将配置dot1x认证方式为radius。
Switch(config)#aaa authentication dot1x default radius
Switch(config)#
命令描述
debug dot1x error
参数
无
缺省
无
使用说明
用来输出在dot1x运行中出现的一切错误信息,用于错误的定位。
命令描述
debug dot1x state
参数
无
缺省
无
使用说明
输出格式如下:
2003-3-18 17:40:09 802.1x:AuthSM(F0/10) state Connecting-> Authenticating, event rxRespId
2003-3-18 17:40:09 802.1x:F0/10 Create user for Enter authentication
2003-3-18 17:40:09 802.1x:BauthSM(F0/10) state Idle-> Response, event authStart
2003-3-18 17:40:09 802.1x:F0/10 user "myname" denied, Authentication Force Failed
2003-3-18 17:40:09 802.1x:F0/10 Authentication Fail
2003-3-18 17:40:09 802.1x:BauthSM(F0/10) state Response-> Fail, event aFail
命令描述
debug dot1x packet
参数
None
缺省
无
使用说明
2003-3-18 17:40:09 802.1x:F0/10 Tx --> Supplicant(0008.74bb.d21f)
EAPOL ver:01, type:00, len:5
EAP code:01, id:03, type:01, len:5
00
2003-3-18 17:40:09 802.1x:F0/10 Rx <-- Supplicant(0008.74bb.d21f)
EAPOL ver:01, type:00, len:10
EAP code:02, id:03, type:01, len:10
62 64 63 6f 6d a5
命令描述
show dot1x [interface intf-id]
这条命令用来显示802.1x配置信息。
参数
参数 | 参数说明 |
---|---|
intf-id | 具体的物理端口。 |
缺省
无
使用说明
显示802.1x配置信息。
命令模式
管理配置模式
示例
下面的命令将在端口F0/10配置dot1x port-control auto。
Switch_config#sho dot1x
802.1X Parameters
reAuthen No
reAuth-Period 3
quiet-Period 10
Tx-Period 30
Supp-timeout 30
Server-timeout 30
reAuth-max 4
max-request 2
authen-type Eap
IEEE 802.1x on port F0/10 enabled
Authorized Yes
Authen Type Eap
Authen Method default
Permit Users All Users
Multiple Hosts Disallowed
Supplicant aaa(0008.74bb.d21f)
Current Identifier 21
Authenticator State Machine
State Authenticated
Reauth Count 0
Backend State Machine
State Idle
Request Count 0
Identifier (Server) 20
Port Timer Machine
Auth Tx While Time 16
Backend While Time 16
reAuth Wait Time 3
Hold Wait Time 0
命令描述
show dot1xmac
这条命令用来显示802.1x认证mac地址列表信息。
参数
无
缺省
无
使用说明
显示802.1x认证mac地址列表信息。
命令模式
管理配置模式
示例
Switch_config#sho dot1xmac
%DOT1X AUTHORIZED MAC Information:
FastEthernet0/0 2 entries
MacAddr Vlan Type
00:e0:0f:0c:05:30 3 Static
08:00:3e:ff:77:e0 2 Dynamic