Top Banner
Junos ® 軟體基礎系列 第一次使用就上手JUNOS CLI 大探索 克服第一天工作 第一次使用的挑戰 利用本手冊輕鬆地 一舉成功 作者Cathy Gadecki Michael Scruggs 編譯:林盈達 高義智 共同編譯
66
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: JSF1_DO_JUNOS_CLI

Junos® 軟體基礎系列

第一次使用就上手:JUNOS CLI 大探索

克服第一天工作第一次使用的挑戰利用本手冊輕鬆地一舉成功

作者:Cathy Gadecki 與 Michael Scruggs編譯:林盈達

高義智共同編譯

Page 2: JSF1_DO_JUNOS_CLI

JUNOS® 軟體基礎系列

第一次使用就上手:JUNOS CLI大探索

作者:Cathy Gadecki 與 Michael Scruggs

第 1 章: CLI 簡介............................................................................... 1

第 2 章:入門 ....................................................................................... 7

第 3 章:操作方式解說 ............................................................... 23

第 4 章:探索設定模式 ................................................................ 31

資源 ........................................................................................................ 57

Page 3: JSF1_DO_JUNOS_CLI

ii 第一次使用就上手:JUNOS CLI大探索

© 2009 by Juniper Networks, Inc. 版權所有。

Juniper Networks、Juniper Networks 商標、JUNOS、NetScreen,及 ScreenOS 為 Juniper Networks, Inc. 在美國及其他國家之註冊商標。JUNOSe 為 Juniper Networks, Inc. 的商標。其他所有商標、服務標誌、註冊商標,或註冊服務標

誌均為其個別擁有者的財產。

本文件中如有任何錯誤,Juniper Networks 概不負責。Juniper Networks 保留自行變更、修改、轉送或修訂文件的權利。Juniper Networks製造或販售的產品及元件,受到下列 Juniper Networks擁有或授權使用之專利的保護:美國專利號碼 5,473,599、5,905,725、5,909,440、6,192,051、6,333,650、6,359,479、6,406,312、6,429,706、6,459,579、6,493,347、6,538,518、6,538,899、6,552,918、6,567,902、6,578,186 以及 6,590,785。

發行者:Juniper Networks

Vervante.com 於美國印製 編輯:Nancy Koerbel

文獻管理:Ames & Eames, Inc.

修訂:第 2 版:2009 年 4 月

作者簡介

Cathy Gadecki是 Juniper Networks資深產品行銷經理,負責 JUNOS軟體之市場行銷。其作品包含與他人合著的 JUNOS for Dummies,這是一本 JUNOS軟體的實用手冊。

Michael Scruggs是 Juniper Networks技術文件經理。

編審簡介

林盈達 博士

國立交通大學資訊工程系 教授/

國立交通大學資訊技術服務中心 主任/

工研院交大網路測試中心 主任

高義智

國立交通大學資訊技術服務中心 助理研究員兼

網路系統組及諮詢服務組 組長

作者誌謝

許多人在這本書撰寫過程中曾鼎力相助,作者深

表謝意。我們的文件經理 Patrick Ames 在規劃 「第一次使用就上手」系列手冊,以及在開發這本手

冊時,提供了豐富的出版專業知識。Nancy Koerbel 在文字編輯上提供了莫大的協助。Susan Harris 協助進行研究並負責撰寫本書早期版本的草稿。Jonathan Looney 和 Michael Bushong 提供範例與練習題以及廣泛的專業知識。Jeff Mattan 全力推廣本書。此外,還有很多對 Juniper Networks技術文件 和 Juniper Networks 教育服務多所貢獻的作者,為我們提供參考資料、生動

的說明以及操作範例。我們也要特別感謝 Michelle Bhatia 和 Bernadette Willis 對我們的大力支持。

ii

Page 4: JSF1_DO_JUNOS_CLI

iii

《第一次使用就上手:JUNOS CLI大探索》中文序《第一次使用就上手:JUNOS CLI大探索》是瞻博網路(Juniper Networks)第一本提供網路技術快速入門的中文版書籍,以親身實作的方式提供範例做練習,並以漸進的方式用簡單易懂的操作,使讀者了解命令列介面的命令與結構,協助初學者能更有效率的認識、學習並且操作 JUNOS軟體。

JUNOS是瞻博網路(Juniper Networks)以 FreeBSD為基礎所發展的電信級(carrier-grade)網路核心軟體平台,整合了路由、交換與安全功能,可應用於各種不同網路硬體平台,透過同樣的操作介面與操作方式來操作各種不同網路設備,提供更靈活且高可用性的網路架構並降低營運成本與總持有成本。

我們很高興看見瞻博網路(Juniper Networks)在台灣網路科技教育與人才培養上,樂於分享他 在骨幹網路上的先進技術,並提供相關的國際認證制度,幫助學員成功學習 IT專業知識與通過認證考試,提升人才素質與網路知識。這對台灣的網路教育深具意義,對學校來說,它不只是讓學生多一個學習的機會和提供老師多一個教材選擇,同時,也培訓台灣的網路科技人才更具備競爭力與國際觀,提升台灣網路人才的素質。

我們希望這只是一個開始,未來,我們也期許能有更多業界的專業人士或公司以實際有效的方式來回饋社會,和我們一起投入網路教育,為台灣的網路產業培育更多優秀人才。

林盈達 博士

國立交通大學資訊工程系 教授/ 國立交通大學資訊技術服務中心 主任/

工研院交大網路測試中心 主任

高義智

國立交通大學資訊技術服務中心 助理研究員兼網路系統組及諮詢服務組 組長

Page 5: JSF1_DO_JUNOS_CLI

iv

歡迎來到《第一次使用就上手》

《第一次使用就上手》為您提供第一次操作 JUNOS軟體所需的完整資訊,協助您快速入門。

此系列手冊旨在提供明確解說、逐步指示,以及許多簡單易懂的操作範例。實地演練的章節,讓您能夠在自己的電腦上,練習使用指令、設定,以及其他步驟。在每一頁旁邊,我們還提供各種秘訣,包括最佳實作、注意事項、捷徑、小技巧,以及附註。

為什麼需要《第一次使用就上手》手冊?

很簡單,因為您想盡快地使用 Juniper 設備,卻沒有時間慢慢讀完所有的文件,甚至於不知道到底該從哪裡下手。您急於知道第一次操作時,到底該做些什麼。JUNOS 軟體基礎系列手冊,可協助您盡快輕鬆上手。

示範

《第一次使用就上手》手冊強調親身實作,書中有許多範例供您練習。如有需要,請實地操作這些範例,它們可利用您輸入的指令,以固定寬度的粗體,在螢幕上顯示結果。

預備動作

您必須先透過頻外主控台連接埠,或頻內管理連接埠,來連上終端裝置,以便開始執行 JUNOS CLI。由於每個網路都不同,本手冊不逐一說明登入已部署之設備的程序。因此,在登入之前,請先瞭解如何設定網路,或如何實際存取裝置。

如需存取終端裝置的相關資訊,請參閱各該產品的《快速啟動》手冊,網址為 www.juniper.net/techpubs/。

Page 6: JSF1_DO_JUNOS_CLI

v v

這本手冊將讓您受益無窮《第一次使用就上手:JUNOS CLI大探索》 讓您更了解命令列介面(CLI)的命令與結構。未來,我們將以此為基礎,繼續推出一系列JUNOS 軟體入門手冊,讓您能夠順利地完成各項網路裝置的設定。

閱讀本手冊之後,您便能夠:

P在任何執行 JUNOS 軟體的裝置上,瀏覽 CLI 的操作模式與設定模式。

P了解每個模式下的階層。

P善用內建說明與快捷鍵,達到事半功倍的效果。

P在操作模式下顯示裝置狀態、警告訊息,以及其他實用的資訊。

P修改、儲存及載入設定檔,將操作風險降至最低。

P使用設定模式的基本命令,如 show、set 與 delete 等。

P善用 JUNOS 軟體之 commit 模式所提供的安全功能。

P事先準備系統變更。

P利用資深使用者提供的捷徑和秘訣,避免犯下常見的錯誤。

閱讀前的叮嚀

《第一次使用就上手:JUNOS CLI大探索》 是學習 JUNOS 軟體的敲門磚,並為後續 JUNOS 軟體基礎系列手冊,奠定了堅實的基礎。

這本書是為 JUNOS 或 Juniper 產品的初次使用者所撰寫,但是經驗豐富的 JUNOS 管理員,也可閱讀本書以獲得參考或複習資料。

如已具備網路基本概念,將有助於了解本書內容。

請提供您的寶貴意見

您對於《第一次使用就上手》手冊有任何意見或想法嗎?請將您的建設性意見和批評,以電子郵件寄送到 [email protected] ,讓我們精益求精。

Page 7: JSF1_DO_JUNOS_CLI

等不及了嗎?!您一定迫不及待想大試身手吧 ...請即執行下列四個步驟,利用出廠預設設定,開始探索新的 JUNOS 裝置。

步驟 1:連接 使用 null modem 或 rollover 連接線,將您的電腦連接到 Juniper 裝置的主控台連接埠,開啟電腦並啟動終端機模擬程式,然後打開Juniper 裝置的電源。

步驟 2:登入 在登入提示中,輸入 root,並在密碼提示中按 Enter。結果就像下列以粗體輸入的部分:

host (ttyd0)login: rootpassword:

步驟 3:輸入 CLI 通過驗證後,您將進入 UNIX shell。如欲透過提示進入 CLI,請輸入 cli。使用者輸入部分如以下粗體所示:

root@Amnesiac% cli

步驟 4:探索 現在,您已位於命令列介面的操作模式下。請在命令階層的任何位置輸入一個問號,就會立即看到一個可能項目的清單。請開始試著輸入 ?。

看到了嗎?這是操作模式階層頂端的有效命令清單。您也可以使用問號找出完成命令的可能有效項目。例如:

user@Amnesiac > show i?

接著將顯示字母開頭為 i 的所有可能顯示命令。四處移動 ...看看還有什麼新發現。試試看輸入 configure 時,會怎麼樣呢?

vi

Page 8: JSF1_DO_JUNOS_CLI

第 1 章

CLI 簡介

命令模式概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2

了解操作命令階層 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

了解設定陳述式階層 . . . . . . . . . . . . . . . . . . . . . . . . . . .4

Page 9: JSF1_DO_JUNOS_CLI

2 第一次使用就上手:JUNOS CLI 大探索

命令列介面 (Command-Line Interface,CLI) 是用來存取終端裝置的軟體介面,可協助您設定平台、監視操作,並視需要調整設定。

如果您曾經操作過其他網路裝置,JUNOS CLI 應該看起來很眼熟,不過其中多了一些新的和不同的指令。不過您不用擔心。這些改變提供了更多的新工具與防護功能,讓您能夠有效管理網路,並且保持連線狀態。

命令列介面包含多個實用的捷徑和命令。熟悉這些捷徑和命令後,您可省下很多敲鍵盤的時間。只要花一點工夫,您就會了解為什麼很多人都說 JUNOS 非常省時 (而且是省很多時間 )、大幅減少重複性工作,並可協助避免發生錯誤。

