이 페이지의 내용
구성 그룹을 사용하여 빠르게 디바이스 구성
구성 적용 그룹을 사용하여 동일한 구성 내에서 재사용되는 공통 요소를 설정하고 적용할 수 있습니다.
구성 그룹 개요
이 주제는 Junos OS Evolved CLI의 구성 그룹 및 상속 모델에 대한 개요를 제공합니다.
구성 적용 그룹의 작동 방식
구성 그룹을 사용하면 구성 문을 포함하는 그룹을 만들고 나머지 구성에서 해당 그룹 문의 상속을 지시할 수 있습니다. 동일한 그룹을 구성의 다른 섹션에 적용할 수 있습니다. 한 그룹 구성 문의 다른 섹션은 구성의 다른 위치에서 상속될 수 있습니다.
구성 그룹을 사용하면 더 작고 논리적으로 구성된 구성 파일을 만들 수 있으므로 주니퍼 네트웍스 디바이스를 보다 쉽게 구성하고 유지 관리할 수 있습니다. 예를 들어, 인터페이스를 구성할 때와 같이 구성의 여러 위치에서 반복되는 문을 그룹화할 수 있습니다. 문을 그룹화하여 구성 업데이트를 그룹으로만 제한할 수 있습니다.
구성 그룹에서 와일드카드를 사용할 수도 있습니다. 와일드카드 표현식과 일치하는 모든 객체는 그룹 구성 데이터를 상속합니다.
구성 그룹 메커니즘은 BGP 그룹과 같이 구성의 다른 곳에서 사용되는 그룹화 메커니즘과는 별개입니다. 구성 그룹은 구성 전체에서 사용할 수 있지만 CLI에만 알려진 일반적인 메커니즘을 제공합니다. 구성에 의해 지시된 작업을 수행하는 개별 소프트웨어 프로세스는 확장된 형태의 구성을 수신합니다. 구성 그룹에 대한 지식이 없습니다.
상속 모델
구성 그룹은 구성 데이터의 소스와 해당 데이터의 대상 간에 동적이고 지속적인 관계를 포함하는 진정한 상속을 사용합니다. 대상은 구성 그룹에서 변경한 데이터 값을 자동으로 상속합니다. 대상은 상속된 정보를 포함할 필요가 없습니다. 그러나 상속된 값은 상속된 원본에 영향을 주지 않고 대상에서 재정의할 수 있습니다.
이 상속 모델을 사용하면 상속된 세부 정보를 않고 인스턴스별 정보만 볼 수 있습니다. 구성 모드의 명령 파이프를 사용하면 상속된 데이터를 표시할 수 있습니다.
구성 그룹 구성
구성 영역이 구성 문을 상속하려면 먼저 문을 구성 그룹에 배치해야 합니다. 그런 다음 해당 그룹을 문이 필요한 구성 계층의 수준에 적용합니다.
구성 영역이 구성 문을 상속하는 경우:
-
문을 구성 그룹으로 구성합니다. 구성 그룹 및 상속을 구성하기 위해 계층 수준에서 명령문을 포함 groups [edit] 할 수 있습니다.
[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) 값을 구성하려면 옵션을 사용하여 그룹 문을 적용할 수 있습니다 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 ];
둘 이상의 그룹 이름을 지정하는 경우, 상속 우선순위 순서대로 이름을 나열해야 합니다. 첫 번째 그룹의 구성 데이터는 후속 그룹의 데이터보다 우선합니다.
여러 라우팅 엔진을 지원하는 디바이스의 경우, 이름을 지정하고 re0
re1
그룹화할 수 있습니다. group re0
에 지정된 구성은 현재 라우팅 엔진이 슬롯 0에 있는 경우에만 적용됩니다. 마찬가지로 group re1
에 지정된 구성은 현재 라우팅 엔진이 슬롯 1에 있는 경우에만 적용됩니다. 따라서 두 라우팅 엔진 모두 동일한 구성 파일을 사용할 수 있으며, 각 구성 파일은 해당 파일에 적용되는 구성 명령문만 사용합니다. 각 re0
또는 re1
그룹에는 최소한 호스트 이름 및 관리 인터페이스()에 대한 구성이 포함됩니다.fxp0
각 라우팅 엔진이 서로 다른 관리 인터페이스를 사용하는 경우 그룹에는 백업 라우터 및 정적 경로에 대한 구성도 포함되어야 합니다.
구성 계층의 각 특정 수준에 하나의 apply-groups
문만 포함할 수 있습니다. 특정 계층 수준의 문은 apply-groups
포함하는 문의 구성 그룹 목록에 추가할 구성 그룹을 나열합니다.
특정 계층 수준에서 지정된 값은 구성 그룹에서 상속된 값을 재정의합니다.
중첩 apply-groups
된 문에 나열된 그룹은 외부 문에 있는 그룹보다 우선합니다. 다음 예제에서 BGP 인접 항목은 10.0.0.1
그룹 one
First에서 구성 데이터를 상속합니다. 그런 다음 그룹 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]
기본이 아닌 논리적 시스템에 해당 그룹을 성공적으로 적용할 수 없습니다. 그룹을 적용하면 디바이스가 커밋을 수락하지만 구성 그룹은 기본이 아닌 논리적 시스템에는 적용되지 않습니다. 대신 루트 수준에서 추가 구성 그룹을 생성하고 논리적 시스템 내에 적용할 수 있습니다. 또는 기본 및 기본이 아닌 논리적 시스템 계층 수준 모두에 대한 구성을 포함하도록 원래 그룹을 수정할 수 있습니다.
예: 구성 그룹 생성 및 적용
이 예제에서는 구성 그룹을 만들고 적용하는 방법을 보여 줍니다. 이 예에서 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;
}
}
## 줄 없이 확장된 구성(상속된 문을 포함한 구성)을 표시하려면 명령에서 show
파이프 뒤에 명령을 사용합니다except
.
[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-
시작하는 식별자는 주니퍼 네트웍스에서 사용하도록 예약되어 있기 때문에 이 이름을 사용하여 구성 개체를 정의할 수 없습니다.
명령문에는 구성 그룹 이름으로 포함할 junos-defaults
수 없습니다 apply-groups
.
그룹에서 사용 가능한 프리셋 명령문의 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*>
기본 설정보다 우선합니다. p
의<*c*>
값은 의 값을 재정의합니다.<*d*>
이러한 그룹의 데이터 값은 의 abcd
데이터 값을 재정의합니다.
[edit] user@host#show
groups { 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 inheritance
protocols { 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#show
groups { basic { snmp { interface et-1/1/1.0; } } } apply-groups basic; snmp { interface et-0/0/0.0; } [edit] user@host#show | display inheritance
snmp { ## ## ’et-1/1/1.0’ was inherited from group ’basic’ ## interface [ et-0/0/0.0 et-1/1/1.0 ]; }
괄호 안에 표시되지 않는 집합의 경우 모든 값도 상속됩니다. 예를 들어:
[edit] user@host#show
groups { 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 inheritance
system { 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
의 re0
에 re0:mgmt-0
할당되고 10.17.40.133
의 re1
에 지정됩니다re1:mgmt-0
.
[edit groups re0 interfaces re0:mgmt-0] unit 0 { family inet { address 10.17.40.131/25 { master-only; } address 10.17.40.132/25; } } [edit groups re1 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 Routing Engine Switchover)가 활성화되면 CLI가 동일한 주소를 찾으면 적절한 커밋 오류 메시지를 표시합니다. 이 오류는 관리 인터페이스 또는 내부 인터페이스(예: 및 외부의 물리적 인터페이스(예
re0:mgmt-0
: )에 대해 동일한 IP 주소를 구성하는 경우 발생할 수 있습니다et-0/0/1
.
예: 구성 그룹을 사용하여 피어 엔터티 구성
이 예는 다른 ISP와 관련된 구성 데이터를 포함하는 그룹을 some-isp
만듭니다. 그런 다음 다양한 지점에 문을 삽입 apply-group
하여 구성 계층의 해당 위치가 이 데이터를 상속할 수 있도록 합니다.
[edit] user@host#show
groups { 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 inheritance
interfaces { 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; } } }
예: 와일드카드 구성 그룹 이름 구성
와일드카드는 특수 문자를 사용하여 여러 문에 적용할 수 있는 패턴을 생성하는 구성 그룹 이름입니다. 와일드카드는 하나의 구성 옵션 세트를 여러 구성 그룹에 복사하는 데 유용합니다. 와일드카드 구성 옵션이 적절한 구성 그룹에 복사되도록 와일드카드 이름을 올바르게 설정해야 합니다.
이 예에서는 문 아래에 label-switched-path
및 <*-minor>
와일드카드 그룹에 대해 <*-major>
서로 다른 값을 구성합니다. 별표(*
) 문자는 모든 문자열과 일치할 수 있는 와일드카드 이름의 섹션을 나타냅니다. 예를 들어, 아래의 label-switched-path <*-major>
구성 옵션은 및 그 이름에 포함된 -major
다른 label-switched-path
구성 그룹에 전달됩니다label-switched-path metro-major
.
[edit] user@host#show
groups { 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 inheritance
protocols { 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; } } }
예: Defaults 그룹의 Preset 문 참조
다음 예는 스테이트풀 방화벽에서 FTP에 사용할 수 있는 defaults 그룹의 사전 설정 명령문입니다.
[edit] groups { junos-defaults { applications { application junos-ftp {# Use FTP default configuration application-protocol ftp; protocol tcp; destination-port 21; } } }
defaults 그룹에서 사전 설정된 기본 명령문을 참조하려면 해당 계층 수준에서 명령문을 포함합니다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
각 노드 유형에 대한 일반 구성 그룹을 생성한 다음 섀시 또는 모델과 같은 특정 노드 속성을 기반으로 구성을 적용할 수 있습니다.