66
JUNOS ® 软件基础系列 第一天:了解 JUNOS CLI Cathy Gadecki Michael Scruggs “正是您第一天入门所需的信息。” 用这本指导性的小册子来 节省时间,并开始第一天 的工作。

第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

JUNOS ® 软件基础系列

JUNOS ® 软件基础系列 #1

P 228 08

《第一天:了解 JUNOS CLI》告诉您如何:

• 在运行 JUNOS 软件的设备上进行 CLI 的操作模式和配置模式的操作。

• 理解每种模式的基础层次结构。

• 获得机载帮助并使用快捷键加快工作速度。

• 显示设备状态、报警和操作模式下的其他有用信息。

• 在尽量不影响操作的情况下修改、保存和加载配置文件。

• 使用基本配置模式命令,如 show、set 和 delete。• 利用 JUNOS 软件提交模式的安全功能。

• 预先为系统更改作准备。

• 利用快捷方式和使用技巧,避免常见问题。

瞻博网络的《第一天》系列小册子由有关问题的专家和专攻网络建设与运行的工程师撰写。请在 www.juniper.com/dayone 查找涉及高性能联网解决方案的其他文章。本书也有 PDF 版本。

第一天:了解 JUNOS CLI

第一天:了解 JUNOS CLI

Cathy Gadecki 和 Michael Scruggs 著

“正是您第一天入门所需的信息。”7100097-001-EN

用这本指导性的小册子来

节省时间,并开始第一天

的工作。

本书面向第一次使用 JUNOS 软件和瞻博网络产品的用户。它不仅能打下学习 JUNOS 软

件的基础,还能方便理解《第一天》系列中的后续内容。

JUNOS CLI 为您提供新的工具、快捷方式和安全措施。了解这些新功能可以省下大量敲键

盘的时间。实践模式提供简单易懂的说明、分步指导和大量示例。“实践”部分让您练习刚

才学到的内容。

“简单明了,又有足够的技术细节让瞻博网络设备的新用户能在第一天完成所需的任务,并

让高级用户有方便的参考表来执行可能不是每天都要执行的任务。这些指南对所有使用瞻博

网络设备的人来说都是必不可少的工具。”

Orin Blomberg、CCNP、CCIP、CCSP、JNCIS-M、JNCIS-ER、 JNCIS-FWV

Page 2: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

JUNOS®软件基础系列

第一天:了解JUNOSCLI

CathyGadecki和MichaelScruggs著

第 1 章:介绍 CLI  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   1

第 2 章:入门  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   7

第 3 章:了解操作模式   . . . . . . . . . . . . . . . . . . . . . . . . .    23

第 4 章:了解配置模式   . . . . . . . . . . . . . . . . . . . . . . . . .   31

资源   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .   57

Page 3: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

© 2009 Juniper Networks, Inc. 保留所有权利。

Juniper Networks、Juniper Networks 徽标、JUNOS、 NetScreen 和 ScreenOS 是 Juniper Networks, Inc. 在美国和其他国家 / 地区的注册商标。JUNOSe 是 Juniper Networks, Inc. 的商标。所有其他商标、

服务标记、注册商标或注册服务标记均为其各自

所有者的财产。

瞻博网络对本文档中的不准确内容不负任何责任。

瞻博网络保留更改、修改、转印或以其他方式修订

本出版物的权利,恕不另行通知。瞻博网络制作或

销售的产品或其组件可能受瞻博网络拥有或得到

许可的下列一项或多项专利的保护:美国专利号

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。

瞻博网络发行

Vervante.com 在美国印刷 编辑:Nancy Koerbel版权代理:Ames & Eames, Inc.

版本:v2 2009 年 4 月

关于作者

Cathy Gadecki 是在瞻博网络负责 JUNOS 软件的

高级产品市场推广经理。她的著作包括与人合著

的 JUNOS for Dummies,这是 JUNOS 软件的一

本实用指南。

Michael Scruggs 是瞻博网络的技术出版经理。

作者鸣谢

作者要感谢许多协助创作本书的人。我们的文

字经理 Patrick Ames 提供了丰富的 专业出版知

识,帮助确定《第一天》的各个系列和设计这第

一本小册子。Nancy Koerbel 帮助进行了编辑。

Susan Harris 帮忙研究和草拟了本书的早期版本。

Jonathan Looney 和 Michael Bushong 提供了示例

和习题, 以及他们广博的专业知识。Jeff Mattan 协助宣传。还有瞻博网络 技术出版部和瞻博网络

教育服务部的众多特约作者为我们提供了参考资

料、说明和示例。我们还要感谢 Michelle Bhatia 和 Bernadette Willis 的大力支持。

ii

Page 4: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

欢迎阅读《第一天》

《第一天》系列小册子将为您提供在第一天需要的信息,帮助您快速

了解新主题。

它们旨在提供简单明了的说明、手把手的指导和许多便于掌握的详细

示例。实践 部分可让您在自己的笔记本电脑或终端上实际体验命令、

配置和其他步骤。注意书页边缘的提示,其中包括最佳做法、警告、

快捷方式、技巧和注释。

为何使用第一天 系列小册子?

做一个简单设想,您希望尽可能快速有效地使用您的瞻博设备。而又

没有时间阅读完提供给您的所有文档。您甚至不知道从哪里入手。您

只想知道在第一天该做什么。《JUNOS 软件基础系列》正好满足您的

