Juniper SRX CLI命令範例 commit 命令(commit check、commit at、commit confirmed、clear system commit)
Juniper SRX CLI命令範例 commit 命令(commit check、commit at、commit confirmed、clear system commit)
提交候選配置commit
當前(正在運行的)配置是設備的工作檔。
候選配置是存儲配置更新的工作副本。
commit 命令將使設備進行下列轉換(對於通過了驗證檢查的候選配置):
1. 將候選配置複製到當前配置。此時,當前和候選配置是等同的。
2. 使所有回滾設定檔減一,並將當前配置另存為 rollback 0。
候選檔只是更改設定後暫存的配置,您的設備只有在您發出 commit 命令後才會使用此配置。在輸入所有所需更改,並仔細檢查工作後,您就可以將候選配置啟動為當前(正在運行的)配置了。
要啟動候選配置,輸入
commit 命令:
[edit]
root@srx210# commit
commit complete
實際啟動候選配置前,JUNOS
軟體會檢查基本語法和語義。例如,該軟體會確保策略在被引用前已經得到定義。如果發現語法或語義問題,commit 命令會顯示錯誤:
[edit]
root@srx210# commit
error: Policy
error: Policy my-policy referenced but not defined
error: BGP: export
list not applied
error:
configuration check-out failed
您必須先修正所有錯誤,才能使候選配置(或候選配置的任何部分)變為當前配置。
commit complete 消息將告訴您新配置已生效並在設備上運行:
[edit]
root@srx210# commit
commit complete
警告! 預設情況下,如果有多個使用者在修改配置,提交配置將會保存和啟動所有使用者的更改(除非有使用者處於
configure private 模式)。
Clear a pending commit
(clear system
commit)
[edit]
root@srx210# commit
error: Another commit is pending
root@srx210# commit
error: Another commit is pending
[edit]
root@srx210# run clear system commit
Pending commit cleared
[edit]
root@srx210#
root@srx210# run clear system commit
Pending commit cleared
[edit]
root@srx210#
clear system commit (None Pending)
(User Does Not Have Required Privilege Level)
show system commit
show system commit (At a Particular Time)
show system commit (At the Next Reboot)
show system commit (Rollback Pending)
commit check 命令
CLI 還提供了一個命令用於檢查系統是否能處理您的候選配置。
commit check 命令會在不啟動任何更改的情況下驗證候選配置的邏輯和完整性。這與您 commit 候選配置時運行的驗證相同。如果系統發現候選配置中有問題,會通知您:
[edit]
root@srx210# commit check
[edit interfaces lo0 unit 0 family inet]
'address 192.168.69.1/24'
Loopback addresses' prefix must be 32 bits
error: configuration check-out failed
將候選配置啟動為當前配置前,一定要檢查您的工作。
請用 show | compare 命令確保所有預期的配置元素和參數都在候選配置中。
輸入commit check 命令來使系統在不啟動更改的情況下驗證候選配置。
commit at 命令
有時您需要準備在特定時間(例如維護視窗中)啟動的配置更改。
commit at 命令提供了此選項:
[edit]
root@srx210# commit at 02:00:00
commit check succeeds
commit will be executed at 2009-02-02
02:00:00 UTC
Exiting configuration mode
root@srx210>
要顯示任何未決提交(和提交記錄),輸入 show system commit 命令。
可以用 clear system commit 命令取消未決提交。
root@srx210>clear system commit
Pending commit cleared
commit confirmed 命令
您是否也犯過這樣的錯誤:向遠端設備添加安全措施,卻發現新的防火牆使您無法訪問原先用於訪問設備的介面?您是否有過這樣的經曆:不小心隔離了遠端設備,結果為了使它重置,不得不在半夜裡驅車四個小時? commit confirmed 命令可以通過自動回轉到沒有問題的配置來防止代價高昂的配置錯誤。
commit
confirmed 命令可將候選配置提交使用 10 分鐘。如果您此後沒有第二次輸入 commit,設備會自動回滾到以前的配置。您可以隨時用 commit confirmed 命令來預防潛在的配置問題:
[edit]
root@srx210# commit confirmed
commit confirmed will be automatically
rolled back in 10 minutes
unless confirmed
commit complete
如果一切看上去都沒問題,則您需要第二次 commit 新配置,使它成為永久配置:
[edit]
root@srx210# commit
commit complete
如果您沒有第二次輸入
commit 命令來確認配置,CLI 將在 10 分鐘後使設備回滾到前一個配置。這樣一來,如果您不小心隔離了設備,只須等待回滾即可,不必為彌補錯誤而苦惱:
Broadcast Message
from root@juniper1
(no tty) at
08:10:17 UTC
Commit was not
confirmed; automatic rollback complete.
在設備回滾後,查出候選配置中的錯誤,然後再次嘗試 commit。
可以向該命令添加等待時間(單位是分鐘)來改變設備在回滾前等待的時間:
[edit]
root@srx210# commit
confirmed 2
commit confirm will
be automatically rolled back in 2 minutes
unless confirmed
commit complete
在配置遠端設備時,一定要使用 commit confirmed 命令啟動您的候選配置。即使是最有經驗的 JUNOS 用戶也不反對給自己的工作加上保險措施,他們中有很多人可以告訴您自己是怎樣靠它避免了錯誤和額外工作的
介紹配置過程
JUNOS CLI 在設計中特意將配置作為一個過程來考慮。因此引入了安全措施,讓您在新配置生效前可以進行設置和檢查。
例如,JUNOS會將所有更改記錄在候選配置中,這些配置在完成後可以提交,而且只有到那時才會成為活動的設定檔。
這種方法與那些使用逐行輸入並即時啟動配置更改的系統有很大差別。您是否曾在其他系統中不得不進行逐行更改?您應該知道在這過程中會造成一定風險吧,比如移除介面上的防火牆?也許您輸入的一行更改造成了意外的結果,而您卻無法方便地回復原狀。
JUNOS CLI 讓您不必為這些配置難題頭疼。在早期客戶的説明下,瞻博的工程師們有針對性地設計了一種多階段配置過程。這個過程提供了各種方法來避開設備配置中的意外錯誤和其他常見問題引發的難題。
JUNOS 軟體運行的設備的三個基本步驟。
1. 對候選配置進行更改
候選配置是活動配置的副本。您可以通過 CLI 向候選配置輸入配置更改,辦法可以是剪切並粘貼、載入或合併帶有更新的配置更改的文字檔,也可以是通過 CLI 介面手動輸入更改。完成所有候選更改後,您可以檢查您的工作,包括將候選配置與活動的(正在運行的)檔比較。
2. 提交更改。
要讓候選配置成為活動配置,輸入 commit 或 commit confirmed 命令。完成轉換前,軟體會檢查候選配置中的某些語句,並執行其他上下文驗證。如果設備包含預載入的提交腳本,這些腳本也會檢查並盡可能地更正候選配置中的錯誤。
3. 候選配置成為活動配置。
通過所有驗證檢查後,候選配置成為活動配置。候選配置成為活動配置,並另存為 /config/juniper.conf.gz。設備將以前的juniper.conf.gz
檔重命名為 juniper.conf.1.gz。
注意 JUNOS 設備最多可保存 49 份以前的活動配置。可以通過發出rollback [0 - 49] 命令來回滾到這些備份配置中的任何一個。