Lời nhắc cli của Cisco IOS - có cách nào để biết bạn đang định cấu hình giao diện nào không?


7

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.

Có cách nào để thiết lập lời nhắc IOS để bạn biết bạn đang ở cấu hình của giao diện nào hoặc bạn đang ở menu phụ nào không? Chẳng hạn, nếu tôi gõ "interface vlan 1" thì nó sẽ đổi thành (config-if) nhưng chắc chắn sẽ rất tuyệt khi có thể biết menu con giao diện nào tôi đang ở đó mà tôi không vô tình thay đổi thứ gì đó trên đó Giao diện sai, giống như tôi đã vô tình gõ "interface vlan 2". Một cái gì đó như: (config-if / vlan1) sẽ tốt đẹp.

Hay tôi chỉ đơn giản là nhìn nó từ quan điểm sai lầm và có một lý do chính đáng cho quy ước cú pháp kịp thời như vậy?

Câu trả lời:


7

AFAIK, câu trả lời là KHÔNG . Tôi chưa bao giờ hiểu làm thế nào tính năng có giá trị này đã thoát khỏi iOS trong nhiều năm hoặc tôi đã không bao giờ khám phá ra nó. ;-)

Tôi sử dụng kỹ thuật sau đây trong một số trường hợp khi tôi muốn chắc chắn rằng tôi đang định cấu hình giao diện mà tôi nghĩ là tôi. Nhận xét (!) Hiển thị. Tôi biết kỹ thuật này rất dài đối với các bác sĩ thú y, nhưng nó hoàn toàn phù hợp với đám đông hoang tưởng đôi khi là cả hai.

conf t
do sh run int g1/1
! Look over int config and note description
int g1/1
 desc GiveMeThisInterfaceOrGiveMeDeath
 do sh run int g1/1
 !Confirm the int you think you're inside configuring is the one intended
 <config-if commands here>

2

Các bộ chuyển mạch / bộ định tuyến iOS không có lệnh để hiển thị chế độ cấu hình phụ bạn đang ở.

NX-OS có wherelệnh.


2

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-ztạ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$_config_mode). Điều này có nghĩa là bạn nhận được %SYS-5-CONFIG_Ithô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

0

Không. Tuy nhiên, bạn chỉ cần nhập lại tên giao diện để đảm bảo bạn đang ở trong giao diện dự kiến.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.