需求,只需一本小册子,您就可以开始操作了!

内容

《第一天》系列小册子着眼于操作,其中包含许多示例供您查看。如

果您愿意,请自己尝试这些示例。这些示例以定宽字体显示命令的屏

幕输出,这些命令是您以粗体输入的。

在您开始前

要访问 JUNOS CLI,必须先通过带外控制台端口或带内管理端口访

问设备本身。由于每个网络都是不同的,因此这本小册子无法涵盖登

录到已部署的设备的全过程。在尝试登录前,您必须了解您的网络是

如何设置的,或者能够实际访问设备。

如果您需要访问设备的相关信息,请参阅您的产品的快速入门 指南,

地址是 www.juniper.net/techpubs/。

iii

Page 5: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

这本小册子为您提供的信息

第一天:了解 JUNOS CLI 将帮您理解命令行界面的命令和操作

方法。《JUNOS 软件基础系列》中的后续小册子将在此基础上帮

您完成设备的设置,让它们能在您的网络中运行。

读完这本小册子以后,您将能够:

P在运行 JUNOS 软件的设备上,进行 CLI 的操作模式和配置

模式的操作。

P理解每种模式的基础层次结构。

P获得机载帮助并使用快捷键加快工作速度。

P显示设备状态、报警和操作模式下的其他有用信息。

P在尽量不影响正常运转的情况下修改、保存和加载配置文件。

P使用基本配置模式命令,如 show、set 和 delete。

P利用 JUNOS 软件提交模式的安全功能。

P预先为系统更改作准备。

P利用快捷方式和技巧提示,避免常见问题。

P找到有关这些 CLI 主题的更多信息

iv

Page 6: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

v

阅读之前必须了解的知识

第一天:了解 JUNOS CLI 将打下学习 JUNOS 软件的基础,帮助读

者理解《JUNOS 软件基础系列》中后续的几本《第一天》小册子。

第一天:了解 JUNOS CLI 面向第一次使用 JUNOS 或瞻博产品的用

户,但也可以供较有经验的 JUNOS 管理员参考或温习。

如果您对基本的联网概念有所了解,在阅读本书时将大有帮助。

如何向我们提供反馈

您有什么关于《第一天》小册子的意见或好建议吗?我们很乐意倾听

您的建设性意见和批评。如果您有时间,请发送邮件至 [email protected]

v

Page 7: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

现在就开始吧!

那些没有耐心的人们 ... 赶快运用这四个步骤,自己动手了解基于 JUNOS 的新设备(在出厂默认配置下)吧。

步骤1:连接 使用零调制解调器或反转线将管理 PC 连接到新瞻博设备的控制台端

口,打开 PC 并启动其终端仿真程序,然后打开瞻博盒电源。

步骤2:登录 在登录提示符下输入 root,然后在密码提示符下输入并按 Enter。如

下所示,用户输入以粗体显示:

host (ttyd0)

login: root

password:

步骤3:进入CLI 您通过身份验证后,就会进入 UNIX 外壳。要从提示符进入 CLI,输入 cli。如下所示,用户输入以粗体显示:

root@Amnesiac% cli

步骤4:考察 现在您已进入命令行界面的操作模式。在命令行层次结构的任何位

置输入问号,您会立即看到可能的输入内容列表。试试看吧,输入 ?。

瞧见没?这是操作模式层次结构顶端的有效命令列表。您还可以使用

问号找到输入有效的完整命令的可能方法。例如:

user@Amnesiac > show i?

显示所有以字母 i 开头的可能的 show 命令。再看看您还能发现什么

吧。输入 configure 后会怎样?

vi

Page 8: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第1章

介绍CLI

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

了解操作命令层次结构  . . . . . . . . . . . . . . . . . . . . . . . .  3

了解配置语句层次结构  . . . . . . . . . . . . . . . . . . . . . . . . .4

Page 9: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

2 第一天:了解JUNOSCLI

命令行界面 (CLI) 是用于访问设备的软件界面。您可以从此处配置平

台、监控其操作并根据需要调整配置。

如果您操作过其他网络设备,JUNOS CLI 看起来应当比较熟悉,但

您很快就会注意到有一些新的、不同的命令。无需担心。这些变化提

供了一组丰富的新工具和安全措施,它们可帮助您有效地管理网络并

维持长时间的正常运行。

命令行界面包括大量用于获取帮助的快捷方式和命令。如果掌握这些

快捷方式和命令,您可以减少许多敲击键盘的时间。只需花点功夫,

您就会明白为什么有那么多人说 JUNOS 为他们节省了时间(通常是

节省很多时间)、减少了重复性的工作并且避免了出错。

J-Web

如果您喜欢使用 Web GUI 而不是 CLI,就请看看 JUNOS 设备上提

供的基于 Web 的强大管理界面 J-Web。J-Web 可以让您执行命令行

界面中提供的相同操作。它提供了监控、配置和管理设备以及排除设

备故障的实用工具。

更多信息?请前往 www.juniper.net/techpubs/ 查看关于您的设备的 J-Web 技术

文档。

概述命令模式

了解 JUNOS CLI 的第一步是理解它的两种命令模式:

n操作模式:管理和监控设备操作。例如,监控设备界面的状态、

检查机箱警报以及对设备的操作系统进行升级和降级。

n配置模式:配置设备及其界面。其中包括用户访问权限、界面、

协议、安全服务和系统硬件属性。

Page 10: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第1章:介绍CLI 3