J-Web

如果您愛用 GUI 更勝於 CLI,那千萬不要錯過 J-Web,它可在 JUNOS 裝置上提供強大的網路管理介面。所有在命令列介面上執行的動作,全都可在 J-Web 上執行,而且還額外提供各種實用的工具,以便監視、設定、疑難排解,並管理網路裝置。

想知道更多? 請至 www.juniper.net/techpubs/ 查詢適用於您的網路裝置的 J-Web 技術文件。

命令模式概述

探索 JUNOS CLI 的第一步,是了解它的兩種命令模式:

n操作模式:管理並監視網路裝置操作。例如,監視其介面狀態、檢查機箱告警訊息,並將作業系統升級或降級。

n設定模式:設定網路裝置及其介面,包括用戶存取、介面、通訊協定、安全裝置,以及系統硬體特性。

Page 10: JSF1_DO_JUNOS_CLI

第 1 章: CLI 簡介 3

圖 1.1 JUNOS CLI 模式的階層式結構

JUNOS CLI 將每種模式的活動建構成階層,如圖 1.1 所示。每種模式的階層會將常用的相關功能串聯在一起並形成分支。

JUNOS CLI 的結構化階層式命令列介面,是 JUNOS廣受歡迎的眾多特色之一。JUNOS CLI 以邏輯方式將活動分組,並提供一致的標準語法,讓您知道目前的位置、找到所需的功能、在介面中移動,以及輸入命令。

了解操作命令階層

第一次登入 CLI 時,命令列介面就在 CLI 操作模式的最上層。

下一頁的圖 1.2 顯示操作模式 CLI 樹狀結構圖的頂層,以及使用 show 命令之階層範例。舉例而言,show configuration 階層包含:access、chassis、firewall、groups 等。您可使用結構化的命令群組,輕鬆地在階層路徑中快速上下移動,或是移到 CLI 中任何位置,以使用特定功能。

最上層節點

第二層節點

第三層節點

Page 11: JSF1_DO_JUNOS_CLI

圖 1.2 操作模式樹狀結構的頂層

附註 每個階層的最上層很類似 UNIX 檔案系統 (\) 的頂層,而操作模式與設定模式階層,和 UNIX 系統、PC 和 Mac 的目錄結構十分相似。第 3 章進一步詳細解說操作模式。

了解設定陳述式階層

設定模式的階層結構是以邏輯的方式,將相關的設定陳述式群組在一起。這類結構有助於快速尋找並檢視相關的陳述式,讓使用者更輕鬆地完成、檢閱,並修改設定。圖 1.3 顯示設定樹狀結構的一部分,其中包含 system 和 interfaces 等節點。

圖 1.3 設定模式的頂層

4 第一此使用就上手:JUNOS CLI 大探索

Page 12: JSF1_DO_JUNOS_CLI

第 1 章: CLI 簡介 5

設定陳述式階層包含兩種陳述式:

n容器陳述式:包含其他陳述式,也就是說,它們有從屬的設定層級

n分頁陳述式:不包含其他陳述式,位於特定階層式路徑的結尾

設定語法

命令列介面透過特定的語法顯示設定模式的階層。下列範例說明閱讀 JUNOS CLI 設定清單時,應注意的事項:

[edit]system { services { ftp; }}

1. [edit] 標誌表示清單的起始階層。

2. CLI 以縮排方式顯示每個從屬層級,以表示設定的階層。

3. CLI 以左右大括弧 ({ }) 表示容器陳述式。在上述範例中,system 和 services 是層級式 (cascading) 容器陳述式。

4. CLI 以分號 (;) 表示分頁陳述式。在上述範例中,ftp; 是一個分頁陳述式。

附註 雖然設定中的組織結構很類似 C 或其他程式語言,您無需精通程式設計,也能了解設定檔。設定檔只是設定的大綱模式,就像作文的大綱一樣。只要了解大綱模式,您就可以輕鬆地閱讀和瀏覽設定。

Page 13: JSF1_DO_JUNOS_CLI

6 第一次使用就上手:JUNOS CLI 大探索

設定命令標誌

藉由參照設定命令標誌,您可判斷您在設定階層中的位置,如上述範例中的 [edit] 標誌所示。當您位於階層中比較深的層級時, [edit] 標誌會顯示完整的階層式路徑。例如,標誌 [edit system services] 表示該階層位於根目錄第 1 層、第 2 層的 system、第 3 層的 services 中。

因此,對於 FTP 服務而言,下列兩個設定陳述式是相同的。在第一個設定陳述式中,您是在階層的根目錄層級中查看陳述式,因此,ftp; 陳述式顯示在 system 和 services 容器陳述式中。

[edit]system { services { ftp; }}

在第二個範例中,您是從階層的更深層級來檢視 ftp; 陳述式,也就是從 system 和 services 階層進行檢視。由於您位於階層的較深層級中,因此命令列只會顯示 ftp; 陳述式。

[edit system services]ftp;

如果只想要著重於設定的一小部分,您可在階層的特定子層級進行操作。

第 4 章將詳細說明如何瀏覽設定階層。

現在,讓我們開始使用 CLI 吧! CLI 快速而易用,您絕對可以輕鬆上手,這是 JUNOS 的最大優點。

Page 14: JSF1_DO_JUNOS_CLI

第 2 章

入門

登入 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8

切換操作模式與設定模式 . . . . . . . . . . . . . . . . . . . . . . .9

使用鍵盤快速鍵 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

取得說明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

使用管線命令與 More 篩選輸出 . . . . . . . . . . . . . . . .15

使用殼層 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

登出 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21

Page 15: JSF1_DO_JUNOS_CLI

8 第一次使用就上手:JUNOS CLI 大探索

如果您可以使用實驗室或其他非操作環境中的裝置,請在探索 CLI 時,按照以下範例開始練習。您可在裝置上輸入命令與範例,並利用實地演練來練習新的技巧。

如欲存取 CLI,則須連接到裝置然後登入。如果需要連接到裝置並登入的協助,請參閱產品所附的《快速啟動》文件,或至下列 URL下載。登入並使用 CLI 之前,請先了解如何設定網路,或如何實際存取裝置。

《第一次使用就上手》手冊中的說明,假設裝置的管理主控台已經過設定,因此您可在管理主控台上使用預先指定的使用者名稱和密碼登入裝置。這是在裝置上存取 CLI 的標準方法,也是建議的方法。

想知道更多? 如需關於存取立即可用之裝置的資訊,請參閱產品所附的快速啟動指南,網址為 www.juniper.net/techpubs/。

登入

從網路裝置存取管理連接埠:

1. 開啟命令視窗。

2. 如有必要,請登入可直接存取 JUNOS 裝置的閘道伺服器。

telnet gatewayserveruser: usernamepassword: password

路由器、交換器與安全裝置通常位於閘道路由器後面的子網路,以防未經授權使用者存取這些裝置。

3. 登入裝置。

telnet routernameuser: usernamepassword: password

如果裝置的 IP 位址是由 DNS 伺服器所管理,只要使用指定的網域名稱登入即可。如果不是,那麼您可以使用管理連接埠的唯一 IP 位址登入。

Page 16: JSF1_DO_JUNOS_CLI

第 2 章:入門 9

切換操作模式與設定模式

