이 페이지에서
구성 그룹을 사용하여 빠르게 디바이스 구성
구성 적용 그룹을 사용하여 동일한 구성 내에서 재사용되는 공통 요소를 설정하고 적용할 수 있습니다.
구성 그룹 개요
이 주제에서는 CLI의 구성 그룹 및 상속 모델에 Junos OS 대한 개요를 제공합니다.
구성 적용 그룹의 작동 방식
구성 그룹을 사용하면 구성 문을 포함하는 그룹을 만들고 나머지 구성에서 해당 그룹 문의 상속을 지시할 수 있습니다. 동일한 그룹을 구성의 다른 섹션에 적용할 수 있습니다. 한 그룹 구성 문의 다른 섹션은 구성의 다른 위치에서 상속될 수 있습니다.
구성 그룹을 사용하면 더 작고 논리적으로 구성된 구성 파일을 만들 수 있으므로 주니퍼 네트웍스 디바이스를 보다 쉽게 구성하고 유지 관리할 수 있습니다. 예를 들어, 인터페이스를 구성할 때와 같이 구성의 여러 위치에서 반복되는 문을 그룹화할 수 있습니다. 문을 그룹화하여 구성 업데이트를 그룹으로만 제한할 수 있습니다.
구성 그룹에서 와일드카드를 사용할 수도 있습니다. 와일드카드 표현식과 일치하는 모든 객체는 그룹 구성 데이터를 상속합니다.
구성 그룹 메커니즘은 BGP 그룹과 같이 구성의 다른 곳에서 사용되는 그룹화 메커니즘과는 별개입니다. 구성 그룹은 구성 전체에서 사용할 수 있지만 CLI에만 알려진 일반적인 메커니즘을 제공합니다. 구성에 의해 지시된 작업을 수행하는 개별 소프트웨어 프로세스는 확장된 형태의 구성을 수신합니다. 구성 그룹에 대한 지식이 없습니다.
상속 모델
구성 그룹은 구성 데이터의 소스와 해당 데이터의 대상 간에 동적이고 지속적인 관계를 포함하는 진정한 상속을 사용합니다. 대상은 구성 그룹에서 변경한 데이터 값을 자동으로 상속합니다. 대상은 상속된 정보를 포함할 필요가 없습니다. 그러나 상속된 값은 상속된 원본에 영향을 주지 않고 대상에서 재정의할 수 있습니다.
이 상속 모델을 사용하면 상속된 세부 정보를 않고 인스턴스별 정보만 볼 수 있습니다. 구성 모드의 명령 파이프를 사용하면 상속된 데이터를 표시할 수 있습니다.
구성 그룹 구성
구성 영역이 구성 문을 상속하려면 먼저 문을 구성 그룹에 배치해야 합니다. 그런 다음 해당 그룹을 문이 필요한 구성 계층의 수준에 적용합니다.
구성 영역이 구성 문을 상속하는 경우:
-
문을 구성 그룹으로 구성합니다. 구성 그룹 및 상속을 구성하기 위해 계층 수준에서 명령문을 포함 groups [edit] 할 수 있습니다.
[edit] groups {
group-name
{configuration-data
; } } -
1단계의 구성 그룹을 문이 필요한 구성 계층의 수준에 적용합니다.
apply-groups [ group-names ]
구성 그룹에 포함된 구성 문이 필요한 구성의 아무 곳에나 문을 포함합니다.
구성 그룹 만들기
CLI를 Junos OS 사용하면 구성 문을 포함하는 재사용 가능한 그룹을 생성할 수 있습니다. 동일한 구성 문이 여러 번 반복되는 구성의 다른 섹션에 이러한 그룹을 적용할 수 있습니다.
구성의 다른 섹션에 그룹을 적용하면 구성의 해당 부분이 그룹에 구성된 문을 상속합니다. 구성 그룹은 구성 데이터의 소스와 해당 데이터의 대상 간에 동적이고 지속적인 관계가 설정되는 상속 규칙을 따릅니다. 구성 그룹의 데이터 값을 변경하면 상속된 대상에 변경 사항이 자동으로 반영됩니다.
필요한 경우 대상 구성의 값을 덮어쓸 수 있으며, 이는 그룹의 소스에 영향을 주지 않습니다.
이 상속 모델을 사용하면 상속된 세부 정보를 않고 인스턴스별 정보만 볼 수 있습니다. 구성 모드의 명령 파이프를 사용하면 상속된 데이터를 표시할 수 있습니다. 예를 들어, 최대 전송 단위(MTU) 값 1500에 대한 모든 인터페이스를 구성할 수 있습니다 ge-0/0/1
.
최대 전송 단위(MTU) ge-0/0/1
값 1500에 대한 모든 인터페이스를 구성하려면 다음을 수행합니다.
-
MTU 값이 1500인 그룹을 생성합니다.
[edit groups group-1] lab@vSRX3-05# show interfaces { ge-0/0/1 { unit 0 { family inet { mtu 1500; } } } }
-
그런 다음 인터페이스 구성에서 그룹을 적용합니다.
[edit interfaces ge-0/0/1] lab@vSRX3-05# set apply-groups group-1
-
상속된 구성을 봅니다.
[edit] lab@vSRX3-05# show interfaces ge-0/0/1 | display inheritance unit 0 { family inet { ## ## '1500' was inherited from group 'group-1' ## mtu 1500; address 5.0.0.254/24; } }
구성의 다른 부분에서 인터페이스에 ge-0/0/1
대한 최대 전송 단위(MTU) 값을 구성하려면 옵션을 사용하여 그룹 문을 적용할 수 있습니다 apply-groups
. 이 작업을 수동으로 수행하고 나중에 MTU를 늘리려면 모든 인터페이스를 수동으로 변경해야 할 수 있습니다. 구성 그룹을 사용하는 경우 그룹 구성을 변경하여 연결된 모든 인터페이스를 자동으로 업데이트할 수 있습니다.
또한 구성 그룹에서 와일드카드를 사용하여 와일드카드 표현식과 일치하는 모든 객체가 구성 데이터를 상속하도록 허용할 수 있습니다. 예:
[edit groups group-1] lab@vSRX3-05# show interfaces { ge-* { 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
때 유용하지만 특정 매개 변수에 대해 구성 그룹에서 상속된 값을 재정의하려는 경우에도 유용합니다.
예: 인터페이스 so-1/1/0에서 상속 비활성화
다음 예제에서 apply-groups
문은 인터페이스 수준에서 전역으로 적용됩니다. 명령문은 apply-groups-except
인터페이스 so-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 { so-1/1/0 { apply-groups-except global; # Disables inheritance from group "global" # so-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 은(는) 디바이스 구성에 자동으로 적용되는 불변의 숨겨진 구성 그룹을 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 { <so-*> { sonet-options { payload-scrambler; rfc-2615; } } } } }
와일드카드 표현식은 해당 표현식과만 일치하는 구성의 기존 명령문과 일치하고 이에 대한 구성 데이터를 제공합니다. 앞의 예에서 표현식 <so-*>
은 표현식so-*
과 일치하는 모든 인터페이스에 해당 sonet-options
명령문을 전달합니다.
다음 예는 인터페이스 범위를 지정하는 방법을 보여줍니다.
[edit] groups { gigabit-ethernet-interfaces { interfaces { "<ge-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 so-1/1/1.0; } } } apply-groups basic; snmp { interface so-0/0/0.0; } [edit] user@host#show | display inheritance
snmp { ## ## ’so-1/1/1.0’ was inherited from group ’basic’ ## interface [ so-0/0/0.0 so-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; } }
예: 구성 그룹을 사용하여 인터페이스 구성
구성 그룹을 사용하여 공통 인터페이스 미디어 매개 변수를 인터페이스별 주소 지정 정보와 분리할 수 있습니다. 다음 예에서는 ATM 인터페이스에 대한 구성 데이터를 라는 그룹에 atm-options
배치합니다.
[edit] user@host#show
groups { atm-options { interfaces { <at-*> { atm-options { vpi 0 maximum-vcs 1024; } unit <*> { encapsulation atm-snap; point-to-point; family iso; } } } } } apply-groups atm-options; interfaces { at-0/0/0 { unit 100 { vci 0.100; family inet { address 10.0.0.100/30; } } unit 200 { vci 0.200; family inet { address 10.0.0.200/30; } } } } [edit] user@host#show | display inheritance
interfaces { at-0/0/0 { ## ## "atm-options" was inherited from group "atm-options" ## atm-options { ## ## "1024" was inherited from group "atm-options" ## vpi 0 maximum-vcs 1024; } unit 100 { ## ## "atm-snap" was inherited from group "atm-options" ## encapsulation atm-snap; ## ## "point-to-point" was inherited from group "atm-options" ## point-to-point; vci 0.100; family inet { address 10.0.0.100/30; } ## ## "iso" was inherited from group "atm-options" ## family iso; } unit 200 { ## ## "atm-snap" was inherited from group "atm-options" ## encapsulation atm-snap; ## ## "point-to-point" was inherited from group "atm-options" ## point-to-point; vci 0.200; family inet { address 10.0.0.200/30; } ## ## "iso" was inherited from group "atm-options" ## family iso; } } } [edit] user@host#show | display inheritance | except ##
interfaces { at-0/0/0 { atm-options { vpi 0 maximum-vcs 1024; } unit 100 { encapsulation atm-snap; point-to-point; vci 0.100; family inet { address 10.0.0.100/30; } family iso; } unit 200 { encapsulation atm-snap; point-to-point; vci 0.200; family inet { address 10.0.0.200/30; } family iso; } } }
참조
예: 구성 그룹을 사용하여 관리 인터페이스에 대한 일관된 IP 주소 구성
여러 라우팅 엔진이 있는 디바이스에서 각 라우팅 엔진은 관리 인터페이스에 대한 별도의 IP 주소로 구성됩니다. 기본 라우팅 엔진에 액세스하려면, 어떤 라우팅 엔진이 활성화되었고 적절한 IP 주소를 사용하는지 알아야 합니다.
기본 라우팅 엔진에 대한 일관된 액세스를 위한 또 다른 옵션은 추가 IP 주소를 구성하는 것입니다. 그런 다음 활성 라우팅 엔진에 관계없이 관리 인터페이스에 이 주소를 사용합니다. 이 추가 IP 주소는 기본 라우팅 엔진의 관리 인터페이스에서만 활성화됩니다. 스위치오버 중 주소는 새로운 기본 라우팅 엔진으로 이동합니다.
이 예는 라우팅 엔진 모두에 대한 주소를 10.17.40.131
구성하고 문을 포함합니다 master-only
. 이 구성으로, 10.17.40.131
주소는 기본 라우팅 엔진에서만 활성화됩니다. 주소는 활성화되는 라우팅 엔진과는 상관없이 일관되게 유지됩니다. 주소는 10.17.40.132
의 re0
에 fxp0
할당되고 10.17.40.133
의 re1
에 지정됩니다fxp0
.
[edit groups re0 interfaces fxp0] unit 0 { family inet { address 10.17.40.131/25 { master-only; } address 10.17.40.132/25; } } [edit groups re1 interfaces fxp0] unit 0 { family inet { address 10.17.40.131/25 { master-only; } address 10.17.40.133/25; } }
이 기능은 이중 라우팅 엔진을 포함하는 모든 라우터에서 사용할 수 있습니다. TX 매트릭스 라우터로 구성된 라우팅 매트릭스에서 이 기능은 스위치 카드 섀시(SCC)에만 적용됩니다. 마찬가지로 TX Matrix Plus 라우터로 구성된 라우팅 매트릭스에서 이 기능은 스위치 패브릭 섀시(SFC)에만 적용됩니다.
-
프라이빗 인터페이스와 퍼블릭 인터페이스에서 중복 주소가 있는 두 인터페이스에 고유한 IP 주소를 할당해야 합니다. GRES(Graceful Routing Engine Switchover)가 활성화되면 CLI가 동일한 주소를 찾으면 적절한 커밋 오류 메시지를 표시합니다. 이 오류는 관리 인터페이스 또는 내부 인터페이스(예: 및 외부의 물리적 인터페이스(예
fxp0
: )에 대해 동일한 IP 주소를 구성하는 경우 발생할 수 있습니다ge-0/0/1
. -
em0
관리 이더넷 인터페이스는 TX Matrix Plus 라우터, 라우팅 매트릭스의 T1600 라우터 및 PTX 시리즈 패킷 전송 라우터에 사용됩니다. Junos OS 디바이스의 관리 이더넷 인터페이스인em0
를 자동으로 생성합니다.
예: 구성 그룹을 사용하여 피어 엔터티 구성
이 예는 다른 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; } } }
예: 구성 그룹을 사용하여 지역 구성 설정
이 예에서는 한 그룹을 회사 전체의 표준 구성 데이터로 채우고 다른 그룹에는 이 표준과의 지역적 편차가 포함됩니다.
[edit] user@host#show
groups { standard { interfaces { <t3-*> { t3-options { compatibility-mode larscom subrate 10; idle-cycle-flag ones; } } } } northwest { interfaces { <t3-*> { t3-options { long-buildout; compatibility-mode kentrox; } } } } } apply-groups standard; interfaces { t3-0/0/0 { apply-groups northwest; } } [edit] user@host#show | display inheritance
interfaces { t3-0/0/0 { ## ## "t3-options" was inherited from group "northwest" ## t3-options { ## ## "long-buildout" was inherited from group "northwest" ## long-buildout; ## ## "kentrox" was inherited from group "northwest" ## compatibility-mode kentrox; ## ## "ones" was inherited from group "standard" ## idle-cycle-flag ones; } } }
예: 와일드카드 구성 그룹 이름 구성
와일드카드는 특수 문자를 사용하여 여러 문에 적용할 수 있는 패턴을 생성하는 구성 그룹 이름입니다. 와일드카드는 하나의 구성 옵션 세트를 여러 구성 그룹에 복사하는 데 유용합니다. 와일드카드 구성 옵션이 적절한 구성 그룹에 복사되도록 와일드카드 이름을 올바르게 설정해야 합니다.
이 예에서는 문 아래에 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
.
라우팅 엔진 구성 그룹 설정
두 개의 라우팅 엔진이 있는 디바이스에서는 두 라우팅 엔진 모두 하나의 구성을 공유해야 합니다. 이 설정은 두 라우팅 엔진 구성이 동일한지 확인합니다. 이 구성 내에서 각 라우팅 엔진에 대해 하나씩 두 개의 라우팅 엔진 그룹을 생성합니다. 이 그룹 내에서 라우팅 엔진별 매개 변수를 지정합니다.
중복 라우팅 엔진 시스템 및 re0 그룹의 초기 구성에 대한 자세한 내용은 Junos OS 고가용성 사용자 가이드를 참조하십시오.
라우팅 엔진 구성 그룹을 설정하려면:
조건을 사용하여 구성 그룹을 적용하는 방법
계층 수준에서 문을 [edit groups group-name]
사용하여 when
구성 그룹을 적용할 조건을 정의할 수 있습니다.
섀시 유형, 모델 또는 라우팅 엔진, 버추얼 섀시 멤버, 클러스터 노드, 하루 또는 날짜의 시작 및 종료 시간(선택 사항)에 따라 적용할 그룹을 구성할 수 있습니다.
예를 들어, 문을 사용하여 when
각 노드 유형에 대한 일반 구성 그룹을 생성한 다음 섀시 또는 모델과 같은 특정 노드 속성을 기반으로 구성을 적용할 수 있습니다.
예: 구성 그룹을 적용하기 위한 조건 구성
이 예에서는 지정된 구성 그룹을 적용할 조건을 구성하는 방법을 보여 줍니다.
요구 사항
이 예제를 구성하기 전에 디바이스 초기화 이외의 특별한 구성은 필요하지 않습니다.
개요
계층 수준에서 그룹 구성 데이터를 [edit groups group-name]
구성할 수 있습니다. 그런 다음 문을 사용하여 when
다음과 같은 조건에 따라 그룹 구성을 적용할 수 있습니다. 섀시 유형, 모델, 라우팅 엔진, Virtual Chassis 멤버, 클러스터 노드, 시작 시간 및 종료 시간(선택 사항) 또는 날짜.
단일 구성 그룹에 여러 조건을 지정하는 경우 구성 그룹이 적용되기 전에 모든 조건이 충족되어야 합니다.
적용할 구성 그룹의 시작 시간 또는 기간을 지정할 수 있습니다. 시작 시간만 지정하면 지정한 시간에 구성 그룹이 적용되고 시간이 변경될 때까지 유효합니다. 종료 시간이 지정되면 매일 적용된 구성 그룹이 지정된 시간에 시작되고 중지됩니다.
이 예에서는 구성 그룹 test1
의 조건을 설정하여 다음 조건이 모두 충족되는 경우에만 이 그룹이 적용되도록 합니다. 라우터는 섀시 유형이 LCC0인 모델 MX240 라우터이며, 라우팅 엔진은 RE0으로 작동하고, node0에 있는 버추얼 섀시의 member0이며, 구성 그룹은 매일 오전 9:00부터 오후 5:00까지만 적용됩니다.
구성
CLI 빠른 구성
이 예를 빠르게 구성하려면, 아래 명령을 복사하여 텍스트 파일로 붙여 넣은 다음 모든 라인브레이크를 제거하고, 네트워크 구성을 일치하는 데 필요한 세부 사항을 바꾸고 [edit]
계층 수준에서 명령을 CLI로 복사해 붙여 넣습니다.
set groups test1 when model mx240
set groups test1 when chassis lcc0
set groups test1 when routing-engine re0
set groups test1 when member member0
set groups test1 when node node0
set groups test1 when time 9 to 5
절차
단계별 절차
구성 그룹에 test1
대한 조건을 구성하려면 다음을 수행합니다.
모델 MX240 라우터를 식별하는 조건을 설정합니다.
[edit groups test1 when] user@host#
set model mx240
섀시 유형을 식별하는 조건을 LCC0으로 설정합니다.
[edit groups test1 when] user@host#
set chassis lcc0
로 작동하는
RE0
라우팅 엔진을 식별하는 조건을 설정합니다.[edit groups test1 when] user@host#
set routing-engine re0
Virtual Chassis
member0
를 식별하는 조건을 설정합니다.[edit groups test1 when] user@host#
set member member0
클러스터를
node0
식별하는 조건을 설정합니다.[edit groups test1 when] user@host#
set node node0
매일 오전 9:00에서 오후 5:00 사이에만 그룹에 적용되는 조건을 설정합니다.
[edit groups test1 when] user@host#
set time 9 to 5
주:시간을 지정하는 구문은 다음과 같습니다.
time <start-time> [to <end-time>]
시간 형식 yyyy-mm-dd.hh:mm, hh:mm 또는 hh를 사용합니다.구성을 커밋합니다.
user@host#
commit
결과
구성 모드에서 show groups test1
명령을 입력하여 구성을 확인합니다. 출력 결과가 의도한 구성대로 표시되지 않으면 이 예의 지침을 반복하여 구성을 수정하십시오.
user@host# show groups test1
when {
time 9 to 5;
chassis lcc0;
model mx240;
routing-engine re0;
member member0;
node node0;
}
검증
조건부 데이터로 그룹 상속 확인
목적
적용 시 구성 그룹의 조건부 데이터가 상속되는지 확인합니다.
작업
show | display inheritance
데이터와 함께 when
작동 명령을 실행하여 조건부 상속을 표시합니다. 이 예제를 사용하여 다음 명령 중 하나를 실행하여 조건부 데이터가 상속되었는지 확인할 수 있습니다.
user@host>show | display inheritance when model mx240
user@host>show | display inheritance when chassis lcc0
user@host>show | display inheritance when routing-engine re0
user@host>show | display inheritance when member member0
user@host>show | display inheritance when node node0
user@host>show | display inheritance when time 9 to 5