IOS 버전 12.4 (24) T8을 사용하여 Cisco EEM 3.0 TCL에서 클라이언트 / 서버 소켓을 설정하려고합니다 (이 문제는 최근 EEM 버전인지 확인하기 위해 업그레이드되었습니다).
다음 두 가지 Tcl 스크립트 예제가 있습니다 ( http://wiki.tcl.tk/15315 ).
Server.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
Client.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가 수신 대기 중이지만 클라이언트 스크립트는 출력을 생성하지 않습니다. 포트 12345에 대한 물리적 인터페이스를 통해 라우터에 대한 텔넷으로 인해 연결이 거부됩니다. 사용 가능한 ACL이 없습니다.
이 스크립트는 ActiveTCL 8.5를 실행하는 Windows XP 컴퓨터에서 작동합니다.
이것이 EEM 3.0의 버그 또는 보안 기능입니까? EEM 3.0 내에서 TCP 소켓을 활성화하려면 추가 명령 또는 설정이 필요합니까?
어떤 대답이 도움이 되었습니까? 그렇다면 질문에 대한 답변이 계속 나오지 않도록 답변을 수락해야합니다. 또는 자신의 답변을 제공하고 수락 할 수 있습니다.
—
Ron Maupin