交换机认证
交换机的认证功能可对用户访问交换机的方式进行控制。
交换机默认使用本地定义的username密码及enable密码进行身份认证。
可以配置交换机使用认证服务器来执行认证功能,例如 RADIUS或TACACS+服务器。
在配置了RADIUS或TACACS+之后,如果认证服务器发生故障,启用本地认证的方式登录交换机尤为重要。
有时,安全 Shell( SSH)登录及802.1X端口认证需要配置身份认证功能。
配置
交换机认证功能指定了在允许用户访问用户模式或特权模式CLI提示符之前,核实用户身份的方法。认证方式可以使用交换机上的本地密码,也可以通过TACACS或RADIUS服务器来实现来授权用户。可使用下列命令来控制交换机上的用户身份认证功能。
1.配置本地认证。
默认的认证操作由交换机上的密码来处理。本章节列出的命令给出了如何启用或停用默认的认证方式。即使使用了服务器来进行认证,也不应该停用本地认证功能,因为如果认证服务器发生故障,本地认证可为其提供“后门”,或者说成另外一种认证选择。交换机具有两级的身份认证:用户级别和特权级别。以下命令给给出了针对每种级别控制身份认证的方法。
a.全局启用AAA功能。
(global)aaa new-model
(global)aaa authentication login {default | list-name} method1 [method2…]
此命令用来在交换机上全局地启用本地AAA认证功能,并在交换机上针对特定的访问方式启用用户级别的本地认证功能。
b.在线口上启用身份认证功能。
(global) line [aux I consolel tty I vty] line- number [ ending- line- number ]
(global)login authentication [default I list-name]
此命令用来在特定的线口上启用 AAA 身份认证功能。
2.配置TACACS认证。
还可以配置交换机使用TACACS服务器上的数据库对用户进行身份认证。使用这种方法,必须在TACACS服务器上配置用户名和密码。服务器配置完成后,可使用下面的命令来提供TACACS认证功能。
a. 配置TACACS服务器。
(global) tacacs-server host hostname [single-connection] [port integer] [timeout integer] [key string]
此命令用于指定TACACS服务器。前提是交换机已经配置了管理IP及网关来到达认证服务器。可以指定多台服务器,以防某台服务器功能出现故障。
b.启用用户级别的TACACS认证功能。
(global) aaa authentication login (default I list -name] method1 [method2...]
在指定了服务器地址之后,便可以使用tacacs选项针对对特定的访问方式启用用户级别的认证功能。如果连续指定多个认证选项,当第一种认证出现故障 2后,将尝试使用下一种方式认证,比如本地认证方式。
c.定义TACACS密钥。
(global) tacacs-server key key
由于TACACS服务器与交换机之间的信息是加密的,所以用户必须使用该命令,在交换机上定义TACACS守护进程加密所使用的密钥key。
3.配置RADIUS认证。
除了本地认证或 TACACS 服务器认证方式之外,还可以配置交换机使用RADIUS 服务器上的数据库对用户进行身份认证。使用这种方法,必须在 RADIUS服务器上配置用户名和密码。服务器配置完成后,可使用下面的命令来提供RADIUS 认证功能。
a.配置RADIUS服务器。
(global) radius-server host [hostname | ip-address] [ auth-port port-number] [ acct-port port-number] [key string]
此命令用于指定RADIUS服务器。前提是交换机已经配置了管理 IP 及网关来到达认证服务器。可以指定多台服务器,以防某台服务器功能出现故障。
b. 启用用户级别的RADIUS认证功能。
(global) aaa authentication login {default | list-name} method1 [method2…]
在指定了服务器地址之后,便可以使用 radius 选项针对对特定的访问方式启用用户级别的认证功能。如果连续指定多个认证选项,当第一种认证出现故障后,将尝试使用下一种方式认证,比如本地认证方式。
c. 定义RADIUS密钥。
(global) radius-server key string
由于RADIUS服务器与交换机之间的信息是加密的,所以用户必须使用该命令,在交换机上定义RADIUS守护进程加密所使用的密钥 key。
验证配置
可使用下列命令来验证身份认证的配置。
(privileged) show radius statistics
(privileged) show tacacs
配置实例
此例给出的是一台配置了身份认证功能的交换机。其使用地址为 192.68.1.10的 RADIUS 服务器作为Telnet用户的首选认证方法,还使用了地址为 192.168.1.8 的TACACS 服务器作为console用户的首选认证方法。TACACS的密钥为abc123,
RADIUS的密钥为789xyz。
配置如下。
Switch# conf t
Switch(config)# aaa new-model
Switch(config)# ip radius source-interface loopback 0
Switch(config)# radius-server host 192.168.1.10
Switch(config)# aaa authentication login CONSOLE group radius
Switch(config)# radius-server key 789xyz
Switch(config)# line console 0
Switch(config-line)# login authentication CONSOLE
Switch(config-line)# exit
Switch(config)# ip tacacs source-interface loopback 0
Switch(config)# tacacs-server host 192.168.1.8
Switch(config)# aaa authentication login TELNET group tacacs+
Switch(config)# tacacs-server key abc123
Switch(config)# line vty 0 4
Switch(config-line)# login authentication TELNET