图1.1 JUNOSCLI模式的层次结构

JUNOS CLI 将每个模式的活动都构建成了层次结构,如图 1.1 所示。

每个模式的层次结构都由共用的相关功能的级联分支构成。

命令行界面的层次结构是深受用户喜爱的 JUNOS CLI 的众多特色之

一。通过对活动进行逻辑分组,JUNOS CLI 提供了规则、一致的语法,

有助于了解您所处的位置、查找所需的信息、在界面中移动以及输入

命令。

了解操作命令层次结构

当您首次登录 CLI 时,命令行界面处于 CLI 的操作模式的顶层。

在下一页,图 1.2 提供 CLI 的操作模式顶部树形结构的视图,并通过 show 命令显示其级联层次结构的示例。例如,show configuration 层次结构包括:access、chassis、firewall、groups 等。命令的结

构分组可以使用户在分层路径中轻松地快速上下移动或移动至 CLI 中任何位置的特定功能。

Page 11: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

图1.2 操作模式树形结构的顶部

注意 每个层次结构的顶层都很像 UNIX 文件系统的顶部 (\),而且操作模式

和配置模式的层次结构都类似于 UNIX 系统、PC 和 Mac 上的目录结

构。您将在第 3 章中了解到更多有关操作模式的信息。

了解配置语句层次结构

配置模式有一个层次结构,在其中对相关配置语句进行逻辑分组。通

过此结构,您能更容易地找到和查看相关语句,从而方便进行配置设

置、查看和修改。图 1.3 对配置树形结构的某一部分作了说明,其中 system 和 interfaces 这类节点位于层次结构的第 2 层。

图1.3 配置模式树形结构的顶部

clear configure file help monitor set show

chassis cli configuration host log security system

access chassis firewall groups interfaces services security

access chassis firewall groups interfaces services system

accounting archival license location ports services syslog

finger ftp netconf outbound ssh

ssh telnet xnm-ssl

4 第一天:了解JUNOSCLI

Page 12: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第1章:介绍CLI 5

配置语句层次结构包括两种类型的语句:

n容器语句:包含其他语句,即它们包括从属配置级别

n叶语句:不包含其他语句,它们位于特定分层路径的末端

配置语法

命令行界面通过特定语法显示配置模式的层次结构。以下示例突出显

示了您读取 JUNOS CLI 配置列表时所需了解的信息:

[edit]system { services { ftp; }}

1. [edit] 标题指示列表的开始层级。

2. CLI 按照缩进每个从属层的方式显示配置的层次结构。

3. CLI 用一对大括号 ({ }) 指示容器语句。在上述示例中,system 和 services 属于级联容器语句。

4. CLI 用分号 (;) 指示叶语句。在上述示例中,ftp; 属于叶语句。

注意 当配置中的组织结构类似于 C 语言或其他编程语言时,您无需了解

编程即可了解该配置文件。它只是该配置的一个轮廓视图(记住英文

级别)。当您了解轮廓视图的工作方式后,就会发现该配置非常容易

读取和操纵。

Page 13: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

6 第一天:了解JUNOSCLI

配置命令标题

您可以通过参阅配置命令标题,随时确定自己在配置层次结构中的

位置,如上述示例中的 [edit] 标题所示。当您位于层次结构的更

深级别时,该 [edit] 标题将显示整个分层路径。例如,标题 [edit system services] 指示该层次结构中位于第 3 层 services 中、第 2 层 system 中和第 1 层根目录中的某个位置。

因此,FTP 服务的以下两个配置语句是相等的。在第一个语句中,您

查看的是层次结构的根级别中的语句,因此,ftp; 语句会显示在位

于 system 和 services 容器语句内的本列表中。

[edit]system { services { ftp; }}

在第二个示例中,您查看的是层次结构内更深一层的 ftp; 语句,具

体位于 system 和 services 层次结构内。当您进一步深入该层次结构

时,命令行将只显示 ftp; 语句。

[edit system services]ftp;

当您只想关注一小部分配置时,可在层次结构的特定从属层上工作的

灵活性会大有帮助。

您将在第 4 章中学习操作配置层次结构。

但是现在,让我们立即开始使用 CLI。它既快捷又方便。放心吧,您

用的是 JUNOS,绝不会找不到方向的。

Page 14: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第2章

入门

登录   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8

在操作模式和配置模式之间切换   . . . . . . . . . . . . . . . .9

使用按键快捷方式  . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9

获取帮助   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11

使用管道命令和More过滤输出   . . . . . . . . . . . . . . . .15

使用Shell   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .20

退出   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21

Page 15: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

8 第一天:了解JUNOSCLI

如果您可以访问实验室或其他非操作环境中的设备,请在了解 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: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第2章:入门 9

在操作模式和配置模式之间切换

当您监控和配置设备时,您需要在操作模式和配置模式之间进行切换。

当您切换到配置模式时,命令提示符也会发生改变。操作模式提示符

