CLI 구성 모드 개요
Junos OS Evolved CLI의 구성 모드를 사용하면 구성 문을 사용하여 디바이스 속성을 설정, 관리 및 모니터링하여 디바이스를 구성할 수 있습니다.
CLI 구성 모드 이해
여러 시스템 하드웨어 속성뿐만 아니라 인터페이스, 일반 라우팅 정보, 라우팅 프로토콜, 사용자 액세스를 포함하여 모든 Junos OS Evolved 속성을 구성할 수 있습니다.
Junos OS CLI 모드, 명령 및 문 계층 이해에서 설명한 바와 같이, 디바이스 구성은 문 계층으로 저장됩니다. 구성 모드에서 사용할 구성 문 집합을 생성합니다. 구성 문 입력을 마치고 완전하고 정확하다고 확신하면 이를 커밋하면 디바이스에서 구성이 활성화됩니다.
대화식으로 구성을 생성하거나 구성이 포함된 ASCII 텍스트 파일을 생성하여 디바이스에 로드한 다음 커밋할 수 있습니다.
구성 모드 명령
다음 표에는 각 CLI 구성 모드 명령이 요약되어 있습니다. 명령은 알파벳순으로 구성됩니다.
| 명령 |
설명 |
|---|---|
|
|
문에서 태그를 |
|
|
구성에 코멘트를 추가합니다. 현재 계층 수준에서만 코멘트를 추가할 수 있습니다. |
|
|
변경 내용 집합을 데이터베이스에 커밋하고 변경 내용이 작동에 영향을 미치도록 합니다. |
|
|
구성에 기존 문을 복사합니다. |
|
|
문에 태그를 |
|
|
문 또는 식별자를 삭제합니다. 지정된 문 경로 내에 포함된 모든 종속 문과 식별자는 함께 삭제됩니다. |
|
|
지정된 문 계층 내부로 이동합니다. 문이 존재하지 않으면 생성됩니다. |
|
|
문 계층의 현재 수준을 종료하고 마지막 편집 명령 이전 수준으로 돌아가거나 구성 모드에서 종료합니다. |
|
|
SDK 애플리케이션 패키지가 제공하는 구성을 관리합니다. 명명된 SDK 애플리케이션 패키지가 제공한 사용자 정의 구성을 표시하거나 삭제하여 관리합니다. 네이티브 Junos OS Evolved 패키지에 정의된 구성은 확장 명령에 의해 삭제되지 않습니다. |
|
|
사용 가능한 구성 문에 대한 도움말을 표시합니다. |
|
|
기존 계층에 식별자를 삽입합니다. |
|
|
ASCII 구성 파일 또는 터미널 입력에서 구성을 로드합니다. 로드 작업이 발생할 때 구성 계층의 현재 위치는 무시됩니다. |
|
|
문 계층의 현재 수준을 종료하고 마지막 편집 명령 이전 수준으로 돌아가거나 구성 모드에서 종료합니다. |
|
|
기존 구성 문 또는 식별자의 이름을 바꿉니다. |
|
|
구성에서 식별자 또는 값을 대체합니다. |
|
|
이전에 커밋한 구성으로 되돌립니다. 소프트웨어는 롤백 번호, 날짜, 시간 및 명령을 실행한 사용자 이름을 포함하여 마지막 10개의 커밋된 구성을 저장합니다. |
|
|
구성 모드를 종료하지 않고 CLI 명령을 실행합니다. |
|
|
구성을 ASCII 파일에 저장합니다. 문 계층의 현재 수준까지 구성 문이 이를 포함하는 문 계층과 함께 저장됩니다. 이 작업을 통해 구성 섹션을 저장하면서 문 계층을 완전히 지정할 수 있습니다. |
|
|
명령문 계층을 생성하고 식별자 값을 설정합니다. 이 명령은 계층의 현재 수준이 변경되지 않는다는 점을 제외하고는 |
|
|
현재 구성을 표시합니다. |
|
|
현재 구성을 편집하는 사용자를 표시합니다. |
|
|
배너로 표시된 구성 명령 모드의 최상위 수준으로 돌아갑니다. |
|
|
문 계층에서 한 수준 위로 이동합니다. |
|
|
프라이빗 데이터베이스를 업데이트합니다. |
|
|
문 또는 식별자를 삭제합니다. 지정된 문 경로 내에 포함된 모든 종속 문과 식별자는 함께 삭제됩니다. 정규식을 사용하여 패턴을 지정할 수 있습니다. 이 패턴에 따라 운영 체제는 이러한 패턴이 포함된 항목을 검색하고 삭제합니다. |
구성 문 및 식별자
구성에 해당 문을 포함하여 디바이스 속성을 구성할 수 있습니다. 일반적으로 문은 고정 텍스트인 시스템 정의 키워드와 선택적 식별자로 구성됩니다. 식별자는 인터페이스 이름이나 사용자 이름과 같이 사용자가 정의할 수 있는 식별 이름으로, 사용자와 CLI가 문 모음 중에서 구별할 수 있도록 합니다.
표 2 에는 최상위 구성 명령문이 나와 있습니다. 각 구성 문에 대한 정보는 CLI 탐색기를 참조하십시오.
| 성명서 |
설명 |
|---|---|
|
|
CHAP(Challenge Handshake Authentication Protocol)를 구성합니다. |
|
|
인터페이스 및 방화벽 필터에 대한 accounting 통계 데이터 수집을 구성합니다. |
|
|
알람을 활성화하는 조건과 SONET/SDH 프레이밍 및 연결 속성을 포함하여 라우터 섀시의 속성을 구성합니다. |
|
|
서비스 등급 매개 변수를 구성합니다. |
|
|
내용에 따라 패킷을 선택하는 필터를 구성합니다. |
|
|
트래픽 샘플링 옵션을 포함한 포워딩 옵션을 구성합니다. |
|
|
구성 그룹을 구성합니다. |
|
|
캡슐화, 인터페이스, 가상 채널 식별자(VCI), 데이터 링크 연결 식별자(DLCI)와 같은 인터페이스 정보를 구성합니다. |
|
|
들어오고 나가는 경로에서 속성을 필터링하고 설정할 수 있는 라우팅 정책을 구성합니다. |
|
|
BGP, IS-IS, LDP, MPLS, OSPF, RIP 및 RSVP를 포함한 라우팅 프로토콜을 구성합니다. |
|
|
하나 이상의 라우팅 인스턴스를 구성합니다. |
|
|
기록할 정적 경로, 자율 시스템 번호, 컨페더레이션 멤버 및 글로벌 추적(디버깅) 작업과 같은 프로토콜 독립적 라우팅 옵션을 구성합니다. |
|
|
IP 보안(IPsec) 서비스를 구성합니다. |
|
|
SNMP 커뮤니티 문자열, 인터페이스, 트랩 및 알림을 구성합니다. |
|
|
호스트 이름, 도메인 이름, DNS(Domain Name System) 서버, 사용자 로그인 및 권한, 호스트 이름과 주소 간의 매핑, 소프트웨어 프로세스를 포함한 시스템 전체의 속성을 구성합니다. |
구성 명령문 계층
Junos OS Evolved 구성은 문 계층으로 구성됩니다. 두 가지 유형의 문이 있습니다.
-
컨테이너 문은 다른 문(추가 컨테이너 문 또는 리프 문 포함)을 포함할 수 있는 브랜치입니다. 계층의 맨 위에 있는 컨테이너 문은 계층 트리의 트렁크로 간주됩니다.
-
다른 문을 포함하지 않는 리프 문(컨테이너 문에 의해 포함됨).
컨테이너 및 리프 문은 구성 계층을 형성합니다. 구성 계층의 최상위 수준에 있는 각 문은 계층 트리의 트렁크에 있습니다. 이러한 최상위 문은 트리 브랜치를 형성하는 다른 문을 포함하는 컨테이너 문입니다. 리프 문은 계층 트리의 리프입니다. 계층 트리의 트렁크에서 시작하는 개별 문 계층을 문 경로라고 합니다.
다음 그림은 계층 트리를 보여주며, OSPF 영역의 인터페이스에서 문을 구성 hello-interval 하는 프로토콜 구성 계층 부분에 대한 문 경로를 보여줍니다.
구성 모드 계층
문은 protocols 구성 트리의 트렁크에 있는 최상위 문입니다. ospf, area및 interface 문은 모두 상위 문의 종속 컨테이너 문입니다(계층 트리의 분기임). 문은 hello-interval 트리의 리프이며, 이 경우 데이터 값, 즉 의 길이 hello-interval(초)를 포함합니다.
다음 구성 예는 그림 1과 같이 명령문 계층을 보여줍니다.
[edit protocols ospf area area-number interface interface-name]
명령은 다음과 같이 구성을 표시합니다.
protocols {
ospf {
area 0.0.0.0 {
interface et-0/0/0 {
hello-interval 5;
}
interface et-0/0/1 {
hello-interval 5;
}
}
}
}
CLI는 계층의 각 수준을 들여쓰어 계층에서 각 문의 상대적 위치를 나타냅니다. 또한 일반적으로 각 계층 수준의 시작 부분에 열린 중괄호를 사용하고 끝에 닫는 중괄호를 사용하여 각 수준을 중괄호로 설정합니다. 계층 수준의 문이 비어 있으면 중괄호가 인쇄되지 않습니다.
각 리프 문은 세미콜론으로 끝납니다. 계층이 리프 문까지 확장되지 않으면 계층의 마지막 문이 세미콜론으로 끝납니다.
구성 계층은 계층의 최하위 수준에 있는 '원라이너'를 포함할 수도 있습니다. 원라이너는 구문에서 한 수준의 중괄호를 제거하고 컨테이너 문, 해당 식별자, 하위 또는 리프 문 및 해당 속성을 모두 한 줄에 표시합니다.
예를 들어, dynamic-profile dynamic-profile-name aggregate-clients; 구성 모드에서 명령을 실행할 때 문, 해당 식별자 dynamic-profile-name및 리프 문 aggregate-clients 이 모두 한 줄에 표시되기 때문에 dynamic-profile 원라이너입니다.show
[edit forwarding-options]
user@host# show
dhcp-relay {
dynamic-profile dynamic-profile-name aggregate-clients;
}
CLI 구성 모드 시작 및 종료
구성 모드에 진입하고 구성 모드 문의 계층을 생성하여 Junos OS Evolved 를 구성합니다.
구성 모드로 들어가려면 명령을 사용합니다.
configure구성 모드에 들어가면 다음 구성 모드 명령을 사용할 수 있습니다.
user@host>
configureentering configuration mode [edit] user@host#?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 replace Replace character string in configuration 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] user@host>참고:구성을 변경할 때는 종료하기 전에 커밋하십시오. 구성 변경을 커밋하지 않고 구성 모드를 종료하면 의도한 변경 사항을 잃게 됩니다.
명령을 보고 사용하려면
configure구성 권한이 있어야 합니다. 구성 모드에서는 액세스 권한이 있는 문만 보고 수정할 수 있습니다.구성 모드에 들어가고 다른 사용자도 구성 모드에 있는 경우, 사용자 이름과 다른 사용자가 보거나 편집 중인 구성 부분을 보여주는 메시지가 표시됩니다.
user@host>
configureEntering configuration mode Users currently editing the configuration: root terminal d0 (pid 4137) on since 2008-04-09 23:03:07 PDT, idle 7w6d 08:22 [edit] The configuration has been changed but not committed [edit] user@host#최대 32명의 사용자가 동시에 구성 모드에 있을 수 있으며 모두 동시에 구성을 변경할 수 있습니다.
구성 모드를 종료하려면 모든 수준의 구성 모드 명령을 사용
exit configuration-mode하거나 최상위 수준의 명령을 사용합니다exit. 예를 들어:[edit protocols ospf area 0.0.0.0 interface et-0/0/0] user@host#
exit configuration-modeexiting configuration mode user@host>[edit] user@host#
exitexiting configuration mode user@host>명령을 사용하여
exitfconfiguration 모드를 종료하려고 할 때 구성에 커밋하지 않은 변경 사항이 포함되어 있으면 다음 메시지와 프롬프트가 표시됩니다.[edit] user@host#
exitThe configuration has been changed but not committed Exit with uncommitted changes? [yes,no]yesExiting configuration mode user@host>프롬프트에 응답하지 않고 커밋되지 않은 변경 사항으로 종료하려면 명령을
exit configuration-mode사용합니다. 이 명령은 스크립트를 사용하여 원격 구성을 수행할 때 유용합니다.[edit] user@host#
exit configuration-modeThe configuration has been changed but not committed Exiting configuration mode user@host>
또한보십시오
상대 구성 모드 명령
or up 명령 뒤에 다른 구성 명령(edit예: , insert, delete, deactivateshowannotate, 또는 )을 top 사용하면 계층의 맨 위나 구성 중인 영역보다 높은 수준으로 빠르게 이동할 수 있습니다.
계층의 맨 위에서 구성 모드 명령을 내리려면 명령을 top 사용하고 구성 명령을 지정합니다. 예를 들어:
[edit interfaces fxp0 unit 0 family inet]
user@host# top edit system login
[edit system login]
user@host#
계층의 상위 위치에서 구성 모드 명령을 내리려면 구성 모드 명령을 사용합니다 up . 계층에서 위로 이동하려는 수준 수를 지정한 다음 구성 명령을 지정합니다. 예를 들어:
[edit protocols bgp]
user@host# up 2 activate system
또한보십시오
구성 모드에서 명령 완료
이 주제는 CLI 구성 모드에서 명령 도움말에 액세스하고 기본 명령 완료를 사용하는 방법을 보여줍니다. 각 경우에 물음표(?) 문자를 단독으로 사용하거나 부분 명령 또는 구성 명령문과 함께 사용하여 도움말에 액세스합니다.
구성 모드 명령을 나열하려면 명령만 사용하십시오.?
[edit]
user@host# ?
<[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
extension Extension operations
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
replace Replace character string in configuration
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]user@host#
특정 계층 수준에서 사용할 수 있는 모든 문을 나열하려면 보려는 계층 수준의 이름 뒤에 을 사용합니다?. 이 예에서 및 edit protocols 계층을 참조하십시오edit.
[edit] user@host#edit ?Possible completions: > accounting-options Accounting data configuration > 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 > policy-options Routing policy option configuration > protocols Routing protocol configuration > routing-instances Routing instance configuration > routing-options Protocol-independent routing option configuration > snmp Simple Network Management Protocol > system System parameters user@host#edit protocols ?Possible completions: <[Enter]> Execute this command > bgp BGP options > connections Circuit cross-connect configuration > dvmrp DVMRP options > igmp IGMP options > isis IS-IS options > ldp LDP options > mpls Multiprotocol Label Switching options > msdp MSDP options > ospf OSPF configuration > pim PIM options > rip RIP options > router-discovery ICMP router discovery options > rsvp RSVP options > sapSession Advertisement Protocol options > vrrp VRRP options | Pipe through a command
특정 문자열이나 문자로 시작하는 모든 명령을 나열하려면 문자열, 문자 또는 둘 다를 입력한 다음 문자를 입력합니다. ? 이 예는 문자 "a"로 시작하는 모든 routing-options 명령을 보여줍니다.
user@host# edit routing-options a?
Possible completions:
> aggregate Coalesced routes
> autonomous-system Autonomous system number
이 예는 구성된 xe- 모든 인터페이스를 보여줍니다. 약어(ex)의 처음 두 글자와 문자를 사용하여 이러한 인터페이스를 표시할 수 있습니다.?
user@host# edit interfaces ex?
<interface_name> Interface name
ex-0/2/0 Interface name
ex-0/2/1 Interface name
[edit]
구성된 모든 정책 문의 목록을 표시할 수도 있습니다.
user@host# show policy-options policy-statement ?
user@host# show policy-options policy-statement
<policy_name> Name to identify a policy filter
lo0only-v4 Name to identify a policy filter
lo0only-v6 Name to identify a policy filter
lo2bgp Name to identify a policy filter
또한보십시오
구성 계층에서 사용되는 표기법 규칙
CLI 구성 모드에서 작업할 때, 프롬프트 앞에 있는 줄의 배너는 현재 계층 수준을 나타냅니다. 다음 예에서 수준은 다음과 같습니다.[edit protocols ospf]
[edit protocols ospf] user@host#
Junos OS Evolved 설명서는 표준 구성 모드 프롬프트로 사용됩니다 user@host# . CLI 세션에서 프롬프트는 작업 중인 주니퍼 네트웍스 디바이스의 사용자 ID와 구성된 이름을 표시합니다.
명령을 사용하여 set ? 현재 수준의 구성에 포함할 수 있는 문을 표시합니다. 또한 이 명령은 help apropos 컨텍스트에 민감하므로 현재 명령 계층 수준 이하에서만 일치하는 문을 표시합니다.
문은 각 계층 및 하위 계층 내에서 알파벳순으로 나열됩니다. 하위 계층이 너무 길어서 끝나는 위치를 결정하기 어려울 수 있고 다음 피어 문이 시작되는 경우 예외가 발생합니다. 하위 계층이 매우 긴 경우 하위 계층은 알파벳 순서가 아닌 상위 계층의 끝에 나타납니다. 이 예외 시나리오에서는 하위 계층이 나열되었을 알파벳순 위치에 자리 표시자가 나타납니다.
예를 들어, 계층 수준에서 [edit interfaces interface-name unit logical-unit-number] 하위 계층에는 family family-name 자체 하위 문이 있는 여러 하위 계층을 포함하여 20개 이상의 하위 문이 있습니다. 전체 family family-name 계층은 상위 계층[edit interfaces interface-name unit logical-unit-number]()의 끝에 나타나고 다음 자리 표시자는 알파벳순 위치에 나타납니다.
family family-name {
... the family subhierarchy appears after the main [edit interfaces interface-name unit logical-unit-number] hierarchy ...
}
알파벳 순서의 또 다른 예외는 문이 문을 포함하는 모든 계층에서 항상 먼저 표시된다는 것입니다 disable .