當您監視與設定裝置時,您需要在操作模式與設定模式之間切換。當您切換到設定模式時,命令提示也會跟著變更。操作模式提示是一個右角括弧 (>)。設定模式提示則是一個井字號 (#)。

如欲從操作模式切換到設定模式,請發出 configure 命令:

mike@juniper1> configure

捷徑 發出 configure 命令時,只要輸入 co 即可。由於沒有其他命令開頭是這兩個字母,因此,CLI 會認得這個命令並自動填入該命令的其餘部分。

如欲回到操作模式,發出 exit configuration-mode 命令,或是更短的 exit 命令。

mike@junper1# exit

附註 請記住,如果您對設定進行變更,您必須在離開設定模式前先認可這些變更,才能讓變更生效,第 4 章中有詳細的說明。

使用鍵盤快速鍵

JUNOS CLI 提供多種方式,節省使用命令列時的按鍵需求,包括鍵盤順序與命令完成。

登入 JUNOS 裝置時,您可以使用所有標準 Unix 鍵盤的快速鍵,無論您是在其中一個殼層或是在 CLI 中。這些快速鍵可以縮短按鍵組合。您可能需要幾天的時間才能適應這些比較簡短的按鍵組合,不過,一旦您的手指習慣之後,這些快速鍵就可以為您節省很多輸入的時間。

CLI 會將每個輸入的命令儲存在命令歷程記錄中。在任何命令提示中,使用上下方向鍵即可捲動歷程記錄 (在 VT100 終端機類型上 )。您可以重複使用先前輸入的命令,或是視需要進行修改。鍵盤順序可以為您節省很多的時間,舉例來說,當您要在裝置上設定類似的項目時,或是要重複操作命令時,例如要針對某個問題進行偵錯時。

Page 17: JSF1_DO_JUNOS_CLI

10 第一次使用就上手:JUNOS CLI 大探索

捷徑 使用這些省時的鍵盤快速鍵:

移至命令歷程記錄中的下一個 Down arrow or Ctrl+n

移至命令歷程記錄中的上一個 Up arrow or Ctrl+p

移至行首 Ctrl+a

移至行尾 Ctrl+e

向左一個字元 Ctrl+b

向右一個字元 Ctrl+f

向前一個字 Esc+f

向後一個字 Esc+b

刪除游標上的字元 Ctrl+d

刪除游標後的字 Esc+d

刪除游標前的字 Esc+backspace

刪除從游標 到行尾的文字 Ctrl+k

刪除該行 Ctrl+u

在游標位置貼上已刪除的文字 Ctrl+y

命令完成

CLI 提供命令完成功能,進一步加快您在兩種模式下的打字速度。命令完成功能會自動完成部分輸入的命令、檔案名稱與使用者名稱,因此您不需要回想所需輸入字串的確實語法。命令完成功能對於新的使用者十分有幫助,可以幫助他們適應新的命令列介面。

空格鍵會完成大部分的 CLI 命令。Tab 鍵不僅可以完成 CLI 命令,還可以完成檔案名稱和使用者定義的變數,例如原則名稱、社群名稱及 IP 位址。當完成的命令或引數不明確時,輸入空格或 Tab 會列出可能的完成結果:

[edit] mike@juniper1# show i<space>‘ i’ is ambiguous

Page 18: JSF1_DO_JUNOS_CLI

第 2 章:入門 11

Possible completions: igmp Show Internet Group Management Protocol ike Show Interface Key Exchange Information interfaces Show Interface Information ipsec Show IP Security Information isis Show Intermediate System-to Intermediate

捷徑 其他作業系統中的常見縮寫 (例如 sh int,) 也可以在 JUNOS 中使用。例如 mike@juniper1> sh<space>ow int<enter>。

實地演練:使用空格鍵和 Tab 鍵

輸入下列命令,並使用空格鍵加以完成:

sh<space>ow ro<space>ute sh<space>ow ch<space>assis h<space>ardware sh<space>ow conf<space>iguration cl<space>ear rip s<space>tastics res<space>tart ro<space>uting g<space>racefully

取得說明

JUNOS CLI 提供數種方式,讓您在不知道如何操作,或者只是想要確認操作方式時,隨時可以取得說明。每個使用者都經常使用 CLI 完整的線上說明系統,即使是已經使用 Juniper 裝置數年的專家也是如此。

即時線上說明

使用問號 (?) 字元,在操作或設定階層查詢命令列中的可用命令及其簡短說明。只要輸入部分命令並加上 ?,便會提供一個清單,列出完成命令的所有有效方式。無論用哪一種方式使用 ? ,都是 JUNOS 術語中所謂的即時線上說明:

[edit system]mike@juniper1# set s?Possible completions: saved-core-context Save context information for core files saved-core-files Number of saved core files per executable (1..64)

Page 19: JSF1_DO_JUNOS_CLI

12 第一次使用就上手:JUNOS CLI 大探索

> services System services > static-host-mapping Static hostname database mapping > syslog System logging facility

實地演練:利用問號取得說明 在操作模式中顯示下列命令的可能完成結果: show ? show chassis ? show interfaces ? show system ? request ? request support ? restart ? ping ? traceroute ?

針對下列部分輸入的命令,顯示可能的完成結果:

s ? show i ? request system s ? restart s ?

對於需要使用檔案名稱做為引數的命令,問號會列出工作目錄中的檔案:

mike@juniper1> request system license add ?Possible completions: <filename> Filename (URL, local, remote, or floppy) file1 Size: 19701, Last changed: Feb 23 21:56:52 file2 Size: 1835, Last changed: Apr 09 09:51:57 log1 Size: 1215, Last changed: Feb 16 13:07:49 log2 Size: 1135, Last changed: Apr 09 11:05:16 terminal Use login terminal

指定路徑會列出該目錄中的檔案:

mike@junper1> request system license add /cf/ ?Possible completions: <[Enter]> Execute this command <filename> Filename (URL, local, remote, or floppy) /cf/boot/ Last changed: Apr 16 11:08:56 /cf/dev/ Last changed: Apr 08 2004 /cf/etc/ Last changed: Apr 30 08:40:09 /cf/kernel Size: 32797835, Last changed: Apr 15 /cf/kernel.old Size: 32715591, Last changed: Nov 09

Page 20: JSF1_DO_JUNOS_CLI

第 2 章:入門 13

/cf/opt/ Last changed: Nov 09 02:08:43 /cf/packages/ Last changed: Apr 16 11:08:57 /cf/root/ Last changed: Apr 16 11:08:56 /cf/sbin/ Last changed: Apr 16 11:08:56 /cf/usr/ Last changed: Nov 09 02:11:23 /cf/var/ Last changed: Nov 09 02:11:23

內建文件

當您需要比即時線上說明更詳細的資訊時,請使用 help 命令取得裝置中的 JUNOS 軟體技術文件。Juniper 會載入新裝置的文件,並將其納入全新升級套件中。

說明檔可分為五個主要類別。在操作模式與設定模式下都可以存取這些檔案:

nhelp apropos:顯示關於陳述式或命令名稱中所包含的文字字串的說明

nhelp reference:顯示陳述式的摘要資訊,協助設定語法

nhelp syslog:顯示關於特定 syslog 事件的資訊

nhelp tip:提供使用 CLI 的各種秘訣

nhelp topic:顯示設定陳述式的用法指南

如需進一步說明,請在上述每個命令後面加上您要搜尋之相關資訊的字串或主題。

help apropos 命令

如果您記得部分命令,但不記得完整陳述式時,help apropos 命令十分好用。這個命令會在陳述式或命令名稱中尋找所有相符的項目,以及顯示的說明字串:

[edit]mike@junper1# help apropos host-nameset system host-name <host-name> Hostname for this routerset system static-host-mapping <host-name> Fully qualified name of systemset system services dhcp static-binding <mac-address> host-name <host-name>

Page 21: JSF1_DO_JUNOS_CLI

14 第一次使用就上手:JUNOS CLI 大探索

Hostname for this clientset system syslog host Host to be notifiedset interfaces <interface_name> services-options syslog host <host-name> Name of host to notifyset accounting-options routing-engine-profile <profile-name> fields host-name Hostname for this routerset services l2tp tunnel-group <name> syslog host <host-name> Name of host to notifyset services service-set <service-set-name> syslog host <host-name> Name of host to notify

如果字串中包含空格,請以引號 (" ") 括住。

help topic 命令

使用 help topic 命令瞭解特定設定陳述式的用法指南:

mike@juniper1> help topic interfaces address ? Configuring the Interface Address

You assign an address to an interface by specifying the address when configuring the protocol family. For the inet family, you configure the interface’s IP address. For the iso family, you configure one or more addresses for the loopback interface. For the ccc, tcc, mpls, tnp, and vpls families, you never configure an address.

help reference 命令

瞭解特定命令的用途與使用時機之後,您可以使用 help reference 命令來檢視實際的語法和可能的使用方式。在前一個範例中:

mike@juniper1> help reference interfaces address address Syntax

address address { arp ip-address (mac | multicast-mac) mac-address <publish>; broadcast address; destination address; destination-profile name; eui-64; multipoint-destination address dlci dlci-identifier; ... Hierarchy Level

[edit interfaces interface-name unit logical-unit-number family family],

Page 22: JSF1_DO_JUNOS_CLI

第 2 章:入門 15

[edit logical-routers logical-router-name interfaces interface-name unit logical-unit-number family family]

Description

Configure the interface address. <...>

附註 help reference 命令類似於 Unix manpages 以及其他作業系統上所看到的 manual 命令。

語法說明

JUNOS 軟體會逐字檢查語法,而不用等到您在設定陳述式結尾按下 Return。每當您在某一行中輸入一個字,然後按下空格鍵時,CLI 就會判斷每個字詞是否為有效的命令元件,以及使用方式是否正確。如果發現錯誤,CLI 會要求修正。

此外,每當您嘗試從特定階層移動時,或是當您在設定模式下發出 show 命令時,JUNOS 軟體都會檢查該階層所需的陳述式:

[edit]mike@juniper1# showprotocols { pim { interface so-0/0/0 { priority 4; version 2; # Warning: missing mandatory statement(s): 'mode' } }}

使用管線命令與 More 篩選輸出

您可以使用管線 (|) 字元與 more 提示,變更 CLI 顯示輸出的方式。

Page 23: JSF1_DO_JUNOS_CLI

16 第一次使用就上手:JUNOS CLI 大探索

管線字元

管線 (|) 字元可讓您在操作模式與設定模式中篩選輸出。管線字元可以顯示單一命令步驟中的特定資訊、傳送某個命令的輸出做為另一個命令的輸入,或者將輸出重新導向至某個檔案。管線符號左側的命令輸出會做為管線右側之命令或檔案的輸入。

您可以查詢 CLI,尋找以管線連接命令的有效方式,如下列操作模式清單:

mike@juniper1> show route | ?

Possible completions: count Count occurrences display Show additional kinds of information except Show only text that does not match a pattern find Search for first occurrence of pattern hold Hold text without exiting the --More-- prompt last Display end of output only match Show only text that matches a pattern no-more Don’t paginate output request Make system-level requests resolve Resolve IP addresses save Save output text to file trim Trim specified number of columns from start of line

使用管線

下列已設定裝置的範例進一步示範管線如何幫助您微調命令。

篩選命令輸出至檔案

建立一個檔案來儲存操作模式的 request support information 命令輸出,方法是將使用管線將輸出連接到 &lt;filename&gt;:

mike@juniper1> request support information | save <filename> Wrote 1143 lines of output to ’filename’

顯示其他資訊以及保存資訊

您可以要求在清單中包含其他資訊,或是要求 CLI 保存資訊:

n| count:在輸出中提供行數:

mike@juniper1> show interfaces terse | countCount: 22 lines

如需瞭解存取建立檔案的資訊,請參閱第 3 章中的「使用檔案命令」一節。

Page 24: JSF1_DO_JUNOS_CLI

第 2 章:入門 17

n| display detail:提供關於設定內容的其他資訊 (僅適用於設定模式 )

n| display xml:以 XML 格式顯示輸出

mike@juniper1> show cli directory | display xml<rpc-reply xmlns:junos= http://xml.juniper.net/junos/9.410/junos> <cli> </cli> <cli> <banner<master:0></banner> < /cli></rpc-reply>

n| hold:在緩衝區中保留輸出,直到被清除為止

限制命令輸出

管線 (|) 符號的最常見用途是限制輸出:

n| match:精確地指定您要顯示的資訊:

mike@juniper1 > show configuration | match at- at-2/1/0 { at-2/1/1 { at-2/2/0 { at-5/2/0 { at-5/3/0 {

附註 Match 相當於 UNIX 的 grep 命令。

n| except:顯示忽略特定字串的輸出:

mike@juniper1> show system users | except root 8:28PM up 1 day, 13:59, 2 users, load averages: 0.01, 0.01, 0.00 USER TTY FROM LOGIN@ IDLE WHAT sheep p0 baa.juniper.net 7:25PM - cli

n| find:從第一個相符文字開始顯示輸出:

將輸出顯示為 XML與其他系統交換設定與狀態資訊時,以 XML 顯示輸出是一種實用的做法。XML 輸出的格式是標準遠端程序呼叫 (RPC) 格式。

Page 25: JSF1_DO_JUNOS_CLI

18 第一次使用就上手:JUNOS CLI 大探索

mike@juniper1>show ethernet-switching interfaces detail | find “ Index: 80”Interface: ge-0/0/16.0 Index: 80 State: down VLANs: default untagged blocked - blocked by STP

Interface: ge-0/0/17.0 Index: 81 State: down VLANs: default untagged blocked - blocked by STP

n| last:僅提供清單的最後一個畫面

附註 使用 find 或 match 時,您必須使用引號括住空格、運算子或搜尋字詞中的萬用字元。

多個管線

JUNOS 軟體會將多個管線視為邏輯 AND,並且只顯示符合所有輸入之管線的輸出。您可以輸入不同的管線命令,也可以多次輸入相同的管線命令。例如,如欲計算在作用中設定內設定了多少個快速 Ethernet 介面:

mike@juniper1> show interfaces terse | match fe- | countCount: 12 lines

另一個範例是,在單一行中使用相同的管線命令來顯示包含 10.0 字串與 /32 子網路遮罩的全部路由:

mike@juniper1> show route | match /32 | match 10.010.0.15.2/32 *[Local/0] 03:18:2810.0.16.1/32 *[Local/0] 03:20:4910.0.0.4/32 *[Local/0] 08:54:55192.168.10.0/32 *[Local/0] 08:57:26

More 提示

命令列介面會自動為輸出編頁。CLI 設定會利用 24 行的一般設定來判斷使用者帳戶的長度。當裝置在分頁符號處停止時,命令列介面會顯示 (more) 提示,並顯示輸出在所有可顯示內容中所佔的百分比。您可以在任何 (more) 提示下輸入 h 鍵以查看顯示選項的清單,例如,在輸出中前移和後移、搜尋及儲存:

Page 26: JSF1_DO_JUNOS_CLI

第 2 章:入門 19

mike@juniper1> show ethernet-switching interfaces detailInterface: ge-0/0/0.0 Index: 64 State: down VLANs: default untagged blocked - blocked by STP

*// Data Deleted From Example //*

Interface: ge-0/0/12.0 Index: 76 State: down VLANs: default untagged blocked - blocked by STP

---<more>--- h

---(Help for CLI automore)--- Clear all match and except strings: c or C Display all line matching a regexp m or M <string> Display all lines except those matching a regexp: e or E <string> Display this help text: h Don’t hold in automore at bottom of output: N Hold in automore at bottom of output: H Move down half display: TAB, d, or ̂ D Move down one line: Enter, j, ̂ N, ̂ X, ̂ Z, or Down-Arrow Move down one page: Space, f, ̂ F, or Right-Arrow Move to bottom of output: G, ̂ E, or End Move to top of output: g, ̂ A, or Home Move up half display: u or ̂ U Move up one line: k, Delete, Backspace, ̂ P, or Up-Arrow Move up one page: b, ̂ B, or Left-Arrow Quit automore: q, Q, ̂ K Redraw display: ^L or ̂ R Repeat a keystroke command 1 to 9 times: Meta-1..9 Repeat last search: n Save output to a file: s or S <filename/url> Search backwards thru the output: ?<string> Search forwards thru the output: /<string>---(End of Help)---

秘訣 set cli screen-length 命令可以修改顯示的行數。或者,您也可以加入管線 | no-more 做為命令的一部分,即可顯示完整的輸出。

Page 27: JSF1_DO_JUNOS_CLI

20 第一次使用就上手:JUNOS CLI 大探索

使用殼層

殼層通常是指在 Unix 或類似 Unix 的作業系統上使用的任何命令列介面。這些介面會將高階命令解譯為裝置可以使用的低階指令。當您登入 JUNOS 裝置時,會將您置於操作模式的兩個殼層其中之一:C 殼層或 CLI。

以下為可用的殼層:

殼層 命令提示

C 殼層 %

Bourne 殼層 $

CLI mike@juniper1> (操作模式 )mike@juniper1# (設定模式 )

您可以發出適當的命令,從某個殼層瀏覽到另一個殼層。此命令會產生該殼層的新執行個體,然後將您放入該執行個體中。例如,在 CLI 操作模式時,您可以發出 start shell 命令來產生新的 C 殼層介面。

注意! 當您登出裝置時,請務必離開連線期間進入的每個殼層。

登入 CLI

如欲登入 CLI 介面,在任何殼層提示下發出 cli 命令:

% cli

CLI 永遠會在操作模式下開啟。

登入 C 殼層

如欲在操作模式下從 CLI 登入 C 殼層介面,發出 start shell 命令:

mike@juniper1> start shell

如欲在設定模式下從 CLI 登入 C 殼層介面,發出 run start shell 命令:

mike@juniper1# run start shell

Page 28: JSF1_DO_JUNOS_CLI

第 2 章:入門 21

捷徑 run 命令可讓您在設定模式時,發出 CLI 操作模式的命令。只要在設定模式中,在您要執行的任何操作模式命令之前加上關鍵字 run 即可。

如欲從 Bourne 殼層介面登入 C 殼層介面,發出 csh 命令。

$ csh

登入 Bourne 殼層

如欲在操作模式下從 CLI 登入 Bourne 殼層介面,發出 start shell 命令:

mike@juniper1> start shell

如欲在設定模式下從 CLI 登入 C 殼層介面,發出 run start shell sh命令:

mike@juniper1# run start shell sh

如欲從 C 殼層介面登入 C 殼層介面,發出 sh 命令。

% sh

登出

登出時,您必須先登出所有開啟的殼層,才能完全從裝置登出。因此,如果您登入裝置時進入了 CLI 操作模式,然後進入 CLI 設定模式,那麼您需要離開兩個殼層。

當您要中斷時,您必須先登出所有開啟的殼層,才能完全從裝置登出。當您完全登出裝置時,將會收到下列訊息:「連線已由外部主機關閉」。

mike@junper1> exitlogoutConnection closed by foreign host.$

Page 29: JSF1_DO_JUNOS_CLI

22 第一次使用就上手:JUNOS CLI 大探索

如果您在設定模式下想要登出,請離開設定工作階段以進入操作模式:

[edit protocols ospf]mike@juniper1# exit configuration-modeExiting configuration mode

mike@juniper1> exitlogoutConnection closed by foreign host.$

最佳實作 如果您不需要保持登入狀態或當您離開終端機時 (即使只是幾分鐘 ),請登出以保護裝置的安全。這樣可以防止有人佔用您的工作站而不小心 (或故意 ) 存取裝置。

Page 30: JSF1_DO_JUNOS_CLI

第 3 章

了解操作模式

查看操作模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

顯示裝置狀態 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

管理基本作業 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27

使用 File 命令 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

管理作業系統軟體 . . . . . . . . . . . . . . . . . . . . . . . . . . . .29

Page 31: JSF1_DO_JUNOS_CLI

24 第一次使用就上手:JUNOS CLI 大探索

操作模式提供監視、管理與維護裝置的命令。您可以了解裝置的狀態、管理診斷、執行其他操作工作,以及管理執行裝置的軟體。

操作模式的主要功能包括:

n監視與疑難排解裝置

n連接到其他網路系統

n重新啟動軟體程序

n進入設定模式

n顯示設定

n控制 CLI 環境

n執行系統層級的作業,例如停止和重新啟動裝置,以及載入 JUNOS 軟體影像

JUNOS 軟體內建一組完整的檢測功能,可搜尋重要的操作狀態、統計資料以及其他資訊。這些工具可事先告知潛在問題,並可在事件期間內,加速解決問題。

進行設定時,您可指定需追蹤的事件類型、事件嚴重性,以及想要儲存資料的檔案,並可使用其他各項功能。Juniper 裝置具備完善的處理能力,可收集並儲存重要的操作資料,包括 SNMP 管理、系統記錄,並可協助您了解在正常條件下,系統運作的追蹤點,以及變更發生的地點、時間與原因。

想知道更多? 您可在 JUNOS 軟體基礎系列手冊中,深入了解如何設定裝置的基本監視功能。請至 www.juniper.net/dayone 下載新的主題。

查看操作模式

從操作模式階層的最上層探索操作模式。以下是部分的常用命令清單:

Page 32: JSF1_DO_JUNOS_CLI

第 3 章:了解操作模式 25

mike@juniper1> ? Possible completions:clear Clear information in the systemconfigure Manipulate software configuration informationfile Perform file operationshelp Provide help informationmonitor Show real-time debugging information ping Ping remote targetquit Exit the management sessionrequest Make system-level requestsrestart Restart software processset Set CLI properties, date/time, craft interface messageshow Show system informationssh Start secure shell on another hoststart Start shelltelnet Telnet to another hosttest Perform diagnostic debuggingtraceroute Trace route to remote host<. . .>

顯示裝置狀態

操作模式提供一組顯示命令,以顯示裝置狀態與統計資料:

mike@juniper1> show?Possible completions:accounting Show accounting profiles and recordsaps Show Automatic Protection Switching informationarp Show system Address Resolution Protocol table entriesas-path Show table of known autonomous system pathsbfd Show Bidirectional Forwarding Detection informationbgp Show Border Gateway Protocol informationchassis Show chassis informationclass-of-service Show class-of-service (CoS) informationcli Show command-line interface settingsconfiguration Show current configurationconnections Show circuit cross-connect connectionsdialer Show dialer informationdlsw Show DLSw informationdvmrp Show Distance Vector Multicast Routing Protocolinformationdynamic-tunnels Show dynamic tunnel information informationesis Show end system-to-intermediate system informationfirewall Show firewall informationhelper Show port-forwarding helper informationhost Show hostname information from domain name serverigmp Show Internet Group Management Protocol informationike Show Internet Key Exchange informationinterfaces Show interface informationipsec Show IP Security informationipv6 Show IP version 6 information

Page 33: JSF1_DO_JUNOS_CLI

26 第一次使用就上手:JUNOS CLI 大探索

isdn Show Integrated Services Digital Network informationisis Show Intermediate System-to-Intermediate System info... l2circuit Show Layer 2 circuit informationl2vpn Show Layer 2 VPN informationldp Show Label Distribution Protocol informationllc2 Show LLC2 protocol related informationlog Show contents of log filemld Show multicast listener discovery informationmpls Show Multiprotocol Label Switching informationmsdp Show Multicast Source Discovery Protocol informationmulticast Show multicast informationntp Show Network Time Protocol informationospf Show Open Shortest Path First informationospf3 Show Open Shortest Path First version 3 informationpfe Show Packet Forwarding Engine informationpgm Show Pragmatic Generalized Multicast informationpim Show Protocol Independent Multicast informationpolicer Show interface policer counters and informationpolicy Show policy informationpppoe Show PPP over Ethernet informationrip Show Routing Information Protocol informationripng Show Routing Information Protocol for IPv6 informationroute Show routing table informationrsvp Show Resource Reservation Protocol informationsap Show Session Announcement Protocol information securityservices Show services informationsnmp Show Simple Network Management Protocol informationsystem Show system informationtask Show routing protocol per-task informationted Show Traffic Engineering Database informationversion Show software process revision levelsvrrp Show Virtual Router Redundancy Protocol information

秘訣 如果您曾使用過 Cisco IOS,JUNOS 唯一的不同之處是,它不使用關鍵字 IP。因此,許多您已熟知的 show 命令仍然有效,只要去掉 IP

即可。例如,IOS 命令 show ip route 在 JUNOS 中就變成 show route。

show 命令包含其他用於修改輸出的引數。例如,以下是可用於 fe-1/1/1 快速 Ethernet 介面之 show interfaces 命令的引數:

mike@juniper1> show interfaces fe-1/1/1 ?Possible completions:<[Enter]> Execute this commandbrief Display brief output

Page 34: JSF1_DO_JUNOS_CLI

第 3 章:了解操作模式 27

descriptions Display interface description stringsdetail Display detailed outputextensive Display extensive outputmedia Display media informationsnmp-index SNMP index of interfacestatistics Display statistics and detailed outputterse Display terse output<. . .>

您可加入這些選項,將輸出清單調整為您所需的內容。將 brief 和 terse 加入以上的命令時,比較 show 輸出。

mike@juniper1> show interfaces fe-1/1/1 briefPhysical interface: fe-1/1/1 Enabled, Physic link is Down Link-level type:Ethernet, MTU: 1514, Spped: 100mbps, Loopback: Disabled, Source filtering: Disabled Flow control : Enabled Device flags : Present Running Down Interface flags: Hardware-Down SNMP-Traps Internal: Ox4000 Link flags : None mike@juniper1> show interfaces fe-1/1/1 terse Interface Admin Link Proto Local Remote fe-1/1/1 up up at-1/3/0.0 up up inet 1.0.0.1 --> 1.0.0.2 iso

秘訣 clear 命令可讓您將裝置的統計資料重設為零。

管理基本作業

JUNOS 軟體支援標準網路公用程式和遠端存取,以便於管理。您應該認識 UNIX 和其他作業系統的一些基本命令:

nping:這個標準 IP 命令可測試,是否能在網路上聯繫其他裝置、介面卡或節點。

ntraceroute:這個網路公用程式會以封包的方式,回報從您的裝置到 IP 網路上的目的地,所採用的路徑。

nssh:這個標準 UNIX 安全殼層程式,會在網路的另一個裝置或主機上,開啟一個使用者殼層。

ntelnet:這個管理通訊協定會開啟網路上另一個裝置或主機的終端機連線。

Page 35: JSF1_DO_JUNOS_CLI

28 第一次使用就上手:JUNOS CLI 大探索

使用 File 命令

file 命令可讓您檢視網路裝置中,某個位置的檔案,並將它複製到另一個位置、複製到遠端系統 (例如伺服器 ),或從遠端系統複製到裝置。在裝置上儲存與載入設定檔,有助於:

n封存與備份設定

n 跨裝置共用設定檔

n儲存與載入部分設定檔,在網路 (例如路由篩選 ) 的許多裝置,這些設定檔可能都是相同的。如欲檢視檔案,請使用 file show 命令:

mike@juniper1> file show <filename>

file copy 命令

您可使用 file copy 命令 (使用與標準 Unix cp 命令相同的語法 ) 來手動封存檔案: file copy /target-directory/target-filename /destination-

directory/destination-filename

例如,將目前作用中的設定檔 (/config/juniper.conf.gz) 以 backup.gz 複製到裝置的 /var/home/user 目錄中:

mike@juniper1> file copy /config/juniper.conf.gz /var/home/user/backup.gz

最佳實作 建立已知有效設定的救援設定。萬一作用中設定損毀,裝置會自動載入名為 rescue.gz 的檔案 /config 目錄,做為作用中的設定。

最佳實作 將設定檔複製到新位置後,請務必重新命名,這樣稍候複製檔案的更新版本時,就不會不小心覆寫該檔案。

您可使用同一個命令,將設定檔從伺服器移回裝置的主目錄:

mike@juniper1> file copy /config/juniper.conf.gz /var/home/user/juniper.conf.gz-20090123

Page 36: JSF1_DO_JUNOS_CLI

第 3 章:了解操作模式 29

file list 命令

使用 file list 命令確認檔案已到達您的主目錄中:

mike@juniper1> file list

/var/home/user/:.ssh/juniper.conf.gz-20090123

附註 第 4 章將說明載入檔案作為裝置之作用中 (執行中 ) 設定的步驟。

管理作業系統軟體

操作模式提供管理作業系統軟體的命令 (包括升級與重新啟動裝置 ),以及重新啟動與重設個別程序的命令。JUNOS 軟體是模組化作業系統,獨立程序可透過這個作業系統,在自己的受保護記憶體空間中執行。此類程序稱為精靈 (Daemons),可以獨立管理。

restart 命令

您可從操作模式重新啟動大部分的 JUNOS 軟體程序 (除了幾個精靈必須在殼層執行 )。如需停止然後重新啟動個別的作業系統精靈時,請使用 restart。

注意! 雖然每個程序都是完全獨立的,但是使用 restart 命令時,請特別小心。重新啟動 SNMP 程序只會干擾 SNMP,但是重新啟動路由,可能對網路造成嚴重的後果!

秘訣 如欲重新啟動特定的路由通訊協定 (如 OSPF),您可在設定模式下停用它,再重新啟用。如果只有一個通訊協定有問題,這個方法比重新啟動 JUNOS 整個路由精靈好,因為後者可能會影響所有路由通訊協定。

Page 37: JSF1_DO_JUNOS_CLI

30 第一次使用就上手:JUNOS CLI 大探索

request 命令

request 命令會執行整個系統的功能,例如重新啟動、升級與關閉裝置。這個命令群組也提供連線、離線與重新啟動個別元件的功能,而不必重新啟動整個裝置:

mike@juniper1> request chassis fpc slot 0 restartRestart initiated, use "show chassis fpc" to verifyuser@host> show chassis fpc Temp CPU Utilization (%) Memory Utilization (%)Slot State (C) Total Interrupt DRAM (MB) Heap Buffer0 Starting 32 0 0 0 0 01 Online 30 0 0 8 11 142 Empty3 Empty

想知道更多? 線上技術文件 JUNOS 軟體安裝與升級提供將網路裝置軟體版本升級的詳細資料。請至 www.juniper.net/support 的軟體下載頁面,下載最新的封裝。必須有最新的服務合約與登入帳戶,才能下載新軟體。

想知道更多? 如欲深入了解操作模式的命令,請參閱線上的 JUNOS Software CLI User Guide 與 JUNOS System Basics and Services Command Reference,網址是 www.juniper.net/techpubs/。

Page 38: JSF1_DO_JUNOS_CLI

第 4 章

探索設定模式

簡介設定程序 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32

進入設定模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33

了解設定模式基本知識 . . . . . . . . . . . . . . . . . . . . . . . .35

編輯設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40

認可候選設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

將日常工作自動化 . . . . . . . . . . . . . . . . . . . . . . . . . . . .47

回復設定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48

事先準備系統變更 . . . . . . . . . . . . . . . . . . . . . . . . . . . .49

使用設定捷徑 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52

Page 39: JSF1_DO_JUNOS_CLI

32 第一次使用就上手:JUNOS CLI 大探索

設定模式,顧名思義就是定義裝置設定的地方,其中包括設定管理主控台及其網路設定、設定存取裝置的用戶帳號、指定保護裝置與網路的安全措施,以及設定路由與交換的通訊協定。每個陳述式負責設定不同的裝置功能,並在網路中指定其特性。

簡介設定程序

JUNOS CLI 經過精心設計,將設定視為一個程序。因此,它採用了防護的功能,可讓您先設定並檢查新的設定,然後再使其生效。例如,JUNOS 會擷取候選設定中的所有變更,完成擷取後才會生效,待其生效後,才能變成作用中的設定檔。

這個方法與其他作業系統大不相同,其他系統大多使用逐行輸入,並立即啟用設定變更。您曾在其他系統上進行逐行變更,例如在介面上移除防火牆,而擔心可能引起中級風險嗎?那麼您可能曾經輸入了單行變更,結果造成錯誤或意外的結果,卻又無法輕易復原。

JUNOS CLI 可將這些惱人的設定問題拋諸腦後。在早期客戶的協助下,Juniper 工程師設計了一個多階段的設定程序,讓客戶能夠利用各種方法,來避免在設定裝置時發生意外的錯誤,以及其他常見的問題。

圖 4.1 概要說明設定執行 JUNOS 軟體之裝置的三個基本步驟。以下詳細說明圖中的步驟。

1. 變更候選設定

候選設定指的是作用中設定的複本。您可用剪下和貼上的方式、載入或合併包含更新之設定變更的文字檔,或是透過 CLI 介面以手動輸入的方式,將設定變更輸入到候選設定中。完成所有候選變更後,您可以檢視您的工作,包括比較候選設定與作用中 (執行中 ) 的檔案。

候選設定在哪裡?雖然設定可能被誤認為是檔案,但實際上,並沒有與候選設定相關聯的檔案。 設定是保存在系統記憶體中。

Page 40: JSF1_DO_JUNOS_CLI

第 4 章:探索設定模式 33

2. 認可變更。

如欲將候選設定變成作用中的設定,輸入 commit 或 commit confirmed 命令即可。完成變更之前,軟體會檢查候選設定中的某些陳述式,並執行其他內容驗證。如果裝置包含預先載入的認可指令碼,那這些指令碼也會檢查並 (可能會 ) 修正候選設定中的錯誤。

3. 候選設定成為作用中設定。

通過所有驗證檢查之後,候選設定就會成為作用中的設定,之後,候選設定將儲存為 /config/juniper.conf.gz。裝置會將之前的 juniper.conf.gz 檔案重新命名為 juniper.conf.1.gz。

圖 4.1 JUNOS CLI 設定程序概觀

附註 JUNOS 裝置最多可儲存 49 個先前作用中的設定。您可發出 rollback [0 - 49] 命令,將設定回復為其中任何一個備份設定,本章稍後將詳細說明。

進入設定模式

針對不同使用者帳號皆可進行設定變更的裝置,您須管理誰可以進行變更、何時進行變更,這一點非常重要。因此,JUNOS 軟體提供三種進入設定模式的方式:

n 標準:允許任何使用者同時編輯候選設定,而且所有使用者都可以看到其他使用者所進行的變更。

n 獨佔:將其他所有使用者排除在設定模式之外,直到獨佔使用者結束獨佔狀態為止。

n 隱私:提供隱私設定,裝置會為隱私使用者保留另一份候選複本,其中只儲存隱私使用者所執行的變更。

已驗證的設定 作用中的設定候選設定

認可指令碼

CLI檢查

認可

確認認可

回復

1 2 3

Page 41: JSF1_DO_JUNOS_CLI

34 第一次使用就上手:JUNOS CLI 大探索

configure 命令

如欲進入標準設定模式,請發出 configure 命令:

mike@juniper1> configure Entering configuration mode

注意! 當您離開標準設定模式時,您在工作階段所進行的所有未經認可的變更,都會保留在候選設定中,除非您確實刪除這些變更,或發出

rollback 0 命令,重新載入作用中設定作為候選設定。登入和登出時,使用者會收到下列警告訊息:

mike@juniper1> configure Entering configuration modeThe configuration has been changed but not committed

mike@juniper1# exit The configuration has been changed but not committedExit with uncommitted changes? [yes,no]

configure exclusive 命令

如欲排除其他使用者的候選設定,請將 exclusive 參數加入 configure 命令中。在設定獨佔模式下,一旦離開工作階段,裝置就會放棄您對設定所做的所有未認可變更。

mike@juniper1> configure exclusivewarning: uncommitted changes will be discarded on exitEntering configuration mode

configure private 命令

您可將 private 參數加入 configure 命令中,以建立您自己的隱私候選設定:

mike@juniper1> configure privatewarning:uncommitted changes will be discarded on exitEntering configuration mode

Page 42: JSF1_DO_JUNOS_CLI

第 4 章:探索設定模式 35

當隱私使用者認可變更時,JUNOS 軟體只會將隱私使用者所進行的候選變更,整合到作用中 (執行中 ) 的設定。軟體不會實作其他使用者所變更的任何候選設定。也就是說,多個使用者可以使用 configure private,同時對作用中的設定進行變更,這些變更彼此不相衝突。如果隱私使用者發出 rollback 0 命令,裝置只會放棄該使用者在候選設定中的變更。

附註 如果使用者建立一個隱私設定工作階段,其他使用者可以用標準模式登入,也可以登入他們自己的隱私工作階段。當某個使用者已經登入時,系統會警告其他使用者,有人正在修改設定。

最佳實作 如有多個使用者帳號都可變更設定,建議使用 configure exclusive 或 configure private。這個方法可避免不小心造成錯誤。例如,Juniper 工程師曾經聽說,有一個系統管理員不小心輸入了 delete interfaces 命令,系統管理員發現了這個錯誤,但他只是結束設定模式,卻未移除該陳述式。之後,當另一位使用者登入並認可設定時,所有裝置的介面都被刪除了!幸好 JUNOS 軟體可以回復到先前的設定。

了解設定模式基本知識

設定模式提供數個檢視和瀏覽候選設定的選項。

檢視候選設定

show 命令會顯示裝置的候選設定。從設定階層的頂層進入時,命令列介面會顯示完整的候選設定。下列範例提供已設定之裝置的簡短清單:

[edit]mike@juniper1# showversion “9.2R1.3”;groups

Page 43: JSF1_DO_JUNOS_CLI

36 第一次使用就上手:JUNOS CLI 大探索

{ re0 { system { host-name juniper1; } }}<... >

如果您尚未進行任何設定變更,候選設定便會和裝置的作用中 (執行中 ) 設定相同。

在階層中更深一點的地方,show 命令會顯示目前設定階層及以下階層的設定:

[edit interfaces ge-5/0/0]mike@juniper1# showgigether-options { flow-control; auto-negotiation;}unit 0 { family inet { address 1.2.3.4/28; }}

附註 您可能已經注意到,設定模式使用 show 命令的方式與操作模式不同。每個模式的命令彼此獨立,因此,show 命令在每個模式中代表不同的動作。

瀏覽設定

雖然您可以從階層的根目錄編輯設定,但一般來說,先瀏覽您要變更設定的區域,然後再新增或移除命令,會比較輕鬆。例如,如果您想要將新的服務新增到設定中,您可以發出以下一連串的 set 命令:

[edit]mike@juniper1# set system services fingermike@juniper1# set system services ftpmike@juniper1# set system services sshmike@juniper1# set system services telnet

Page 44: JSF1_DO_JUNOS_CLI

第 4 章:探索設定模式 37

不過,先瀏覽系統服務目錄,然後發出下列命令,是比較輕鬆的做法:

[edit system services]mike@juniper1# set fingermike@juniper1# set ftpmike@juniper1# set sshmike@juniper1# set telnet

無論使用哪種方式,當您完成時,下列幾行將會加入候選設定中:

[edit]system { services { finger; ftp; ssh; telnet; }}

CLI 在設定模式中提供四個用於瀏覽的命令:edit、up、top 和 exit。

edit 命令

使用 edit 命令可以跳到候選設定中的特定位置。設定模式標誌會變更,並指出您在階層中的新位置:

[edit] mike@juniper1# edit system services

[edit system services]mike@juniper1#

您無需從最上層目錄發出 edit 命令。例如,如欲瀏覽 system syslog host log 階層,您可以從階層的最上層發出下列命令:

[edit]mike@juniper1# edit system syslog host log

[edit system syslog host log]mike@juniper1#

Page 45: JSF1_DO_JUNOS_CLI

38 第一次使用就上手:JUNOS CLI 大探索

您也可以發出以下一連串的 edit 命令來瀏覽到相同的階層:

[edit]mike@juniper1# edit system

[edit system]mike@juniper1# edit syslog

[edit system syslog]mike@juniper1# edit host log

[edit system syslog host log]mike@juniper1#

從階層中發出 edit 命令時,會根據您在階層中的位置,發出相關的路徑。

附註 edit 命令的功能如同 UNIX change directory (CD) 命令,會將您移到階層樹狀目錄中的確實位置。

如果您瀏覽到不存在於設定中的階層位置,CLI 會建立該階層。不過,使用 set 命令明確地新增階層,有助於確實了解您所建立的階層,稍後將再詳細說明。

up 命令

up 命令可讓您在階層中往上移一層。根據預設,您只會移動一層。只要在命令之後加上一個數字,即可指定要往上移動幾層。

[edit interfaces fe-1/3/1 unit 0 family inet address 10.0.10.1]mike@juniper1# up

[edit interfaces fe-1/3/1 unit 0 family inet]mike@juniper1#

在上述範例中,interfaces、fe-1/3/1、unit 0、family inet 以及 address 10.0.10.1 各自代表從設定階層頂層的階層中的每一層,如下所示:

[edit]interfaces { fe-1/3/1 { unit 0 { family inet { address 10.0.10.1; } } }}

Up 命令 up 命令類似於在 Unix 目錄中輸入 cd ..。

Page 46: JSF1_DO_JUNOS_CLI

第 4 章:探索設定模式 39

top 命令

top 命令可讓您移動到第一個階層。

exit 命令

exit 命令會讓您返回上一個 edit 命令之前的階層位置。如果您從設定階層的最上層離開此命令,便會離開設定模式。

捷徑 您可以將瀏覽命令結合在一起,在階層中四處移動。例如,您可以同時使用 top and edit ,快速移動到設定階層的不同位置:

[edit protocols ospf area] mike@juniper1# top edit system login

[edit system login] mike@juniper1#

使用 top 搭配 show,即可從階層的其他區段顯示部分設定:

[edit protocols ospf area]mike@juniper1# top show system servicesweb-management { http { port 8080; }}

實地演練:瀏覽階層

使用 edit、up、top 與 exit 命令,移動到下列設定階層: [edit interfaces] [edit interfaces fe-0/0/0] [edit] [edit protocols bgp] [edit protocols ldp interface fe-0/0/0.0] [edit system] [edit system services telnet] [edit system syslog archive] [edit system syslog] [edit snmp v3] [edit snmp v3 usm local-engine] [edit snmp v3 target-parameters sample-parameters parameters]

Top 命令 top 命令類似於在 Unix 目錄中輸入 cd /。

Page 47: JSF1_DO_JUNOS_CLI

40 第一次使用就上手:JUNOS CLI 大探索

編輯設定

輸入一連串的命令 (包括加入和移除設定陳述式的命令 ) 來新增或變更候選設定。

set 命令

set 命令會將陳述式與值插入候選設定中。例如,如果您要將 ftp 服務加入到裝置中,請從階層頂層發出下列 set 命令:

[edit]mike@juniper1# set system services ftp

下列幾行將會加入到設定檔中:

system { services { ftp; }}

如有必要,也可使用 set 命令來新增陳述式的值。例如,如欲將裝置名稱設定為 juniper1,請輸入下列 set 命令:

[edit]mike@devicename # set system host-name juniper1

下列幾行將加入設定檔中:

system { host-name juniper1;}

delete 命令

delete 命令會從候選設定中移除陳述式。有效地刪除陳述式,可讓受影響的裝置、通訊協定或服務,回復到未設定的狀態。刪除容器陳述式會移除該階層之下的所有內容。

注意! delete 命令會移除所有從屬的陳述式和識別碼。例如,下面一行簡單的命令,可移除候選設定中的所有通訊協定設定資料:

[edit]mike@juniper1# delete protocols

Set 命令如欲了解如何使用 set 命令完整設定您的裝置,請至 www.juniper.net/dayone/ 下載《JUNOS Software Fundamentals Series Day One》(JUNOS 軟體基礎系列:第一次使用就上手 ) 說明書。

Page 48: JSF1_DO_JUNOS_CLI

第 4 章:探索設定模式 41

最佳實作 當您發出 delete 陳述式時,確認您所在階層的位置,並了解您的命令將會移除的所有內容!切記查看 [edit] 標誌,判斷您目前所在的階層位置,就可確保命令只會影響您要變更的部分設定。

如果刪除設定元素之後,設定陳述式是空的,CLI 會從候選設定中移除該設定陳述式。

實地演練:設定與刪除設定命令

按照下列步驟設定 IP 位址為 10.201.1.0/24 的序列介面,然後再加以刪除。

1. 在設定階層的最上層輸入下列 set 命令:

[edit] mike@juniper1# set interfaces se-1/0/0 unit 0 family inet address 10.210.1.0/24

2. 使用 show 命令查看該 se 介面是否已新增到設定 (下列範例只會顯示新增的陳述式,您的設定檔中的資料應該比下列顯示的資料還多 ) 中:

[edit] mike@juniper1# show interfaces { se-1/0/0 { unit 0 { family inet { address 10.210.1.0/24;} } } } }

3. 使用下列 delete 命令刪除介面:

[edit] mike@juniper1# delete interfaces se-1/0/0

4. 使用 show 命令查看該 se 介面現在是否已從設定檔中移除。

Page 49: JSF1_DO_JUNOS_CLI

42 第一次使用就上手:JUNOS CLI 大探索

想知道更多? 如需從裝置中移除一段相同的設定片段時,萬用字元可節省很多時間。裝置可以搜尋整個候選設定、尋找字串,然後刪除包含該字串的每一行。如果想要深入了解萬用字元的資訊,請瀏覽線上 《JUNOS Software CLI User Guide》(JUNOS 軟體 CLI 使用手冊 ) ,網址為 www.juniper.net/techpubs/,並參閱「進階功能」一節。

annotate 命令

JUNOS CLI 可以讓您在清單中留下有關設定的註解。當您或其他小組成員嘗試排解疑難問題,或需變更設定,這些註解相當好用。如欲加入註解,請使用 annotate,後面再加上您的附註:

[edit]mike@juniper1# annotate system this device is for training new JUNOS users

當您在設定模式中加入註解時,這些註解會與目前層級的陳述式產生關聯。每個陳述式都可包含一個相關聯的單行註解。如欲刪除註解,請使用 annotate 命令搭配一個空字串:

[edit]mike@juniper1# annotate system ""

認可候選設定

JUNOS CLI 提供多種功能,協助使用者找出錯字、遺漏和其他錯誤,並加以修正,以避免發生問題。除了候選設定之外,這些功能還包括提供檔案比較、檢查候選語法與內容、啟用快速回復,以及還原在系統上啟用新設定後變成隔離的設定。

圖 4.2 詳細說明裝置設定的檔案管理。作用中 (執行中 ) 的設定是裝置的操作檔案,也是裝置在開機程序期間所載入的設定。候選設定是儲存設定更新的工作複本。commit 命令會使裝置進行下列轉換 (針對通過驗證檢查的候選設定 ):

1. 將候選設定複製到作用中的設定。 此時,作用中的設定和候選設定相同。

2. 以一遞減所有回復設定檔,並將作用中的設定儲存為 rollback 0。

Page 50: JSF1_DO_JUNOS_CLI

第 4 章:探索設定模式 43

圖 4.2 JUNOS 設定檔管理

作用中 (執行中 ) 的設定檔以及最後三個回復設定檔會儲存在 /config 目錄中。裝置會將已封存之設定檔的其餘部分儲存在 /var/db/config 目錄中。

附註 作用中的設定檔名稱為 juniper.conf.gz,而回復設定檔的名稱為

juniper.conf.1.gz 到 juniper.conf.49.gz (提供 50 個作用中設定的封存 )。

v 49

v4

v3

v2

歷史設定 (回復 1)

文字檔

第 4 到 49 版保存在硬碟的 /var/db/config 中

「回復 <n>」

第 0 到 3 版保存在硬碟的

/config 中

認可時,或執行 Commit 或 Event Script 時,

傳送 SNMP trap/syslog 事件

「認可」

「儲存」

「載入」

scp 或 ftp

CLI 或用戶端應用程式

網路管理系統

認可時,或每 <n> 分鐘,執行之「系統封存」

作用中 (執行中) 的設定 (回復 0)

候選設定

Page 51: JSF1_DO_JUNOS_CLI

44 第一次使用就上手:JUNOS CLI 大探索

compare 命令

設定模式可以讓您輕鬆地利用 show | compare 命令來顯示兩個設定之間的設定差異。

下列範例會啟用 Telnet 存取,並移除 SSH 和 J-Web 存取,以修改候選設定:

[edit system]mike@juniper1# set services telnet

[edit system]mike@juniper1# delete services web-management

[edit system]mike@juniper1# delete services ssh

接著顯示與作用中設定相較之下,候選設定中所發生的變更:

[edit system services]mike@juniper1# show | compare- ssh;+ telnet;- web-management {- http {- port 8080;- }- }

命令介面以加號 (+) 表示候選設定中新的行,以減號 (-) 表示移除的行。

捷徑 操作模式命令 show configuration 會顯示目前作用中 (執行中 ) 的設定。您可在設定模式中加入關鍵字 run 來執行此命令:

[edit]mike@juniper1# run show configuration

commit check 命令

CLI 還提供一個命令,檢查系統是否可以處理您的候選設定。commit

check 命令可在不啟用任何變更的情況下,驗證候選設定的邏輯和完整性。這些驗證與您 commit 候選設定時所執行的驗證相同。如果系統在候選設定中發現問題,它會告訴您:

Page 52: JSF1_DO_JUNOS_CLI

第 4 章:探索設定模式 45

[edit]mike@juniper1# commit check[edit interfaces lo0 unit 0 family inet] 'address 192.168.69.1/24' Loopback addresses' prefix must be 32 bitserror: configuration check-out failed

最佳實作 啟用候選設定作為執行中的設定之前,請務必檢查您的工作。使用 show | compare 命令來確認所有預期的設定元素和參數都是候選設定的一部分。輸入 commit check 命令,讓系統在不啟用變更的情況下,驗證您的候選設定。

commit 命令

候選檔案只是建議的設定,而且在您發出 commit 命令之前,裝置不會使用這個設定的任何部分。輸入所有想要的變更,並再次檢查您的工作之後,您就可以啟用您的候選設定作為作用中 (執行中 ) 的設定。

如欲啟用候選設定,請輸入 commit 命令:

[edit]mike@juniper1# commitcommit complete

實際啟用候選設定之前,JUNOS 軟體會檢查基本語法和語意。例如,軟體會確認已定義原則,才參照該原則。如果發現任何語法或語意問題,commit 命令會傳回一個錯誤:

[edit]mike@juniper1# commiterror: Policy error: Policy my-policy referenced but not definederror: BGP: export list not appliederror: configuration check-out failed

您必須先修正所有錯誤,候選設定 (或候選設定的任何部分 ) 才能變成作用中的設定。

Page 53: JSF1_DO_JUNOS_CLI

46 第一次使用就上手:JUNOS CLI 大探索

commit complete 訊息會告訴您新的設定已經在裝置上啟動並執行:

[edit]mike@juniper1# commitcommit complete

注意! 根據預設,如果有多個使用者正在修改設定,認可設定時會儲存並啟用所有使用者的變更 (除非使用者處於 configure private 模式下,請參閱第 34-35 頁 )。

commit confirmed 命令

您是否也曾經犯過這種錯誤?您在遠端機器上增加了安全性,卻發現新的防火牆讓您無法使用存取裝置的介面?您是否曾經不小心隔離了遠端機器,然後必須在大半夜開上老遠的路程,只為了重設機器?commit confirmed 命令可以自動回復有問題的設定,以避免防止高成本的設定錯誤。

commit confirmed 命令會認可使用候選設定 10 分鐘。如果您接下來未再次 commit,裝置便會自動回復到先前的設定。如欲使用安全措施來預防潛在設定問題,則可隨時使用 commit confirmed 命令:

[edit]mike@juniper1# commit confirmed commit confirmed will be automatically rolled back in 10 minutes unless confirmedcommit complete

如果一切無誤,請再次 commit 新的設定,它才能成為永久設定:

[edit]mike@juniper1# commit commit complete

如未再次輸入 commit 命令來確認設定,CLI 會在 10 分鐘後,將裝置回復到先前作用中的設定。如此一來,如果您不小心隔離了裝置,只需要等待回復即可,而不必煩惱如何改正錯誤:

Page 54: JSF1_DO_JUNOS_CLI

第 4 章:探索設定模式 47

Broadcast Message from root@juniper1 (no tty) at 08:10:17 UTC Commit was not confirmed; automatic rollback complete.

在裝置回復之後,檢查候選設定是否有誤,然後再 commit 一次。

您可在命令中加入等待的時間 (分鐘 ),變更裝置回復前所等待的時間:

[edit]mike@juniper1# commit confirmed 2commit confirm will be automatically rolled back in 2 minutes unless confirmed commit complete

最佳實作 如欲設定遠端裝置,請務必使用 commit confirmed 命令啟用候選設定。即使是經驗豐富的 JUNOS 使用者,也會使用其安全措施來保護自己的工作。很多人都有慘痛的經驗,因此這項安全措施可有效補救已造成的錯誤,並避免更多勞民傷財的修正工作。

將日常工作自動化

您可在自己的指令表中加入自動執行的指令碼,以提高工作效率。JUNOScript 可以讓您隨心所欲地將設定與操作 CLI 命令自動化。使用自動執行的指令碼不僅可節省時間,還可避免設定錯誤,並加速問題解決與還原,減少停機的時間。

認可指令碼可針對設定進行自訂檢查,以確認它們遵循網路標準與原則。Op 和事件指令碼可以接收命令輸出、進行檢查,然後決定接下來的適當行動 — 它會不停重複這個程序,直到發現問題來源為止。

想知道更多? 如需有關實作指令碼的指示,請參閱《Configuration and Diagnostic Automation Guide》(設定與診斷自動化手冊 ) ,網址為 www.juniper.net/techpubs/。

Page 55: JSF1_DO_JUNOS_CLI

48 第一次使用就上手:JUNOS CLI 大探索

回復設定

在認可候選設定為新的作用中設定後,JUNOS 軟體會自動儲存一份被取代的作用中檔案。每當您儲存一個被取代的設定時,先前所有的設定檔,都會在設定封存中往後移一個版本編號。每個裝置最多可以儲存 49 的最近作用中的版本,以及目前作用中的設定 (亦即 rollback 0)。

您可以使用 rollback 命令來存取此設定封存,包括您欲存取之版本數量。使用 rollback 1 命令回復最近的舊設定檔:

[edit] mike@juniper1# rollback 1load complete

rollback 命令會載入要求的封存,以作為候選檔案。如欲立即使用該封存,請使用 show 命令確認這是您要的封存,然後以 commit 命令加以啟用:

[edit] mike@juniper1# show<. . . > [edit] mike@juniper1# commitcommit complete

這個自動備份機制可快速回復先前的設定,以便立即使用或快速更新。

注意! 請記住,您必須認可使用候選檔案,才能實際啟用選取的回復檔案,以作為執行中的設定。

秘訣 如果不確定作用中 (執行中 ) 的設定與回復檔案之間的差異,請使用 show | compare 命令進行調查:

[edit interfaces]mike@juniper1# show | compare rollback 2

rollback rescue 命令會載入資源設定檔 (如需詳細資訊,請參閱第 28 頁的「最佳實作」秘訣 )。

Page 56: JSF1_DO_JUNOS_CLI

第 4 章:探索設定模式 49

[edit interfaces]- fe-3/0/1 {- vlan-tagging;- unit 240 {- vlan-id 240;- family inet {- address 10.14.250.1/28;- address 10.14.250.17/28 {- preferred;- }- address 10.14.250.33/28;- address 10.14.250.49/28;- address 10.14.250.65/28;- }- }- }

秘訣 使用 rollback 命令搭配問號使用,即可列出完整的封存:

[edit]mike@juniper1# rollback ? Possible completions:<[Enter]> Execute this command0 2009-01-31 04:34:56 UTC by mike via cli1 2009-01-31 04:30:03 UTC by mike via cli2 2009-01-30 06:23:44 UTC by mike via cli<. . . >48 2008-11-03 08:00:03 UTC by mike via cli49 2008-11-03 07:45:21 UTC by mike via cli | Pipe through a command

秘訣 如欲將候選設定重設為目前作用中的設定,可使用 rollback (或 rollback 0) 命令。

事先準備系統變更

JUNOS CLI 提供各種方式,以預先準備系統變更。這些方式可以存在您的設定中但不起作用,直到您需要使用它們,或是設定啟用時間,再依排程的時間使用。

新硬體的預先設定

不同於其他作業系統,JUNOS 軟體可在實際安裝硬體之前,做好預先準備。軟體只要忽略執行中之設定,其中與現有硬體安裝無關的部分即可。一旦硬體開始運作,新加入的設定部分就會立即啟用。

Page 57: JSF1_DO_JUNOS_CLI

50 第一次使用就上手:JUNOS CLI 大探索

在安裝硬體之前先進行設定,十分有幫助,尤其是由不同人安裝硬體和設定裝置時。在這種情況下,通常會使用遠端機器。例如,以下是明天才會安裝的 fe-3/0/0 設定:

[edit]mike@juniper1# edit interfaces fe-3/0/0 unit 0

[edit interfaces fe-3/0/0 unit 0]mike@juniper1# set family inet address 192.168.1.254/24

[edit interfaces fe-3/0/0 unit 0]mike@juniper1# commitcommit complete

commit at 命令

有時您可能想事先準備設定變更,以便在特定時間內啟用,例如在系統維護期間。commit at 命令可支援此功能:

[edit]mike@juniper1# commit at 02:00:00 commit check succeedscommit will be executed at 2009-02-02 02:00:00 UTCExiting configuration modemike@juniper1>

如欲顯示任何擱置的認可 (以及認可歷程記錄 ),請輸入 show system commit 命令。您可以利用 clear system commit 命令取消擱置的認可。

mike@juniper1>clear system commit Pending commit cleared

Page 58: JSF1_DO_JUNOS_CLI

第 4 章:探索設定模式 51

deactivate 命令

您也可以變更設定,並將它們標示為非作用中,直到您要使用這些變更為止。裝置會忽略設定中的這些部分,即使它們尚未進行定義。在此範例中,位於 192.168.1.1 的新 BGP 鄰居已完成設定,但維持在停用狀態,直到準備好進行工作階段為止:

[edit]mike@juniper1# edit protocols bgp group internal

[edit protocols bgp group internal]mike@juniper1# set neighbor 192.168.1.1

[edit protocols bgp group internal]mike@juniper1# deactivate neighbor 192.168.1.1

[edit protocols bgp group internal]mike@juniper1# showtype internal;local-address 10.14.243.255;export [ nhs accept-aggregates ];neighbor 10.14.243.254;inactive: neighbor 192.168.1.1;

[edit protocols bgp group internal]mike@juniper1# commitcommit complete

當您準備好進行變更時,只要啟用並認可該設定部分,裝置就會開始使用它:

[edit protocols bgp group internal]mike@juniper1# activate neighbor 192.168.1.1

[edit protocols bgp group internal]mike@juniper1# commitcommit complete

您可以停用設定階層的任何部分,裝置會忽略該階層之下的全部內容。例如,您可以停用 BGP 鄰居 (稱為 internal) 的整個群組:

[edit protocols bgp group internal]mike@juniper1# up

[edit protocols bgp]mike@juniper1# deactivate group internal

Page 59: JSF1_DO_JUNOS_CLI

52 第一次使用就上手:JUNOS CLI 大探索

使用設定捷徑

典型的設定包含許多類似的元素,由使用者命名並定義,例如介面名稱、原則陳述以及防火牆篩選等。JUNOS CLI 包含的命令可以複製並快速變更這些使用者定義元素的設定。

copy 命令

copy 命令會複製設定陳述式及其下設定的所有從屬陳述式。在使用命令時,您可以將與某個使用者定義元素相關聯的設定,複製到類似設定的新元素中。接著只要根據您的需求修改第二個元素即可。

下列範例設定顯示已設定的序列介面 se-0/0/2:

[edit interfaces]mike@juniper1# show se-0/0/2 { serial-options { clocking-mode dce; clock-rate 125.0khz; } unit 0 { point-to-point; family inet { address 10.0.22.1/24; } }}

您可以使用 copy 命令來設定新的介面 se-0/0/1。複製的介面與原始介面擁有完全相同的參數。接下來,您可在新建立之介面 se-0/0/1 的設定中,進行任何需要的變更,例如,您可以變更其位址:

[edit interfaces]mike@juniper1# copy se-0/0/2 to se-0/0/1

[edit interfaces]mike@juniper1# delete se-0/0/1 unit 0 family inet address 10.0.22.1/24

Page 60: JSF1_DO_JUNOS_CLI

第 4 章:探索設定模式 53

您已經刪除了複製的位址。現在,以新介面的正確位址取代該位址:

[edit interfaces]mike@juniper1# set se-0/0/1 unit 0 family inet address 10.0.36.2/24

很快的,新的 se-0/0/1 介面已經建立,並且保留了和 se-0/0/2 介面相同的大多數內容:

[edit interfaces]mike@juniper1# show se-0/0/1 { serial-options { clocking-mode dce; clock-rate 125.0khz; } unit 0 { point-to-point; family inet { address 10.0.36.2/24; } }}

se-0/0/2 { serial-options { clocking-mode dce; clock-rate 125.0khz; } unit 0 { point-to-point; family inet { address 10.0.22.1/24; } }}

注意! 使用 copy 命令變更設定時,請務必檢查您所做的編輯,再認可候選檔案。確認您已經在所有複製的陳述式中進行所有必要的修改。

請記住,在您複製部分設定後,設定可能不會立即生效。您必須檢查新設定的有效性,如有必要,請進行修改,設定才會生效。

Page 61: JSF1_DO_JUNOS_CLI

54 第一次使用就上手:JUNOS CLI 大探索

rename 命令

如需變更使用者定義的變數值 (例如,原則名稱、篩選名稱、IP 位址 ),或變更使用者定義元素的名稱, rename 命令是相當好用的捷徑。

在下一個範例中,快速 Ethernet fe-4/0/2 介面的位址錯誤地設定為 10.73.24.103/24。

[edit interfaces]mike@juniper1# show

fe-4/0/2 { unit 0 { family inet { address 10.73.24.103/24; } }}

您可使用 rename 命令,將值變更為 10.73.24.143/24:

[edit interfaces]mike@juniper1# rename fe-4/0/2 unit 0 family inet address 10.73.24.103/24 to address 10.73.24.143/24

確認變更已快速完成:

[edit interfaces]mike@juniper1# show

fe-4/0/2 { unit 0 { family inet { address 10.73.24.143/24; } }}

附註 您也可以使用 delete 命令來移除陳述式,然後使用 set 命令來加入新的值,而不要使用 rename。

Page 62: JSF1_DO_JUNOS_CLI

第 4 章:探索設定模式 55

切換連接埠:實用的設定技巧

有多少次,您必須將連線暫時移到另一個連接埠,只是為了進行測試?在 JUNOS,這個程序變得十分簡單。依照下列範例執行,設定就會從 fe-2/0/1 移到 fe-2/0/0。

首先,查看現有的介面設定:

[edit]mike@juniper1# show interfacesfe-0/0/0 { description “MGMT INTERFACE - DO NOT DELETE”; unit 0 { family inet { address 10.210.9.177/28; } }}fe-2/0/1 { vlan-tagging; unit 240 { vlan-id 240; family inet { address 10.14.243.238/28; } }}

以下將移動候選檔案中的連接埠:

[edit]mike@juniper1# rename interfaces fe-2/0/1 to fe-2/0/0

現在,候選設定中會顯示這個移動的作業:

[edit][email protected]# show interfacesfe-0/0/0 { description “MGMT INTERFACE - DO NOT DELETE”; unit 0 { family inet { address 10.210.9.177/28; } }}fe-2/0/0 {

Page 63: JSF1_DO_JUNOS_CLI

56 第一次使用就上手:JUNOS CLI 大探索

vlan-tagging; unit 240 { vlan-id 240; family inet { address 10.14.243.238/28; } }}

想知道更多? 如欲深入了解設定模式的命令,請參閱線上的《JUNOS Software CLI User Guide》(JUNOS 軟體 CLI 使用手冊 ),網址為 www.juniper.net/techpubs/。

Page 64: JSF1_DO_JUNOS_CLI

接下來將為您介紹一些實用的網路資源 ...

www.juniper.net/junos

提供執行 JUNOS 軟體的必備知識與教育訓練。

forums.juniper.net/jnet

由 Juniper 贊助的 J-Net 社群論壇,致力於分享 Juniper 產品、技術與解決方案的資訊、最佳實作,以及問題排除。請即註冊以加入這個免費的論壇。

www.juniper.net/techpubs

這個網站免費提供所有 Juniper 產品的相關文件。請在每個產品系列下,尋找所需的 JUNOS 軟體資訊。

www.juniper.net/books

Juniper 與多家出版商合作,以撰寫並發行各種技術書籍,探討網管理人員重視的各種主題。請密切注意最新出版的書籍清單。

www.juniper.net/training/fasttrack

使用者可在線上、特定地點,或全球任何一個合作夥伴訓練中心,參加培訓課程。Juniper Network 技術認證計劃 (JNTCP) 為已具備設定 Juniper 產品與排解疑難能力的使用者,提供認證。如欲快速查詢企業路由、交換或安全性等相關認證,請參閱線上課程、學員手冊及實驗室手冊。

對於《第一次使用就上手》一書,您有任何意見嗎?請將您的寶貴意見,e-mail 到:[email protected]

Page 65: JSF1_DO_JUNOS_CLI

命令參照(摘要說明書中討論的命令)。

設定模式命令

activate 啟用部分設定。

annotate 加上關於設定陳述式的註解。

commit 認可變更的候選設定。

commit at 在設定的時間認可候選設定。

commit check 在不啟用任何變更的情況下,驗證候選設定。

commit confirmed 如果使用者未確認執行某個命令,則自動回復。

compare 顯示兩個設定之間的差異。

copy 複製陳述式。

deactivate 將部分設定標示為非作用中。

delete 移除設定陳述式或識別碼。

edit 移動到指定的階層。

exit 離開設定階層的某個層級。若是在最上層,則會離開設定模式。

exit configuration-mode 離開設定模式。

help 取得內建的說明。

pipe 從某個命令取得輸出,並作為另一個命令的輸入,或是將輸出重新導引至某個檔案。

rename 為設定或識別碼指派一個新名稱。

rollback 將候選檔案還原到先前已確認的設定。

run 執行操作模式的命令。

set 建立一個陳述式階層並設定識別碼值。

show 顯示候選設定。

top 移動到第一個階層。

up 在階層中上移動一層。

操作模式命令

clear 移除系統資訊。

configure 進入設定模式。

configure exclusive 獨佔鎖定候選設定,讓其他人無法進行編輯。

configure private 為使用者提供其候選設定複本。

exit 離開操作模式。

file copy 建立與封存檔案。

file list 列出裝置上的檔案和目錄。

file show 檢視檔案內容。

help 取得內建的說明。

monitor 顯示即時的除錯資訊。

ping 將訊息傳送到其他主機以驗證連線。

pipe 從某個命令取得輸出,作為另一個命令的輸入,或是將輸出重新導引至某個檔案。

request 安裝新的軟體版本、重新開機、關機。

restart 重新啟動個別作業系統的精靈。

set 建立系統屬性。

show 顯示系統資訊。

ssh 在其他主機上啟動安全殼層。

start shell 登入 C 殼層介面。

telnet 開啟網路上另一個裝置或主機的終端機連線。

traceroute 記錄並顯示從一個位置到另一個位置,每個 IP 封包的 hop。

Page 66: JSF1_DO_JUNOS_CLI

JUNOS ® 軟體基礎系列 #1

第一次使用就上手: JUNOS CLI 大探索 可以幫助您:

‧ 在 JUNOS 軟體執行的任何裝置上,瀏覽 CLI 的操作模式與設定模式。

‧ 了解每個模式下的階層。

‧ 取得內建說明,並利用快捷鍵獲得事半功倍的效果。

‧ 在操作模式下顯示裝置狀態、告警訊息,以及其他實用的資訊。

‧ 修改、儲存及載入設定檔,並將操作風險降至最低。

‧ 使用設定模式的基本命令,如 show、set 與 delete 等。

‧ 利用 JUNOS 軟體認可模式的安全功能。

‧ 預先準備系統變更。

‧ 利用資深使用者提供的捷徑和秘訣,避免常見的錯誤。

Juniper Networks 的《第一次使用就上手》手冊是由專精網路的主題專家與工程師所撰寫。如需其他高效能網路解決方案的資訊,請至 www.juniper.net/dayone。本手冊也提供 PDF 格式,以便於閱讀。

第一次使用就上手:JUNOS CLI 大探索

JUNOS CLI 為您提供新的工具、捷徑及防護功能。了解這些新功能,可省下可觀的敲鍵盤時間。其實用的格式,提供了清楚的說明、逐步的操作指示,以及大量的範例。此外,您還可在「實地演練」單元中,練習剛才閱讀的內容。

「清楚、簡潔,又詳細說明技術細節,可協助 Juniper Networks新手使用者,第一次使用就上手;進階使用者也可利用這些手冊,快速查閱不常執行之任務的參考資料。這些手冊是所有 Juniper Networks 設備使用者不可或缺的寶典。」

本手冊適用於初次使用 JUNOS 軟體與 Juniper Networks 產品的使用者。它不但是學習 JUNOS 軟體的基礎,也可幫助讀者輕鬆學習其他「第一次使用就上手」系列主題。