是一个右尖括号 (>)。配置模式提示符是一个井字符 (#)。

要从操作模式切换到配置模式,请发出 configure 命令:

mike@juniper1> configure

快捷方式 在发出 configure 命令时,只需键入 co。由于没有其他命令是以这

两个字母开头的,因此 CLI 会识别该命令并为您自动填充命令的其

余部分。

要退出并返回到操作模式,请发出 exit configuration-mode 命令,

或发出更简短的 exit 命令。

mike@junper1# exit

注意 请记住,如果您对配置做了更改,则您必须提交这些更改后再退出配

置模式,才能使其生效。第 4 章中对此进行了介绍。

使用按键快捷方式

在使用命令行时,JUNOS CLI 提供了许多减少键击次数的方式,其

中包括键盘顺序和命令补齐。

当您登录到 JUNOS 设备后,可使用所有标准的 Unix 键盘快捷方式。

无论是位于其中的某个 Shell 或 CLI 内,都可以这么做。这些快捷方

式提供了减少键击次数的选项。将减少键击次数变成一种习惯可能需

要几天时间;但是,一旦您养成了习惯,这些快捷方式将为您节省大

量键入时间。

CLI 将每次输入的命令都存储在命令记录中。如果出现任何命令提示

符,您都可以使用向上箭头键和向下箭头键滚动此记录(所用终端型

号为 VT100)。您可以重新使用以前输入的命令,必要时可以对其进

行修改。键盘顺序可为您节省大量时间,例如在设备上配置类似项目

时,或当您重复操作命令时(如在调试某个问题时)。

Page 17: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

10 第一天:了解JUNOSCLI

快捷方式 使用这些节省时间的键盘快捷方式:

转到下一条命令记录 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: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第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

快捷方式 JUNOS 提供了其他操作系统中的常见缩写,如 sh int。例如, 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 包括多个选项,用于在您不确定要做什么或只是想验证

您的记忆是否有误时获取帮助。每个人,甚至是使用 Juniper 设备多

年的专家,都可以使用 CLI 的在线帮助综合系统。

上下文相关帮助

在操作或配置层次结构中的任意级别均可使用问号 (?) 字符向命令行

查询可用命令列表和对每条命令的简短描述。键入部分命令和 ? 将提

供可补齐命令的所有有效方式列表。在 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: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

12 第一天:了解JUNOSCLI

> 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: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第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:显示关于配置语句的使用指南

在请求帮助时,请对您要搜寻其信息的字符串或主题,按照上述每条

命令进行操作。

Page 21: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

14 第一天:了解JUNOSCLI

helpapropos命令

无论何时,如果您记得一部分命令,但不记得整个语句,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> 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

如果字符串含有空格,请将其放入双引号 (" ") 内。

helptopic命令

使用 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.

helpreference命令

在了解某个命令的作用以及何时使用该命令后,您可以使用 help reference 命令查看实际语法和可能的选项。使用上面的同一示例:

mike@juniper1> help reference interfaces address address Syntax

Page 22: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第2章:入门 15

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], [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 软件会逐字检查语法,而不是等到在配置语句末尾按回车键

后才开始检查。每当您在行内输入一个字并按下空格键时,CLI 都会

确定每个术语是否是命令的有效组成部分以及该术语的使用是否得

当。如果发现有错误,CLI 会要求更正。

此外,无论是在您试图离开特定层级时,还是在配置模式中发出 show 命令时,JUNOS 软件都会检查该层级所需的语句是否有遗漏:

[edit]mike@juniper1# showprotocols { pim { interface so-0/0/0 { priority 4; version 2; # W a r n i n g : m i s s i n g m a n d a t o r y statement(s): 'mode' } }}

Page 23: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

16 第一天:了解JUNOSCLI

使用管道命令和More过滤输出

您可以使用管道符 | 和 more 提示来更改 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 命令

输出,方式是将其输出传送到 <filename>:

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

请参见第3章中的使用文件命令部分,以了解

如何访问已创建的文件。

Page 24: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第2章:入门 17

显示附加信息和保留信息

您可以请求使列表包括附加信息或使 CLI 保留信息:

n| count:在输出中显示行数:

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

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: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

18 第一天:了解JUNOSCLI

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,仅显示与所有输入的管道都

匹配的输出。您可以多次输入不同的管道命令,也可以多次输入相同

的管道命令。例如,要计算在活动的配置内已配置的快速以太网接口

的数量,请执行以下操作:

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) 提示,并按照所有可供显示的内容

Page 26: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第2章:入门 19

的百分比来说明已显示输出的数量。您可以在任何 (more) 提示处输

入 h 关键字,以查看显示选项列表,例如,在输出中前进和后退、搜

索及保存:

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: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

20 第一天:了解JUNOSCLI

使用Shell

Shell 通常是指在 Unix 或类似于 Unix 的操作系统上使用的任何命令

行界面。这些界面将高级命令解释为该设备可以使用的低级指令。当

您登录到 JUNOS 设备时,便会进入以下两种 Shell 的其中一种:操作

模式中的 C Shell 或 CLI。

可使用以下 Shell:

Shell 命令提示符

CShell %

BourneShell $

CLI mike@juniper1>(操作模式)

mike@juniper1#(配置模式)

通过发出适当的命令,您可以完成从一个 Shell 到另一个 Shell 操作。此命令将生成该 Shell 的一个新实例,并将您置于该实例中。例

如,在 CLI 操作模式中,您可以通过发出 start shell 命令生成新的 C Shell 界面。

警告! 当您退出该设备时,请确保退出所有在会话过程中进入过的 Shell。

登录到CLI

要登录到 CLI 界面,请在任何 Shell 提示符下发出 cli 命令:

% cli

CLI 总是在操作模式中打开。

登录到CShell

要从操作模式中的 CLI 登录到 C Shell 界面,请发出 start shell 命令:

mike@juniper1> start shell

