Cisco EEM 3.0 中的 TCP 客户端/服务器

网络工程 思科 cisco-ios-12 cisco-eem
2021-07-12 21:13:50

我正在尝试使用 IOS 版本 12.4(24)T8 在 Cisco EEM 3.0 TCL 中设置客户端/服务器套接字(这是最近升级以确定问题是否是 EEM 版本)。

我有以下两个示例 Tcl 脚本(参考:http : //wiki.tcl.tk/15315

服务器.tcl:

::cisco::eem::event_register_none maxrun 120

namespace import ::cisco::eem::*
namespace import ::cisco::lib::*

proc accept {chan addr port} {
    puts "$addr:$port says [gets $chan]"
    puts $chan goodbye
    close $chan
}
socket -server accept 12345
vwait forever

客户端.tcl:

::cisco::eem::event_register_none maxrun 20

namespace import ::cisco::eem::*
namespace import ::cisco::lib::*

set chan [socket 10.0.0.2 12345]
puts $chan hello
flush $chan
puts "10.0.0.2:12345 says [gets $chan]"
close $chan

10.0.0.2 分配给环回。

当我通过“show control-plane host open-ports”命令显示监听端口时,12345的服务器端口正在监听,但客户端脚本不产生任何输出。将路由器(通过物理接口)telnet 到端口 12345 会导致连接被拒绝。未启用任何 ACL。

这些脚本在运行 ActiveTCL 8.5 的 Windows XP 计算机上运行。

这是 EEM 3.0 中的错误或安全功能吗?在 EEM 3.0 中启用 TCP 套接字是否需要任何其他命令或设置?

1个回答

我将从调试命令开始。我会开始

debug event manager tcl cli

https://supportforums.cisco.com/docs/DOC-12757 上的 EEM 最佳实践文档中有更多关于调试和故障排除的信息。