Tôi đã quen với thế giới Juniper và Extreme hơn Cisco. Tôi có thể nhận được bằng OK, nhưng một số vấn đề cơ bản phát sinh cuối cùng đã làm tôi thất vọng đủ.
Bên trong Cisco ASA 5505/5510 chạy 8.3+ hoặc bộ định tuyến Cisco 2901 chạy 15.2.
Về mặt kỹ thuật với iOS 15.2, câu trả lời là "có, bạn có thể biết bạn đang định cấu hình giao diện nào" nhưng phải thừa nhận rằng giải pháp của tôi liên quan đến cách khắc phục lỗi khá khó chịu.
Tôi sẽ trình bày cách sử dụng EEM phiên bản 3.2 để in tên giao diện mà bạn đã cấu hình lần cuối. Tôi không giả vờ giải pháp này là hoàn hảo, nhưng nó hoàn thành công việc.
Ví dụ :
DEN-EDGE-02#sh ver | i IOS
Cisco IOS Software, 2800 Software (C2800NM-ADVENTERPRISEK9-M), Version 15.1(4)M7, RELEASE
SOFTWARE (fc2)
DEN-EDGE-02#
DEN-EDGE-02#conf t
Enter configuration commands, one per line. End with CNTL/Z.
DEN-EDGE-02(config)#username cisco password cisco
DEN-EDGE-02(config)#
DEN-EDGE-02(config)#interface Fa0/0
Last interface configured was: FastEthernet0/0
DEN-EDGE-02(config-if)#no ip proxy-arp
Last interface configured was: FastEthernet0/0
DEN-EDGE-02(config-if)#interface lo0
Last interface configured was: Loopback0
DEN-EDGE-02(config-if)#ip address 1.1.1.1 255.255.255.255
Last interface configured was: Loopback0
DEN-EDGE-02(config-if)#exit
Last interface configured was: Loopback0
DEN-EDGE-02(config)#
DEN-EDGE-02(config)#username cisco password cisco
Last interface configured was: Loopback0
DEN-EDGE-02(config)#end
DEN-EDGE-02#
DEN-EDGE-02#sh ver | i IOS
Cisco IOS Software, 2800 Software (C2800NM-ADVENTERPRISEK9-M), Version 15.1(4)M7, RELEASE
SOFTWARE (fc2)
DEN-EDGE-02#
Tại thời điểm này, câu trả lời của tôi gần hơn với mã bằng chứng khái niệm, có một số cảnh báo ...
- Ghi nhật ký giao diện xảy ra ngay cả sau khi thoát khỏi chế độ phụ cấu hình giao diện; do đó, bạn sẽ được nhắc nhở về giao diện nào bạn đã định cấu hình gần đây miễn là bạn vẫn ở bất kỳ chế độ cấu hình Cisco IOS nào. Chính sách EEM tự tắt tiếng sau khi thoát khỏi chế độ cấu hình với
end
- nhưng nó không bắt được lối ra cntl-z
tại thời điểm này.
- EEM cấu hình bộ định tuyến để lưu trữ các biến trạng thái tập lệnh (nghĩa là
$_user_intf
và $_config_mode
). Điều này có nghĩa là bạn nhận được %SYS-5-CONFIG_I
thông báo nhật ký hệ thống mỗi khi tập lệnh thay đổi trạng thái (điều này khá khó chịu nếu bạn đang ở trên bảng điều khiển). Về mặt kỹ thuật, bạn có thể dán chính sách ESM để tắt các thông báo nhật ký hệ thống EEM, nhưng điều đó chỉ làm tăng công việc bạn đang làm để giải quyết vấn đề này ...
Vui lòng tìm cấu hình để in giao diện được cấu hình cuối cùng bên dưới ... Tôi cần ghi công cho Ivan Pepelnjak cho blog của mình về_exit_status
! Reset to defaults...
no event manager applet IntfCliLog
no event manager environment _user_intf
no event manager environment _config_mode
!
event manager environment _user_intf _None_
event manager environment _config_mode 1
event manager applet IntfCliLog
event cli pattern ".*" sync yes
action 010 set match "_None_"
action 020 regexp "^(configure t)" $_cli_msg match
action 030 comment !! Set _config_mode upon entering config mode
action 040 if $match ne "_None_"
action 050 cli command "enable"
action 060 cli command "configure t"
action 070 cli command "event manager environment _config_mode 1"
action 080 cli command "end"
action 090 end
action 100 set match "_None_"
action 110 regexp "^(end)" $_cli_msg match
action 120 comment !! clear variables upon exit from config mode
action 130 if $match ne "_None_"
action 140 cli command "enable"
action 150 cli command "configure t"
action 160 cli command "event manager environment _config_mode 0"
action 170 cli command "event manager environment _user_intf _None_"
action 180 cli command "end"
action 190 end
action 200 comment !! Parse any "interface" commands
action 210 set intfName "_None_"
action 220 regexp "^interface *(.*)" $_cli_msg match intfName
action 230 if $intfName ne "_None_"
action 240 cli command "enable"
action 250 cli command "configure t"
action 260 cli command "event manager environment _user_intf $intfName"
action 270 cli command "end"
action 280 end
action 290 comment !! Log the last interface configured
action 300 if $_config_mode eq 1
action 340 if $_user_intf ne "_None_"
action 350 puts "Last interface configured was: $_user_intf"
action 360 end
action 370 end
action 380 comment !! Set _exit_status 1 to run commands with "event cli ... sync yes"
action 390 set _exit_status 1
action 400 exit