Page 28: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第2章:入门 21

要从配置模式中的 CLI 登录到 C Shell 界面,请发出 run start shell 命令:

mike@juniper1# run start shell

快捷方式 当您处于配置模式时,该 run 命令允许您发出 CLI 操作模式命令。当

您处于配置模式时,只需在任何想要执行的操作模式命令前添加关键

字 run 即可。

要从 Bourne Shell 界面登录到 C Shell 界面,请发出 csh 命令。

$ csh

登录到BourneShell

要从操作模式中的 CLI 登录到 Bourne Shell 界面,请发出 start shell 命令:

mike@juniper1> start shell

要从配置模式中的 CLI 登录到 C Shell 界面,请发出 run start shell sh 命令:

mike@juniper1# run start shell sh

要从 C Shell 界面登录到 C Shell 界面,请发出 sh 命令。

% sh

退出

退出时,您必须退出每个已打开的 Shell 后才可完全退出该设备。因此,

如果您登录到该设备并且处于 CLI 操作模式中,而且此后进入了 CLI 配置模式,则您需要退出这两个 Shell。

当要休息时,您必须退出每个已打开的 Shell 后才可以完全退出该设

备。当完全退出该设备后,您将收到以下消息:“外部主机已关闭连接。”

(Connection closed by foreign host.)

Page 29: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

22 第一天:了解JUNOSCLI

mike@junper1> exitlogoutConnection closed by foreign host.$

如果您处于配置模式且想要退出,请退出配置会话以进入操作模式:

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

mike@juniper1> exitlogoutConnection closed by foreign host.$

最佳做法 如果您没有理由登录或当您离开终端(即使只是几分钟)时,请退出

该设备以保护设备的安全。这可以防止其他人占用您的工作站以及无

意(或蓄意)访问该设备。

Page 30: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第3章

了解操作模式

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

显示设备状态  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  25

管理基本操作  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27

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

管理操作系统软件  . . . . . . . . . . . . . . . . . . . . . . . . . . . .29

Page 31: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

24 第一天:了解JUNOSCLI

操作模式提供了用于监控、管理及维护设备的命令。您可以查明设备

的状态、管理诊断以及执行其他操作任务,还可以管理运行该设备的

软件。

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

n监控和排除设备故障

n连接其他网络系统

n重新启动软件程序

n进入配置模式

n显示配置

n控制 CLI 环境

n执行系统级别的操作,如停止和重新启动设备以及加载 JUNOS 软件图像

JUNOS Software 提供了一组广泛的机载工具功能,用于收集关键的

操作状态、统计数据和其他信息。这些工具可以提前发送问题通知,

从而在事件过程中加快解决问题的速度。

作为配置设置的组成部分,您可以指定要跟踪的事件的类型、事件的

严重程度和要存储数据的文件等各种选项。Juniper 设备具有足够的

处理能力,可以收集和存储关键的操作数据,其中包括 SNMP 管理、

系统日志和跟踪选项,这些选项可帮助您了解设备在正常状态下的操

作方式以及会发生变化的地点、时间和原因。

更多信息? 在即将推出的 JUNOS 软件基础系列 系列小册子中,查找更多有关为

设备配置基本监控功能的信息。当 www.juniper.net/dayone 上有了新

的文章时,请进行下载。

查看操作模式

从层次结构的顶层来了解操作模式。下面是一张关于其最常用命令的

不完整列表:

Page 32: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第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<. . .>

显示设备状态

操作模式提供了许多 show 命令,用于显示设备上几乎所有环节的状

态和统计数据:

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 information

Page 33: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

26 第一天:了解JUNOSCLI

ipsec Show IP Security informationipv6 Show IP version 6 informationisdn 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 命令都可以运行。例如,IOS 命令 show ip route 在 JUNOS 中就是 show route。

该 show 命令包括其他用于修改输出的参数。例如,以下为 fe-1/1/1 快速以太网接口的 show interfaces 命令的可用参数:

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

Page 34: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第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<. . .>

您可以添加这些选项,以便按照需要调整输出列表。比较 show 输出 (将 brief 和 terse 添加到以上命令时)。

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 确保 Shell 程序可打开网络上另一

台设备或主机上的用户 Shell。

ntelnet:此管理协议用于打开终端与网络上其他设备或主机

之间的连接。

Page 35: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

28 第一天:了解JUNOSCLI

使用File命令

通过这些 file 命令,您可以查看设备上某个位置的文件并将其复制

到另一台设备上,或将它从您的设备复制到远程系统(如服务器)上,

或从远程系统复制到该设备上。在设备上保存和加载配置文件有助于:

n存档和备份配置

n 在设备之间共享配置文件

n保存和加载在同一网络内的多个设备(如路由筛选器)之

间可能比较常见的部分配置文件。要查看文件,请使用 file show 命令:

mike@juniper1> file show <filename>

Filecopy命令

您可以使用 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: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第3章:了解操作模式 29

filelist命令

使用file list 命令检查文件是否已进入您的主目录:

mike@juniper1> file list

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

提示 第 4 章包括关于将文件加载为设备的活动(正在运行的)配置的步骤。

管理操作系统软件

操作模式提供了关于管理操作系统软件的命令,其中包括升级和重新

启动设备,以及重新启动和重新设置单个进程的命令。JUNOS 软件

是一个模块化操作系统,独立运行于各自受到保护的内存空间内。因

