В этом разделе будут приведены примеры некоторых особенностей командной строки, Command Line Interface (CLI). Для получения полной информации о CLI, смотрите документацию по JUNOS на сайте Juniper Networks, http://www.juniper.net/techpubs.
Операционная система JUNOS основана на FreeBSD. Если вы уже хорошо знакомы с FreeBSD или эквивалентом Unix, это поможет вам в понимании команд JUNOS.
CLI имеет два режима: оперативный режим и конфигурационный режим. Оба режима имеют различный набор команд. В оперативном режиме вы можете мониторить все, что касается железа и программного обеспечения маршрутизатора, а также контролировать сетевые операции. Команды в конфигурационном режиме позволяют определять поведение маршрутизатора, например посмотреть какие сетевые адреса используются и какие протоколы запущены. Важно понимать разницу между этими двумя режимами - какой тип действий можно применить в каждом режиме, и как следить в каком режиме вы работаете.
На маршрутизаторе вы можете определить в каком режиме находитесь по виду приглашения на ввод команды CLI. Базовый формат командной строки имеет вид - username@router-name. Когда вы находитесь в оперативном режиме, приглашение оканчивается символом >, а когда вы находитесь в конфигурационном режиме, приглашение оканчивается символом #. Таким образом, по символу, который предшествует каждой команде, можно определить в каком режиме вы находитесь - в оперативном или конфигурационном.
Когда вы в первый раз авторизуетесь на маршрутизаторе, вы попадаете в оперативный режим. Команды, доступные в оперативном режиме позволяют вам мониторить операции, выполняемые на маршрутизаторе и в сети. К примеру, вы можете получить информацию о железе и программном обеспечении на маршрутизаторе, сетевом трафике, который приходит на маршрутизатор, сконфигурированных протоколах маршрутизации. Далее будет подробно описано как используя команды в оперативном режиме можно проверять что происходит на маршрутизаторе.
Вы можете посмотреть какие команды можно ввести, используя знак вопроса ? для вызова интерактивной справки. Если вы введете ? на верхнем уровне иерархии в оперативном режиме, вы увидите набор команд, который вы можете использовать для мониторинга маршрутизатора и выполнения операций, не связанных с его конфигурированием:
aviva@router1> ?
Possible completions:
clear
Clear information in the system
configure
Manipulate software configuration information
file
Perform file operations
help
Provide help information
monitor
Show real-time debugging information
mtrace
Trace multicast path from source to receiver
ping
Ping remote target
quit
Exit the management session
request
Make system-level requests
restart
Restart software process
set
Set CLI properties, date/time, craft interface message
show
Show system information
ssh
Start secure shell on another host
start
Start shell
telnet
Telnet to another host
test
Perform diagnostic debugging
traceroute
Trace route to remote host
К примеру, вы можете использовать различные комбинации команды show для отображения информации о маршрутизаторе, интерфейсах, протоколах, или вы можете использовать различные команды request для выполнения операций на маршрутизаторе, таких как перезагрузка, скачивание и инсталляция обновлений программного обеспечения.
Две команды из представленного списка в оперативном режиме не предназначены для мониторинга маршрутизатора или сети: quit - используется для выхода из CLI и configure - используется для входа в конфигурационный режим, в котором вы можете конфигурировать маршрутизатор.
Когда вы входите в конфигурационный режим, строка приглашения изменяется от username@router-name> на username@router-name#, и строка выше приглашения [edit], показывает, что вы находитесь в конфигурационном режиме. Также, [edit] показывает, что вы находитесь на вершине конфигурационной иерархии, подобно вершине иерархии файловой системы Unix (/). Синонимом команды configure является команда edit (скрытая команда, она не представлена в списке доступных команд).
Если ввести ? на верхнем уровне конфигурационного режима, вы увидите список доступных команд, использующихся для конфигурирования маршрутизатора:
[edit]
aviva@router1# ?
Possible completions:
<[Enter]>
Execute this command
activate
Remove the inactive tag from a statement
annotate
Annotate the statement with a comment
commit
Commit current set of changes
copy
Copy a statement
deactivate
Add the inactive tag to a statement
delete
Delete a data element
edit
Edit a sub-element
exit
Exit from this level
help
Provide help information
insert
Insert a new ordered data element
load
Load configuration from ASCII file
quit
Quit from this level
rename
Rename a statement
rollback
Roll back to previous committed configuration
run
Run an operational-mode command
save
Save configuration to ASCII file
set
Set a parameter
show
Show a parameter
status
Show users currently editing configuration
top
Exit to top level of configuration
up
Exit one level of configuration
wildcard
Wildcard operations
Когда создается или изменяется конфигурация, вы сначала используете команды edit и set. Используйте команду edit для перемещения к тому участку конфигурации, который вы хотите изменить (это аналогично использованию Unix команды cd для перемещения к различным директориям) и используйте команду set для конфигурирования специфичных параметров. Команда up перемещает вверх на один уровень иерархии, а команда top возвращает на вершину иерархии - [edit] (аналогична Unix команде cd /). На вершине иерархии используйте команды exit или quit для возврата к оперативному режиму.
Команда show показывает состояние конфигурации на текущем уровне иерархии. Если вы начнете с уровня [edit], вы увидите всю конфигурацию:
[edit]
aviva@router1# show
version "7.4R1.7";
groups {
re0 {
system {
host-name router1;
}
interfaces {
fxp0 {
unit 0 {
family inet {
…
Если вы находитесь на нижних уровнях иерархии, вы только видите часть конфигурации. В следующем примере показана OSPF часть конфигурации:
[edit protocols ospf]
aviva@router1# show
export export-statics;
area 0.0.0.0 {
interface fe-0/0/1.0;
interface fe-1/0/1.0;
}
Что означают здесь фигурные скобки? JUNOS использует фигурные скобки для представления структуры файла конфигурации, очерчивая связные секции параметров конфигурации. Если вы программист языка C, вам будет это знакомо.
Противоположностью команды set выступает команда delete, которая удаляет значения из конфигурации. Вы можете удалить индивидуальное значение из конфигурации (например, delete interface fe-1/0/1.0 из конфигурации OSPF), или удалить всю секцию области 0.0.0.0 из OSPF конфигурации:
[edit protocols ospf]
aviva@router1# delete area 0.0.0.0
Команда run экономит время и позволяет выполнять команды оперативного режима. Например, команда run show route в конфигурационном режиме аналогична команде show route в оперативном режиме:
Что означают переходы к частям конфигурации? Конфигурация JUNOS представляет собой иерархию контейнеров параметров конфигурации, разграниченную фигурными скобками {}, определяющими границы, в которых эти параметры применены. Эта иерархия позволяет организовать группирование большого количества связных параметров и функций вместе. Когда вы в первый раз заходите в конфигурационный режим, вы попаадете на вершину иерархии. Вы видите ваше расположение в иерархии в строке, которая предшествует приглашению на ввод команды. Строка [edit] показывает вам, что вы на вершине иерархии. Команда edit позволяет перемещаться по иерархии конфигурации, при этом все команды конфигурации применяются в пределах текущего контейнера. По мере движения по иерархии текст в квадратных скобках изменяется, сообщая о местонахождении в иерархии.
Параметры конфигурации, которые используются для определения поведения маршрутизатора также устроены в виде иерархии. Если ввести edit ? на вершине иерархии конфигурационного режима, можно увидеть обширные функциональные области JUNOS, которыми можно управлять через конфигурацию:
[edit]
aviva@router1# edit ?
Possible completions:
> access
Network access configuration
> accounting-options
Accounting data configuration
> applications
Define applications by protocol characteristics
> chassis
Chassis configuration
> class-of-service
Class-of-service configuration
> firewall
Define a firewall configuration
> forwarding-options
Configure options to control packet sampling
> groups
Configuration groups
> interfaces
Interface configuration
> logical-routers
Logical routers
> policy-options
Routing policy option configuration
> protocols
Routing protocol configuration
> routing-instances
Routing instance configuration
> routing-options
Protocol-independent routing option configuration
> security
Security configuration
> services
Service PIC applications settings
> snmp
Simple Network Management Protocol configuration
> system
System parameters
Каждый представленный раздел на вершине представляет собой отдельную иерархию конфигурации. Например, раздел protocols на вершине конфигурации, в которой конфигурируются все протоколы маршрутизации:
[edit]
aviva@router1# edit protocols ?
Possible completions:
<[Enter]>
Execute this command
> bfd
Bidirectional Forwarding Detection (BFD) options
> bgp
BGP options
> connections
Circuit cross-connect configuration
> dvmrp
DVMRP options
> igmp
IGMP options
> isis
IS-IS options
> l2circuit
Configuration for Layer 2 circuits over MPLS
> ldp
LDP options
> link-management
LMP options
> mld
MLD options
> mpls
Label Switching options
> msdp
MSDP configuration
> ospf
OSPF configuration
> ospf3
OSPFv3 configuration
> pgm
PGM options
> pim
PIM configuration
> rip
RIP options
> ripng
RIPng options
> router-advertisement
IPv6 router advertisement options
> router-discovery
ICMP router discovery options
> rsvp
RSVP options
> sap
Session Advertisement Protocol options
> vrrp
VRRP options
|
Pipe through a command
При движении вниз по иерархии в этом примере, приглашение на ввод команды изменится на [edit protocols], показывая вам где вы находитесь: