Cisco IOS 與 IOS-XE 審查模式指引,涵蓋 show 指令、設定階層、反向遮罩(wildcard mask)、ACL 套用位置、介面規範以及安全的維護時段(change window)驗證流程。
Cisco IOS Patterns
要在審查 Cisco IOS 或 IOS-XE 設定片段、制定變更維護時段檢查清單,或是說明如何在不惡化故障事件的前提下從路由器或交換器收集證據時,使用此 Skill。
適用時機
- 在執行預定變更前審查 IOS 或 IOS-XE 設定。
- 選擇適當的唯讀
show指令進行故障排除。 - 檢查 ACL 反向遮罩(wildcard mask)與介面流量方向。
- 說明全域(global)、介面(interface)、路由程序(routing process)與 Line 設定模式。
- 確認變更已正確寫入運行設定(running-config),且完成預期的存檔。
操作原則
請將 IOS 範例視為參考模式,而非可直接複製貼上至正式環境的設定。在實體設備上執行變更前,務必確認設備平台、介面名稱、當前設定、還原路徑(rollback path)以及帶外管理(out-of-band access)通道。
建議採行以下工作流程:
- 使用唯讀指令擷取當前狀態。
- 審查即將套用的精確候選設定。
- 確認管理存取權限不會被阻擋或鎖死。
- 在維護時段內套用最小限度的變更。
- 重新讀取狀態並與基準線(baseline)進行比對,驗證無誤後再執行存檔。
模式參考
Router> enable
Router# show running-config
Router# configure terminal
Router(config)# interface GigabitEthernet0/1
Router(config-if)# description UPLINK-TO-CORE
Router(config-if)# no shutdown
Router(config-if)# exit
Router(config)# end
Router# show running-config interface GigabitEthernet0/1
running-config 存在於動態記憶體中;startup-config 才是重開機(reload)後能保留的設定。
切勿只因指令被系統接受就直接存檔;請先驗證運作行為,待變更經確認核可後,再執行 copy running-config startup-config。
唯讀資訊收集
show version
show inventory
show processes cpu sorted
show memory statistics
show logging
show running-config | section line vty
show running-config | section interface
show running-config | section router bgp
show ip interface brief
show interfaces
show interfaces status
show vlan brief
show mac address-table
show spanning-tree
show ip route
show ip protocols
show ip access-lists
show route-map
show ip prefix-list
當設定可能包含敏感密鑰、客戶名稱或私有網路拓撲時,請僅收集所需的特定區段,避免將完整設定直接貼入工單(ticket)中。
反向遮罩(Wildcard Masks)
IOS ACL 與許多路由宣告使用的是反向遮罩(wildcard mask),而非子網路遮罩(subnet mask)。
Subnet mask Wildcard mask
255.255.255.255 0.0.0.0
255.255.255.252 0.0.0.3
255.255.255.0 0.0.0.255
255.255.0.0 0.0.255.255
上線部署前務必再次審查反向遮罩。若誤將子網路遮罩當作反向遮罩使用,可能會比對並影響到遠超出預期的封包流量。
ip access-list extended WEB-IN
10 permit tcp 192.0.2.0 0.0.0.255 any eq 443
999 deny ip any any log
每個 ACL 結尾都有一條隱式的 deny 規則。若維運目標需要觀察未命中(misses)的流量,可新增一條帶有 log 的明確 deny 規則,並確保日誌紀錄量在安全負荷範圍內。
ACL 套用位置審查
在將 ACL 套用到介面之前,請先確認以下問題:
- 正在過濾的是哪一個流量方向?
in還是out? - 管理流量是否源自已知的中繼主機(jump host)或管理子網路?
- 必要路由、DNS、NTP、監控或應用程式流量是否都有明確的 permit 規則?
- 是否能從安全的測試源取得命中計數器(hit counters)?
- 是否已準備好還原指令(rollback command),且主控台(console)或帶外管理通道處於連線狀態?
切勿透過直接移除防火牆或 ACL 保護來測試連通性。請先檢查計數器、日誌與路由狀態。
介面維護規範
interface GigabitEthernet0/1
description UPLINK-TO-CORE
switchport mode trunk
switchport trunk allowed vlan 10,20,30
switchport trunk native vlan 999
no shutdown
請設定清晰的描述(description)、明確指定 switchport 模式,並記錄原生的 native VLAN。
在路由介面(routed interface)上,切勿僅憑連線狀態(link state)顯示 Up 就認定轉發正常,請先確認遮罩、對端 IP 位址與路由程序設定。
維護時段驗證
請針對實際變更項目執行變更前/後的對比檢查。
show running-config | section interface GigabitEthernet0/1
show interfaces GigabitEthernet0/1
show logging | include GigabitEthernet0/1|changed state|line protocol
show ip route <prefix>
show ip access-lists <name>
針對路由變更,在變更前後還需擷取鄰居狀態(neighbor state)與路由表。針對 ACL 變更,應從規劃好的測試源比對命中計數器,而非僅依賴通用的 ping 測試。
反模式(應避免的做法)
- 未針對特定設備比對差異(diff)即套用自動生成的設定。
- 在變更後檢查通過之前就執行存檔。
- 在 IOS 應使用反向遮罩的地方誤用子網路遮罩。
- 將 ACL 套用到錯誤的介面方向。
- 透過停用 ACL、路由政策或身份驗證來進行故障排除。
- 未遮蔽處理(sanitize)密鑰與網路拓撲,就將完整設定貼到公開工具中。
參閱
- Agent:
network-config-reviewer - Agent:
network-troubleshooter - Skill:
network-config-validation - Skill:
network-interface-health