此这些被称为后台程序的程序可以被独立进行管理。

restart命令

您可以从操作模式中重新启动大部分 JUNOS 软件程序(有少数后台

程序需要留给 Shell 处理)。当您需要停止时,请使用 restart,然后

重新启动单个操作系统后台程序。

警告! 尽管每个程序是完全独立的,在使用 restart 命令时仍要特别小心。

重新启动 SNMP 程序只会破坏 SNMP,但重新启动路由则可能会对

您的网络造成严重后果!

提示 要重新启动特定的路由协议(如 OSPF),您可以在配置模式中禁用该

协议,然后重新激活它。当只有一个协议存在问题时,这种方法比重

新启动 JUNOS 的整个路由后台程序更为可取,后者会影响到所有路

由协议。

Page 37: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

30 第一天:了解JUNOSCLI

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 的软件下载页面下

载当前程序包。下载新的软件需要有当前服务合同和登录账户。

更多信息? 要了解有关操作模式命令的更多信息,请参见

www.juniper.net/techpubs/ 上的在线 JUNOS 软件 CLI 用户指南 和 JUNOS 系统基础知识和服务命令参考。

Page 38: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第4章

了解配置模式

介绍配置过程  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32

进入配置模式  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .33

理解配置模式基础知识  . . . . . . . . . . . . . . . . . . . . . . . .35

编辑配置   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40

提交候选配置  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42

让日常任务自动化  . . . . . . . . . . . . . . . . . . . . . . . . . . . .47

回滚配置   . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48

预先为系统更改作准备  . . . . . . . . . . . . . . . . . . . . . . . .49

使用配置快捷方式  . . . . . . . . . . . . . . . . . . . . . . . . . . . .52

Page 39: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

32 第一天:了解JUNOSCLI

顾名思义,在配置模式下您可以定义设备的配置。这包括配置管理控

制台及其网络设置,设置用于访问设备的用户帐户,指定用于保护设

备和网络的安全措施,以及设置路由和交换协议。每个语句配置设备

的不同功能,指定其在网络中的特定属性。

介绍配置过程

JUNOS CLI 在设计中特意将配置作为一个过程来考虑。因此引入了

安全措施,让您在新配置生效前可以进行设置和检查。例如,JUNOS 会将所有更改记录在候选配置 中,这些配置在完成后可以提交,而且

只有到那时才会成为活动的配置文件。

这种方法与那些使用逐行输入并即时激活配置更改的系统有很大差

别。您是否曾在其他系统中不得不进行逐行更改?您应该知道在这过

程中会造成一定风险吧,比如移除接口上的防火墙?也许您输入的一

行更改造成了意外的结果,而您却无法方便地回复原状。

JUNOS CLI 让您不必为这些配置难题头疼。在早期客户的帮助下,瞻

博的工程师们有针对性地设计了一种多阶段配置过程。这个过程提供

了各种方法来避开设备配置中的意外错误和其他常见问题引发的难题。

图 4.1 概括了配置由 JUNOS 软件运行的设备的三个基本步骤。下面

是图中指出的步骤。

1. 对候选配置进行更改

候选配置是活动配置的副本。您可以通过 CLI 向候选配置输入配

置更改,办法可以是剪切并粘贴、加载或合并带有更新的配置更

改的文本文件,也可以是通过 CLI 界面手动输入更改。完成所有

候选更改后,您可以检查您的工作,包括将候选配置与活动的(正

在运行的)文件比较。

候选配置在哪里?虽然将配置想象为文件很

容易,但实际上并没有与

候选配置关联的文件。配

置保存在系统内存中。

Page 40: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第4章:了解配置模式 33

2. 提交更改。

要让候选配置成为活动配置,输入commit或commit confirmed命令。完成转换前,软件会检查候选配置中的某些语句,并执行其

他上下文验证。如果设备包含预加载的提交脚本,这些脚本也会

检查并尽可能地更正候选配置中的错误。

3. 候选配置成为活动配置。

通过所有验证检查后,候选配置成为活动配置。候选配置成为

活动配置,并另存为 /config/juniper.conf.gz。设备将以前的juniper.conf.gz文件重命名为 juniper.conf.1.gz。

图4.1 JUNOSCLI配置过程概览

注意 JUNOS 设备最多可保存 49 份以前的活动配置。可以通过发出rollback [0 - 49]命令来回滚到这些备份配置中的任何一个,本章稍

后将讨论该命令。

进入配置模式

在不同用户帐户可以进行配置更改的设备中,必须能灵活管理进行更

改的人和时间。因此 JUNOS 软件提供了进入配置模式的三个选项:

n标准:允许任意数量的用户同时编辑候选配置,而且单一

用户进行的更改可被所有用户看到。

n独占:在独占用户关闭独占状态前,禁止所有其他用户使

用配置模式。

n隐秘:提供一个隐秘配置,设备通过它保存一个单独的候

选副本,其中仅包含隐秘用户所做的更改。

CLI

1 2 3

Page 41: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

34 第一天:了解JUNOSCLI

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]

configureexclusive命令

要禁止其他用户编辑候选配置,将exclusive开关添加到configure命令。在configureexclusive模式下,一旦您退出会话,设备就会废弃

所有未提交的配置更改。

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

configureprivate命令

可以通过将private开关添加到configure命令,来创建您自己的隐

秘候选配置:

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

Page 42: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第4章:了解配置模式 35

