이 페이지의 내용
구성 그룹을 사용하여 디바이스를 빠르게 구성
구성 그룹을 사용하여 동일한 구성 내에서 재사용되는 공통 요소를 설정하고 적용합니다.
구성 그룹 개요
이 주제에서는 Junos OS Evolved CLI의 구성 그룹 및 상속 모델에 대한 개요를 제공합니다.
구성 그룹의 작동 방식
구성 그룹을 사용하면 구성 문이 포함된 그룹을 만들고 나머지 구성에서 해당 그룹의 문을 상속하도록 지시할 수 있습니다. 동일한 그룹을 구성의 다른 섹션에 적용할 수 있습니다. 한 그룹 구성 문의 다른 섹션은 구성의 다른 위치에서 상속될 수 있습니다.
구성 그룹을 사용하면 더 작고 논리적으로 구성된 구성 파일을 만들 수 있으므로 주니퍼 네트웍스 디바이스를 보다 쉽게 구성하고 유지 관리할 수 있습니다. 예를 들어, 인터페이스를 구성할 때와 같이 구성의 여러 위치에서 반복되는 문을 그룹화할 수 있습니다. 문을 그룹화하여 구성 업데이트를 그룹으로만 제한할 수 있습니다.
구성 그룹에서도 와일드카드를 사용할 수 있습니다. 와일드카드 표현식과 일치하는 모든 개체는 그룹 구성 데이터를 상속합니다.
구성 그룹 메커니즘은 BGP 그룹과 같이 구성의 다른 곳에서 사용되는 그룹화 메커니즘과 별개입니다. 구성 그룹은 구성 전체에서 사용할 수 있지만 CLI에만 알려진 일반적인 메커니즘을 제공합니다. 구성에 의해 지시된 작업을 수행하는 개별 소프트웨어 프로세스는 확장된 형태의 구성을 받습니다. 구성 그룹에 대한 지식이 없습니다.
상속 모델
구성 그룹은 구성 데이터의 소스와 해당 데이터의 대상 간의 동적이고 지속적인 관계를 포함하는 진정한 상속을 사용합니다. 대상은 구성 그룹에서 변경하는 데이터 값을 자동으로 상속합니다. 대상은 상속된 정보를 포함할 필요가 없습니다. 그러나 상속된 값은 상속된 소스에 영향을 주지 않고 대상에서 재정의할 수 있습니다.
이 상속 모델을 사용하면 상속된 세부 정보를 않고 인스턴스별 정보만 볼 수 있습니다. 구성 모드의 명령 파이프를 사용하면 상속된 데이터를 표시할 수 있습니다.
구성 그룹 구성
구성 문이 상속되는 구성 영역의 경우, 먼저 해당 문을 구성 그룹에 넣어야 합니다. 그런 다음 해당 그룹을 명령문이 필요한 구성 계층의 수준에 적용합니다.
구성 문을 상속하는 구성 영역의 경우:
-
구성 그룹에 문을 구성합니다. 구성 그룹 및 상속을 구성하려면 [edit] 계층 수준에서 groups 문을 포함할 수 있습니다.
[edit] groups {group-name{configuration-data; } } -
1단계의 구성 그룹을 명령문이 필요한 구성 계층의 수준에 적용합니다.
구성 그룹에 포함된 구성 문이 필요한 구성의 아무 곳에나 문을 포함
apply-groups [ group-names ]합니다.
구성 그룹 생성
Junos OS Evolved CLI를 사용하면 구성 문이 포함된 재사용 가능한 그룹을 만들 수 있습니다. 이러한 그룹을 동일한 구성 명령문이 여러 번 반복되는 구성의 다른 섹션에 적용할 수 있습니다.
구성의 다른 섹션에 그룹을 적용하면 구성의 해당 부분은 그룹에 구성된 문을 상속합니다. 구성 그룹은 구성 데이터의 소스와 해당 데이터의 대상 간에 동적이고 지속적인 관계가 설정되는 상속 규칙을 따릅니다. 구성 그룹의 데이터 값을 변경하면 상속된 대상이 변경 사항을 자동으로 반영합니다.
필요한 경우 대상 구성의 값을 덮어쓸 수 있으며, 이는 그룹의 소스에 영향을 미치지 않습니다.
이 상속 모델을 사용하면 상속된 세부 정보를 않고 인스턴스별 정보만 볼 수 있습니다. 구성 모드의 명령 파이프를 사용하면 상속된 데이터를 표시할 수 있습니다. 예를 들어, MTU 값 1500에 대해 모든 et-0/0/1 인터페이스를 구성할 수 있습니다.
최대 전송 단위(MTU) et-0/0/1 값 1500에 대해 모든 인터페이스를 구성하려면 다음을 수행합니다.
-
최대 전송 단위(MTU) 값이 1500인 그룹을 생성합니다.
[edit groups group-1] lab@vSRX3-05# show interfaces { et-0/0/1 { unit 0 { family inet { mtu 1500; } } } } -
그런 다음, 인터페이스 구성에서 그룹을 적용합니다.
[edit interfaces et-0/0/1] lab@vSRX3-05# set apply-groups group-1
-
상속된 구성을 봅니다.
[edit] lab@vSRX3-05# show interfaces et-0/0/1 | display inheritance unit 0 { family inet { ## ## '1500' was inherited from group 'group-1' ## mtu 1500; address 5.0.0.254/24; } }
구성의 다른 부분에서 인터페이스 et-0/0/1 에 대한 최대 전송 단위(MTU) 값을 구성하려는 경우, 옵션을 사용하여 group 문을 적용할 수 있습니다. apply-groups 이 작업을 수동으로 수행하고 나중에 MTU를 늘리려면 모든 인터페이스를 수동으로 변경해야 할 수 있습니다. 구성 그룹을 사용하는 경우 그룹 구성을 변경하여 관련된 모든 인터페이스를 자동으로 업데이트할 수 있습니다.
또한 구성 그룹에서 와일드카드를 사용하여 와일드카드 표현식과 일치하는 모든 개체가 구성 데이터를 상속하도록 허용할 수 있습니다. 예를 들어:
[edit groups group-1]
lab@vSRX3-05# show
interfaces {
et-* {
unit 0 {
family inet {
mtu 1500;
}
}
}
}
구성 그룹을 적용하는 방법
주니퍼 네트웍스 디바이스 구성이 구성 그룹의 문을 상속하도록 하려면 구성에 문을 포함 apply-groups 합니다.
apply-groups [ group-names ];
그룹 이름을 두 개 이상 지정하는 경우 상속 우선순위에 따라 이름을 나열해야 합니다. 첫 번째 그룹의 구성 데이터는 후속 그룹의 데이터보다 우선권을 갖습니다.
구성 계층의 각 특정 수준에서 하나의 apply-groups 문만 포함할 수 있습니다. 특정 계층 수준의 문은 apply-groups 포함된 문의 구성 그룹 목록에 추가할 구성 그룹을 나열합니다.
특정 계층 수준에서 지정된 값은 구성 그룹에서 상속된 값을 재정의합니다.
중첩된 apply-groups 문에 나열된 그룹은 외부 문의 그룹보다 우선권을 갖습니다. 다음 예에서 BGP 인접 라우터 10.0.0.1 는 먼저 그룹 one 에서 구성 데이터를 상속합니다. 그런 다음 그룹 two 및 그룹 three에서 구성 데이터를 상속합니다. 그룹 one 의 구성 데이터는 다른 그룹의 데이터를 재정의합니다. 그룹 ten 의 데이터는 문이 다른 그룹에 포함되지 않은 경우에만 사용됩니다.
apply-groups [ eight nine ten ];
protocols {
apply-groups seven;
bgp {
apply-groups [ five six ];
group some-bgp-group {
apply-groups four;
neighbor 10.0.0.1 {
apply-groups [ one two three ];
}
}
}
}
루트 수준은 기본 논리 시스템입니다. 루트 수준에 대해 정의된 그룹을 구성할 때, 해당 그룹을 계층 수준 아래 [edit logical-systems logical-system-name] 의 기본이 아닌 논리적 시스템에 성공적으로 적용할 수 없습니다. 그룹을 적용하면 디바이스가 커밋을 수락하지만 구성 그룹은 기본이 아닌 논리적 시스템에 영향을 미치지 않습니다. 대신 루트 수준에서 추가 구성 그룹을 생성하여 논리적 시스템 내에 적용할 수 있습니다. 또는 기본 및 기본이 아닌 논리적 시스템 계층 수준 모두에 대한 구성을 포함하도록 원래 그룹을 수정할 수 있습니다.
Junos Evolved에서는 라우팅 엔진 슬롯 0 및 슬롯 1에 구성을 선택적으로 적용하는 데 사용되는 라우팅 엔진별 그룹 re0 re1 이 지원되지 않습니다.
예: 구성 그룹 생성 및 적용
이 예는 구성 그룹의 생성 및 적용을 보여줍니다. 이 예에서 SNMP 구성은 그룹 basic 과 일반 구성 계층으로 나뉩니다.
시스템별 구성(SNMP 연락처)을 구성 그룹에 배치하여 일반 구성 계층과 분리하면 여러 가지 이점을 얻을 수 있습니다.
-
명령을
load replace사용하여 다른 섹션에서 데이터를 삭제하지 않고 둘 중 하나를 바꿀 수 있습니다. -
그룹 데이터는 디바이스별 데이터에 의해 숨겨지기 때문에 특정 상자에 대한 연락처를 설정할 수 있습니다.
[edit] groups { basic { # User-defined group name snmp { # This group contains some SNMP data contact "My Engineering Group"; community BasicAccess { authorization read-only; } } } } apply-groups basic; # Enable inheritance from group "basic" snmp { # Some normal (non-group) configuration location "West of Nowhere"; }
이 구성은 다음과 같습니다.
[edit]
snmp {
location "West of Nowhere";
contact "My Engineering Group";
community BasicAccess {
authorization read-only;
}
}
예: 구성 그룹의 상속 비활성화
계층의 최상위 수준을 제외한 모든 수준에서 구성 그룹의 상속을 비활성화할 수 있습니다. 상속을 비활성화하려면 구성에 다음 문을 포함 apply-groups-except 합니다.
apply-groups-except [ group-names ];
이 문은 특정 계층 수준에서 문을 사용 apply-group 하지만 특정 매개 변수에 대해 구성 그룹에서 상속된 값을 재정의하려는 경우에도 유용합니다.
예: 인터페이스 et-1/1/0에서 상속 비활성화
다음 예 apply-groups 에서 명령문은 인터페이스 수준에서 전역으로 적용됩니다. 명령문은 apply-groups-except 또한 인터페이스 et-1/1/0 에 적용되므로 명령문에 대한 link-mode 기본값을 사용합니다hold-time.
[edit]
groups { # "groups" is a top-level statement
global { # User-defined group name
interfaces {
<*> {
hold-time down 640;
link-mode full-duplex;
}
}
}
}
apply-groups global;
interfaces {
et-1/1/0 {
apply-groups-except global; # Disables inheritance from group "global"
# et-1/1/0 uses default value for “hold-time”
# and "link-mode"
}
}
디바이스가 구성 그룹에서 구성 데이터를 상속할 수 있기 때문에 구성 그룹은 디바이스가 사용하는 실제 값과 관련하여 약간의 혼동을 더할 수 있습니다. 디바이스에서 사용되는 실제 값을 보려면 명령에서 show 파이프( | ) 뒤에 명령을 사용합니다display inheritance. 이 명령은 상속된 문이 상속된 수준과 상속된 그룹에 표시됩니다.
[edit]
user@host# show | display inheritance
snmp {
location "West of Nowhere";
##
## 'My Engineering Group' was inherited from group 'basic'
##
contact "My Engineering Group";
##
## 'BasicAccess' was inherited from group 'basic'
##
community BasicAccess {
##
## 'read-only' was inherited from group 'basic'
##
authorization read-only;
}
}
## 줄 없이 확장된 구성(상속된 문을 포함한 구성)을 표시하려면 명령의 파이프 뒤에 명령을 사용합니다except.show
[edit]
user@host# show | display inheritance | except ##
snmp {
location "West of Nowhere";
contact "My Engineering Group";
community BasicAccess {
authorization read-only;
}
}
이 옵션을 ##사용하면 display inheritance | except ## . 따라서 사용되는 비밀번호 또는 기타 중요한 데이터에 ## 대한 정보를 못할 수 있습니다. 로 표시된 ##코멘트 제외 모든 정보와 함께 전체 구성 세부 정보를 보려면 다음과 같은 명령과 함께 옵션을 사용합니다no-comments.display inheritance
[edit]
user@host# show | display inheritance no-comments
snmp {
location "West of Nowhere";
contact "My Engineering Group";
community BasicAccess {
authorization read-only;
}
}
예: 구성 그룹 사용 junos-defaults
Junos OS Evolved 는 디바이스 구성에 자동으로 적용되는 숨겨진 불변 구성 그룹을 junos-defaults 제공합니다. junos-defaults 이 그룹에는 일반적인 애플리케이션에 대해 사전 정의된 값이 포함된 사전 구성된 문이 포함되어 있습니다. 응용 프로그램에 대한 정의(예: FTP 또는 텔넷 설정)와 같은 일부 문은 적용되기 위해 참조되어야 합니다. 터미널 설정과 같은 다른 명령문은 자동으로 적용됩니다.
구성 그룹에 junos-defaults 포함된 많은 식별자는 이름 junos-으로 시작합니다. 이름 junos- 으로 시작하는 식별자는 주니퍼 네트웍스에서 사용하도록 예약되어 있으므로 이 이름을 사용하여 구성 객체를 정의할 수 없습니다.
문에 apply-groups 구성 그룹 이름을 포함 junos-defaults 할 수 없습니다.
그룹에서 사용 가능한 사전 설정 문의 전체 세트를 junos-defaults 보려면 구성의 최상위 수준에서 구성 모드 명령을 실행 show groups junos-defaults 합니다. 다음 예는 Junos 기본 그룹의 일부 목록을 표시합니다.
user@host# show groups junos-defaults
# Make vt100 the default for the console port
system {
ports {
console type vt100;
}
}
applications {
# File Transfer Protocol
application junos-ftp {
application-protocol ftp;
protocol tcp;
destination-port 21;
}
# Trivial File Transfer Protocol
application junos-tftp {
application-protocol tftp;
protocol udp;
destination-port 69;
}
# RPC port mapper on TCP
application junos-rpc-portmap-tcp {
application-protocol rpc-portmap;
protocol tcp;
destination-port 111;
}
# RPC port mapper on UDP
}
그룹에서 junos-defaults 사용할 수 있는 문을 참조하려면 해당 계층 수준에서 선택한 junos- default-name 문을 포함합니다.
그룹show configuration groups junos-defaults applications의 junos-defaults 애플리케이션 목록을 보려면 . 로 junos- 시작하는 애플리케이션은 기본적으로 주니퍼 네트웍스에서 구성합니다. 다음 예는 Junos 기본 그룹 애플리케이션의 일부 목록을 표시합니다.
user@host>show configuration groups junos-defaults applications
## protect: groups junos-defaults
##
#
# File Transfer Protocol
#
application junos-ftp {
application-protocol ftp;
protocol tcp;
destination-port 21;
}
#
# Trivial File Transfer Protocol
#
application junos-ftp-data {
application-protocol ftp-data;
protocol tcp;
destination-port 20;
}
application junos-tftp {
application-protocol tftp;
protocol udp;
destination-port 69;
}
#
# Two-Way Active Measurement Protocol
#
application junos-twamp {
application-protocol twamp;
protocol tcp;
destination-port 862;
}
#
# Real Time Streaming Protocol
#
application junos-rtsp {
application-protocol rtsp;
protocol tcp;
destination-port 554;
}
#
# Network Basic Input Output System - networking protocol used on
# Windows networks session service port
#
application junos-netbios-session {
protocol tcp;
destination-port 139;
}
application junos-smb-session {
protocol tcp;
destination-port 445;
}
application junos-ssh {
protocol tcp;
destination-port 22;
}
application junos-telnet {
protocol tcp;
destination-port 23;
}
예: 구성 그룹에 와일드카드 사용
와일드카드를 사용하여 이름을 식별하고 하나의 문이 다양한 문에 대한 데이터를 제공하도록 할 수 있습니다.
일반 구성 데이터에서 와일드카드를 사용하는 것은 기존 UNIX 셸 와일드카드와 함께 사용되는 것과 일치하는 스타일로 수행됩니다. 이 스타일에서는 다음 메타 문자를 사용할 수 있습니다.
-
별표(
*) - 모든 문자열과 일치합니다. -
물음표(
?) - 단일 문자와 일치합니다. -
개방 괄호(
[) - 문자 클래스를 도입합니다. -
닫는 괄호(
]) - 문자 클래스의 끝을 나타냅니다. 닫는 괄호가 누락된 경우 개방 괄호는 문자 클래스를 도입하는 대신 개방 괄호[와 일치합니다. -
문자 클래스는 대괄호 안에 있는 모든 문자와 일치합니다. 구성 그룹 내에서 문자 클래스를 포함하는 인터페이스 이름을 따옴표로 묶어야 합니다.
-
하이픈(
-) - 문자 범위를 지정합니다. -
느낌표(
!) - 느낌표를 문자 클래스의 첫 번째 문자로 만들어 문자 클래스를 보완할 수 있습니다. 문자 클래스에 닫는 괄호(])를 포함하려면, 나열된 첫 번째 문자로!만듭니다(있는 경우 , 뒤). 빼기 기호를 포함하려면 나열된 첫 번째 또는 마지막 문자로 만듭니다.
계층 내에서 groups 식별자를 사용하는 경우 식별자 이름을 이외의 이름<으로 시작합니다. 그러나 와일드카드 문을 정의하는 경우, 와일드카드 문에는 닫기 >가 있어야 하기 때문에 를 사용할 < 수 있습니다.
구성 그룹에서 와일드카드를 사용하는 것은 일반 구성에 와일드카드를 사용하는 것과 동일한 규칙을 따릅니다. 그러나 < > 계층 아래에서 사용될 때 특별한 의미를 갖습니다. groups 계층에서 groups 와일드카드 패턴<>pattern을 사용하는 모든 용어를 꺾쇠 괄호로 묶어 구성 파일의 다른 와일드카드와 구별해야 합니다.
[edit]
groups {
sonet-default {
interfaces {
<et-*> {
sonet-options {
payload-scrambler;
rfc-2615;
}
}
}
}
}
와일드카드 표현식은 해당 표현식과만 일치하는 구성의 기존 명령문과 일치하고 구성 데이터를 제공합니다. 이전 예제에서 표현식 <et-*> 은 표현식et-*과 일치하는 모든 인터페이스에 해당 sonet-options 문을 전달합니다.
다음 예는 인터페이스 범위를 지정하는 방법을 보여줍니다.
[edit]
groups {
gigabit-ethernet-interfaces {
interfaces {
"<et-1/2/[5-8]>" {
description "These interfaces reserved for Customer ABC";
}
}
}
}
꺾쇠 괄호를 사용하면 수정 없이 일반적인 와일드카드를 통과시킬 수 있습니다. 구성 내의 모든 일치에서 와일드카드 사용 여부에 관계없이 일치하는 구성에서 발견한 첫 번째 항목이 사용됩니다. 다음 예에서는 와일드카드 BGP 그룹의 데이터가 그룹이 나열된 순서대로 상속됩니다.
- 의
<*a*>기본 설정 값은 의 기본 설정을 재정의합니다.<*b*> pfrom<*c*>값은 from 값을 재정의합니다.<*d*>
이러한 그룹의 데이터 값은 다음의 데이터 값을 재정의합니다 abcd.
[edit] user@host#showgroups { one { protocols { bgp { group <*a*> { preference 1; } group <*b*> { preference 2; } group <*c*> { out-delay 3; } group <*d*> { out-delay 4; } group abcd { preference 10; hold-time 10; out-delay 10; } } } } } protocols { bgp { group abcd { apply-groups one; } } } [edit] user@host#show | display inheritanceprotocols { bgp { group abcd { ## ## ’1’ was inherited from group ’one’ ## preference 1; ## ## ’10’ was inherited from group ’one’ ## hold-time 10; ## ## ’3’ was inherited from group ’one’ ## out-delay 3; } } }
구성 그룹 사용 시 커밋 시간을 개선하는 방법
구성 그룹을 사용하면 구성 데이터를 다시 입력하지 않고 다른 계층에 구성을 적용할 수 있습니다. 구성 그룹에서 모든 구성 세부 정보를 지정할 수 있습니다. 또한 각 구성 라인을 자세히 설명하지 않고 구성 그룹에서 와일드카드를 사용하여 데이터 범위를 구성할 수 있습니다. 구성 그룹을 사용하는 또 다른 방법은 적용할 긴 구성 문자열을 포함하는 상속 경로를 만드는 것입니다.
구성 그룹을 사용하는 구성이 커밋되면 커밋 프로세스는 그룹의 모든 구성 데이터를 확장하고 메모리로 읽어 의도한 대로 구성을 적용합니다. 많은 구성 그룹이 적용되는 경우, 특히 구성 그룹이 와일드카드를 광범위하게 사용하는 경우 커밋 성능에 부정적인 영향을 미칠 수 있습니다.
시스템이 와일드카드를 사용하는 많은 구성 그룹을 사용하는 경우, 계층 수준에서 [edit system commit] 문을 구성 persist-groups-inheritance 하여 커밋 시간 성능을 향상시킬 수 있습니다.
이 옵션을 사용하면 시스템에서 프로세스 메모리가 아닌 데이터베이스 내부에 각 구성 그룹에 대한 상속 경로를 구축할 수 있습니다. 이 변경은 커밋 시간 성능을 향상시킬 수 있습니다. 그러나 데이터베이스 크기를 증가시킬 수도 있습니다.
예: 구성 그룹을 사용하여 문 세트 구성
구성 그룹에 명령문 세트가 존재하면 모든 값이 상속됩니다. 예를 들어:
[edit] user@host#showgroups { basic { snmp { interface et-1/1/1.0; } } } apply-groups basic; snmp { interface et-0/0/0.0; } [edit] user@host#show | display inheritancesnmp { ## ## ’et-1/1/1.0’ was inherited from group ’basic’ ## interface [ et-0/0/0.0 et-1/1/1.0 ]; }
괄호 안에 표시되지 않는 세트의 경우에도 모든 값이 상속됩니다. 예를 들어:
[edit] user@host#showgroups { worldwide { system { name-server { 10.0.0.100; 10.0.0.200; } } } } apply-groups worldwide; system { name-server { 10.0.0.1; 10.0.0.2; } } [edit] user@host#show | display inheritancesystem { name-server { ## ## ’10.0.0.100’ was inherited from group ’worldwide’ ## 10.0.0.100; ## ## ’10.0.0.200’ was inherited from group ’worldwide’ ## 10.0.0.200; 10.0.0.1; 10.0.0.2; } }
예: 구성 그룹을 사용하여 관리 인터페이스에 대한 일관된 IP 주소 구성
여러 라우팅 엔진을 갖춘 디바이스에서 각 라우팅 엔진은 관리 인터페이스에 대한 별도의 IP 주소로 구성됩니다. 기본 라우팅 엔진에 액세스하려면 어떤 라우팅 엔진이 활성화되었는지 알고 적절한 IP 주소를 사용해야 합니다.
기본 라우팅 엔진에 대한 일관된 액세스를 위한 또 다른 옵션은 추가 IP 주소를 구성하는 것입니다. 그런 다음 활성화된 라우팅 엔진에 관계없이 관리 인터페이스에 이 주소를 사용합니다. 이 추가 IP 주소는 기본 라우팅 엔진의 관리 인터페이스에서만 활성화됩니다. 스위치오버 중에 주소는 새로운 기본 라우팅 엔진으로 이동합니다.
이 예는 두 라우팅 엔진에 대한 주소를 10.17.40.131 구성하고 문을 포함합니다master-only. 이 구성으로, 주소는 10.17.40.131 기본 라우팅 엔진에서만 활성화됩니다. 주소는 활성화된 라우팅 엔진에 관계없이 일관되게 유지됩니다. 주소 10.17.40.132 는 에 할당global interfaces re0:mgmt-0되며 10.17.40.133 에 할당됩니다.global interfaces re1:mgmt-0
[edit groups global interfaces re0:mgmt-0]
unit 0 {
family inet {
address 10.17.40.131/25 {
master-only;
}
address 10.17.40.132/25;
}
}
[edit groups global interfaces re1:mgmt-0]
unit 0 {
family inet {
address 10.17.40.131/25 {
master-only;
}
address 10.17.40.133/25;
}
}
이 기능은 이중 라우팅 엔진을 포함하는 모든 라우터에서 사용할 수 있습니다.
-
프라이빗 인터페이스와 공용 인터페이스에 중복 주소가 있는 두 인터페이스에 고유한 IP 주소를 할당해야 합니다. GRES(Graceful 라우팅 엔진 스위치오버)가 활성화되면 CLI는 동일한 주소를 찾으면 적절한 커밋 오류 메시지를 표시합니다. 이 오류는 관리 인터페이스 또는 내부 인터페이스(예
global interfaces re0:mgmt-0: )와 외부 물리적 인터페이스et-0/0/1(예: )에 대해 동일한 IP 주소를 구성할 경우 발생할 수 있습니다.
예: 구성 그룹을 사용하여 피어 엔터티 구성
이 예에서는 다른 ISP와 관련된 구성 데이터가 포함된 그룹을 some-isp 만듭니다. 그런 다음 구성 계층의 해당 위치가 이 데이터를 상속할 수 있도록 다양한 지점에 문을 삽입 apply-group 합니다.
[edit] user@host#showgroups { some-isp { interfaces { <xe-*> { gigether-options { flow-control; } } } protocols { bgp { group <*> { neighbor <*> { remove-private; } } } pim { interface <*> { version 1; } } } } } interfaces { xe-0/0/0 { apply-groups some-isp; unit 0 { family inet { address 10.0.0.1/24; } } } } protocols { bgp { group main { neighbor 10.254.0.1 { apply-groups some-isp; } } } pim { interface xe-0/0/0.0 { apply-groups some-isp; } } } [edit] user@host#show | display inheritanceinterfaces { xe-0/0/0 { ## ## "gigether-options" was inherited from group "some-isp" ## gigether-options { ## ## "flow-control" was inherited from group "some-isp" ## flow-control; } unit 0 { family inet { address 10.0.0.1/24; } } } } protocols { bgp { group main { neighbor 10.254.0.1 { ## ## "remove-private" was inherited from group "some-isp" ## remove-private; } } } pim { interface xe-0/0/0.0 { ## ## "1" was inherited from group "some-isp" ## version 1; } } }
예: 와일드카드 구성 그룹 이름 구성
와일드카드는 특수 문자를 사용하여 여러 문에 적용할 수 있는 패턴을 생성하는 구성 그룹 이름입니다. 와일드카드는 하나의 구성 옵션 세트를 여러 다른 구성 그룹에 복사하는 데 유용합니다. 와일드카드 구성 옵션이 적절한 구성 그룹에 복사되도록 와일드카드 이름을 올바르게 설정해야 합니다.
이 예에서는 문 아래의 와일드카드 그룹에 <*-minor> 대해 와일드카드 그룹에 대해 <*-major> 서로 다른 값을 구성합니다.label-switched-path 별표(*) 문자는 모든 문자열과 일치할 수 있는 와일드카드 이름 섹션을 나타냅니다. 예를 들어, 아래 label-switched-path <*-major> 의 구성 옵션은 해당 이름에 포함된 -major 다른 label-switched-path 구성 그룹에 label-switched-path metro-major 전달됩니다.
[edit] user@host#showgroups { mpls-conf { protocols { mpls { label-switched-path <*-major> { retry-timer 5; bandwidth 155m; optimize-timer 60; } label-switched-path <*-minor> { retry-timer 15; bandwidth 64k; optimize-timer 120; } } } } } apply-groups mpls-conf; protocols { mpls { label-switched-path metro-major { to 10.0.0.10; } label-switched-path remote-minor { to 10.0.0.20; } } } [edit] user@host#show | display inheritanceprotocols { mpls { label-switched-path metro-major { to 10.0.0.10; ## ## "5" was inherited from group "mpls-conf" ## retry-timer 5; ## "155m" was inherited from group "mpls-conf" ## bandwidth 155m; ## ## "60" was inherited from group "mpls-conf" ## optimize-timer 60; } label-switched-path remote-minor { to 10.0.0.20; ## ## "15" was inherited from group "mpls-conf" ## retry-timer 15; ## ## "64k" was inherited from group "mpls-conf" ## bandwidth 64k; ## ## "120" was inherited from group "mpls-conf" ## optimize-timer 120; } } }
예: 기본값 그룹의 사전 설정 문 참조
다음 예는 스테이트풀 방화벽에서 FTP에 사용할 수 있는 defaults 그룹의 사전 설정 문입니다.
[edit]
groups {
junos-defaults {
applications {
application junos-ftp {# Use FTP default configuration
application-protocol ftp;
protocol tcp;
destination-port 21;
}
}
}
기본값 그룹에서 사전 설정된 기본 문을 참조하려면 해당 계층 수준에서 문을 포함 junos-default-name 합니다. 예를 들어, 스테이트풀 방화벽에서 FTP에 대한 기본 문을 참조하려면 계층 수준에서 문을 포함 junos-ftp 합니다.[edit services stateful-firewall rule my-rule term my-term from applications]
[edit]
services {
stateful-firewall {
rule my-rule {
term my-term {
from {
applications junos-ftp; #Reference predefined statement, junos-ftp
}
}
}
}
}
예: 구성에 적용된 기본 문 보기
디바이스 구성에 적용된 기본값을 보려면 명령을 실행합니다.show | display inheritance defaults 이 예는 계층 수준에서 상속된 기본값을 표시합니다.[edit system ports]
user@host# show system ports | display inheritance defaults
## ## 'console' was inherited from group 'junos-defaults'
## 'vt100' was inherited from group 'junos-defaults'
## console type vt100;
기존 기본 문을 사용하지 않기로 선택한 경우 자체 구성 그룹을 수동으로 만들 수 있습니다.
로 표시된 ##코멘트를 생략한 전체 구성 정보를 보려면 명령과 함께 display inheritance 옵션을 사용하십시오no-comments.
조건을 사용하여 구성 그룹을 적용하는 방법
계층 수준에서 [edit groups group-name] 문을 when 사용하여 구성 그룹을 적용할 조건을 정의할 수 있습니다.
하루 또는 날짜의 시작 및 선택적 종료 시간을 기준으로 적용할 그룹을 구성할 수 있습니다.
예를 들어, 이 when 문을 사용하여 예약된 시작 및 종료 시간을 기반으로 특정 시간 창 동안에만 적용되는 일반 구성 그룹을 생성할 수 있습니다.