在 IOS XR 上运行 XML 代理

网络工程 管理 cisco-ios-xr
2021-07-10 17:00:44

我正在尝试在 IOS XR 4.2.3 (ASR9K) 上配置专用的 XML 代理。API指南 说做

xml agent
aaa authorization exec default local

我做到了,我可以在端口 38751 上连接到路由器,但后来我得到了

telnet 10.1.1.1 38751

Escape character is '^]'.


User Access Verification

Username: aaronw
Password: blah


User Access Verification

Username: aaronw
Password: realpassword
Session start failed :'AAA API' detected the 'fatal' condition
'No method could process the authorisation request'Connection closed by foreign host.

所以如果我输入一个假密码,它知道这是错误的,并且不会再进一步​​,但是当我输入我的真实密码时,我似乎缺少授权引擎之间的某种链接和 XML 引擎。如果我取出 aaa authorizaion exec default local,我会得到一个稍微不同的错误:

Session start failed :'AAA API' detected the 'fatal' condition 
'Requested function is     not configured'

我知道链接的 API 指南是 4.1 版本,但我找不到同一文档的 4.2 版本。此外,XML tty 代理(即,在# 提示符下键入“XML”)确实按预期工作。

RP/0/RSP0/CPU0:ios#xml echo format 
Tue May 21 20:32:01.802 UTC
XML> exit
RP/0/RSP0/CPU0:ios#
1个回答

在IOS-XR中,授权的概念与经典IOS不同。在经典 IOS 中,只有命令授权,它允许或拒绝特定命令,通常发送到 tacacs+ 或 radius 服务器。在 IOS-XR 中,有命令授权(aaa 授权命令)(但最好通过任务组执行此操作)和 exec 授权(aaa authorization exec),它控制谁可以真正启动 exec 会话。

似乎使用普通访问方法(ssh/telnet 到 vtys),如果您通过了身份验证,则不需要其他授权,但如果您在其自己的专用端口上启动 XML 代理,则必须授权该使用在我的特殊情况下,我们使用 TACACS 服务器进行身份验证,我指定使用本地授权。路由器上不存在用户名,因此使用本地方法“aaa authorization exec default local”导致授权失败。将其更改为“aaa authorization exec group tacacs+ local”导致它从 TACACS 服务器获得“授权正常”,一切都很好。