当隐秘用户提交更改时,JUNOS 软件只会将隐秘用户所做的候选

更改集成到活动(正在运行的)配置中。软件不会实现其他用户所

做的任何候选配置更改。也就是说,几个用户可以使用 configure

private同时对活动配置进行不冲突的更改。如果隐秘用户发出rollback 0命令,设备只会废弃该用户在自己的候选配置中的更改。

注意 如果一个用户创建隐秘配置会话,其他用户可以进行标准登录或登录

到自己的隐秘会话。如果某人已经登录,系统会警告其他用户当前有

另一个人正在修改配置。

最佳做法 只要有多个用户帐户能更改配置,就使用configure exclusive或configure private。这一最佳做法可防止每个人犯意外错误。例如,

瞻博的工程师们曾听说这样一件事:有个管理员不小心键入了命令delete interfaces。这个管理员意识到了错误,但他没有删除该语句,

而只是退出了配置模式。后来,另一个用户登录并提交了配置,结果

设备的所有接口都被删除了!好在 JUNOS 软件可以回到以前的配置。

理解配置模式基础知识

配置模式提供了若干选项用于查看和操纵候选配置。

查看候选配置

show命令显示设备的候选配置。从配置层次结构的顶层输入时,命令

行界面显示整个候选配置。下例提供所配置的设备的缩略列表:

[edit]mike@juniper1# showversion “ 9.2R1.3”;groups { re0 { system { host-name juniper1; } }}<...>

Page 43: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

36 第一天:了解JUNOSCLI

如果您没有进行任何配置更改,则候选配置与设备的当前(正在运行

的)配置相同。

深入层次结构以后,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: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第4章:了解配置模式 37

但是,通过systemservices目录再发出下列命令会更容易:

[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命令。例如,要到达systemsyslog host log层次结构,可以从层次结构的顶层发出以下命令:

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

[edit system syslog host log]mike@juniper1#

Page 45: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

38 第一天:了解JUNOSCLI

也可以通过发出以下一系列 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 的更改目录 (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: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第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: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

40 第一天:了解JUNOSCLI

编辑配置

输入一系列命令(包括添加和删除配置语句的命令)来创建或更改候

选配置。

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命令

全面配置设备的信息,请

在《JUNOS软件基础系列

第一天》系列小册子在www.juniper.net/dayone/发布更多文章时进行下载。

Page 48: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第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: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

42 第一天:了解JUNOSCLI

更多信息?如果您需要从设备中删除配置的很多通用部分,可以用通配符节省时间。

设备可以搜索整个候选配置来查找字符串,并删除每一行含有该字符串

的语句。要进一步了解通配符,请转到位于www.juniper.net/techpubs/ 的在线JUNOS 软件 CLI 用户指南,并参阅有关高级功能的部分。

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 命令将使设备进行下列转

换(对于通过了验证检查的候选配置):

Page 50: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第4章:了解配置模式 43

1. 将候选配置复制到当前配置。此时,当前和候选配置是等同的。

2. 使所有回滚配置文件减一,并将当前配置另存为rollback 0。

图4.2 JUNOS配置文件管理

当前(正在运行的)配置文件和最近的三个回滚配置文件保存在/config 目录中。设备将其余存档的配置文件保存在/var/db/config目录中。

注意 当前配置文件名为juniper.conf.gz,回滚配置文件的名称是从

juniper.conf.1.gz到juniper.conf.49.gz(如果有50个活动配置的

存档)。

v 49

v4

v3

v2

(rollback 1)

/var/db/config 4 49

“rollback <n>”

/config 0 3

SNMP trap/syslog

“commit”

“save”

“load”

scp ftp

CLI

<n> “system archive”

(rollback 0)

Page 51: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

44 第一天:了解JUNOSCLI

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

commitcheck命令

CLI 还提供了一个命令用于检查系统是否能处理您的候选配置。

commit check 命令会在不激活任何更改的情况下验证候选配置的逻辑

和完整性。这与您commit 候选配置时运行的验证相同。如果系统发

现候选配置中有问题,会通知您:

Page 52: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第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: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

46 第一天:了解JUNOSCLI

commit complete消息将告诉您新配置已生效并在设备上运行:

[edit]mike@juniper1# commitcommit complete

警告! 默认情况下,如果有多个用户在修改配置,提交配置将会保存和激活

所有用户的更改(除非有用户处于configureprivate模式,见 34-35 页)。

commitconfirmed命令

您是否也犯过这样的错误:向远程设备添加安全措施,却发现新的防

火墙使您无法访问原先用于访问设备的接口?您是否有过这样的经

历:不小心隔离了远程设备,结果为了使它重置,不得不在半夜里驱

车四个小时? 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: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第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 2 commit confirm will be automatically rolled back in 2 minutes unless confirmed commit complete

最佳做法 在配置远程设备时,一定要使用commit confirmed 命令激活您的候选

配置。即使是最有经验的 JUNOS 用户也不反对给自己的工作加上保

险措施,他们中有很多人可以告诉您自己是怎样靠它避免了错误和额

外工作的。

让日常任务自动化

您可以向功能集添加自动脚本来优化工作。JUNOScript 允许您以自

己的方式使配置和工作 CLI 命令自动化。使用自动脚本不但能节省

时间,还能通过预防配置错误和加快问题解决与恢复速度来减少当机

时间。

提交脚本允许对配置进行定制检查,以确保它们符合您的网络标准和

策略。Op 和事件脚本 可以接收并检查命令输出,然后确定下一个相

应操作,它会重复此过程直到找到问题的源头。

更多信息?有关实施脚本的说明,请参见配置和诊断自动化指南,地址是

www.juniper.net/techpubs/。

Page 55: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

48 第一天:了解JUNOSCLI

回滚配置

每当您将候选配置作为新的当前配置提交时,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

[edit interfaces]- fe-3/0/1 {- vlan-tagging;- unit 240 {- vlan-id 240;- family inet {

rollback rescue命令会

加载补救配置文件(有关

更多信息,请参见第28页的 最 佳 做 法 提 示 ) 。

Page 56: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第4章:了解配置模式 49

- 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: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

50 第一天:了解JUNOSCLI

在硬件安装前设置配置的选项非常有用,特别是在安装硬件的人员与

配置设备的人员不是同一人的情况下,而这种情况对于远程设备来说

是很常见的。例如,这里是可能在明天安装的 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

commitat命令

有时您需要准备在特定时间(例如维护窗口中)激活的配置更改。

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

deactivate命令

您也可进行配置更改并将它们标记为非激活,直到可以使用为止。设

备会忽略配置中的这些部分,就好像不曾定义它们一样。在这个示例

中,在 192.168.1.1 配置了新的 BGP neighbor,但它直到可以引入会

话时才会激活:

Page 58: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第4章:了解配置模式 51

[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

您可以停用配置层次结构中的任何部分,设备会忽略其下的所有内容。

例如,可以停用名为internal的整个BGP neighbor 组:

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

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

Page 59: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

52 第一天:了解JUNOSCLI

使用配置快捷方式

典型的配置包含用户命名和定义的许多类似元素,如接口名称、策略

语句和防火墙过滤器。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: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第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: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

54 第一天:了解JUNOSCLI

rename命令

如果您需要改变用户定义变量(如策略名称、过滤器名称、IP 地址)

的值或更改用户定义元素的名称, rename命令是很方便的快捷方式。

在下例中,快速以太网 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; } }}

注意 也可以不使用rename,而是使用delete命令删除语句,然后用set命令添加新值。

Page 62: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

第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: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

56 第一天:了解JUNOSCLI

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

}

更多信息?要进一步了解配置模式命令,请参阅在 www.juniper.net/techpubs/ 的在线JUNOS 软件 CLI 用户指南。

Page 64: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

接下来做什么,去哪里 ...

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 网络技术认证计划 (JNTCP) 让您可以证明自己在配置 Juniper 产品和排除其故障方面的能力,从而获取相关证书。如果您

想在企业路由、交换或安全方面快速获取认证,请使用提供的在线课

程、学生指南和实验室指南。

您对这本《第一天》小册子有什么意见吗?请发电子邮件至 [email protected]

Page 65: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

命令参考(这本《第一天》小册子中讨论的命令摘要。)

配置模式命令

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 启动另一台主机上的安全 Shell。

start shell 登录到 C Shell 界面。

telnet 打开与网络上另一台设备或主机的终端连接。

traceroute 记录和显示所有从一个位置到另一个位置的 IP 数据包跃点。

Page 66: 第一天:了解 JUNOS CLI · junos ® 软件基础系列 junos ® 软件基础系列 #1 p 228 08 《第一天:了解 junos cli》告诉您如何: • 在运行 junos 软件的设备上进行

JUNOS ® 软件基础系列

JUNOS ® 软件基础系列 #1

P 228 08

《第一天:了解 JUNOS CLI》告诉您如何:

• 在运行 JUNOS 软件的设备上进行 CLI 的操作模式和配置模式的操作。

• 理解每种模式的基础层次结构。

• 获得机载帮助并使用快捷键加快工作速度。

• 显示设备状态、报警和操作模式下的其他有用信息。

• 在尽量不影响操作的情况下修改、保存和加载配置文件。

• 使用基本配置模式命令,如 show、set 和 delete。• 利用 JUNOS 软件提交模式的安全功能。

• 预先为系统更改作准备。

• 利用快捷方式和使用技巧,避免常见问题。

瞻博网络的《第一天》系列小册子由有关问题的专家和专攻网络建设与运行的工程师撰写。请在 www.juniper.com/dayone 查找涉及高性能联网解决方案的其他文章。本书也有 PDF 版本。

第一天:了解 JUNOS CLI

第一天:了解 JUNOS CLI

Cathy Gadecki 和 Michael Scruggs 著

“正是您第一天入门所需的信息。”7100097-001-EN

用这本指导性的小册子来

节省时间,并开始第一天

的工作。

本书面向第一次使用 JUNOS 软件和瞻博网络产品的用户。它不仅能打下学习 JUNOS 软

件的基础,还能方便理解《第一天》系列中的后续内容。

JUNOS CLI 为您提供新的工具、快捷方式和安全措施。了解这些新功能可以省下大量敲键

盘的时间。实践模式提供简单易懂的说明、分步指导和大量示例。“实践”部分让您练习刚

才学到的内容。

“简单明了,又有足够的技术细节让瞻博网络设备的新用户能在第一天完成所需的任务,并

让高级用户有方便的参考表来执行可能不是每天都要执行的任务。这些指南对所有使用瞻博

网络设备的人来说都是必不可少的工具。”

Orin Blomberg、CCNP、CCIP、CCSP、JNCIS-M、JNCIS-ER、 JNCIS-FWV