NETCONF 또는 Junos XML 프로토콜을 사용하여 구성 데이터의 패턴 대체
릴리스 15.1R1 Junos OS 시작하여 NETCONF 또는 Junos XML 프로토콜 세션에서 Junos OS 실행되는 디바이스를 사용하여 작업 수행 <load-configuration>
시 속성을 포함하여 replace-pattern
구성의 변수와 식별자를 교체할 수 있습니다. 속성은 replace-pattern
주어진 패턴을 전역으로 또는 구성에서 표시된 계층 또는 객체 수준에서 다른 패턴으로 대체합니다. 예를 들어, 이 기능을 사용하여 PIC가 라우터의 다른 슬롯으로 이동할 때 인터페이스 이름의 모든 발생 항목을 찾아 대체할 수 있습니다. 속성의 기능은 Junos OS CLI의 replace pattern
구성 모드 명령과 동일합니다.
교체 패턴 작업은 Junos XML 태그 요소로 형식이 지정된 구성 데이터에서만 사용할 수 있습니다.
패턴을 대체하려면 클라이언트 애플리케이션이 및 태그 요소를 내보내 <rpc>
고 <load-configuration>
Junos XML 프로토콜을 사용하여 구성 요소 생성, 수정 또는 삭제에 설명된 기본 Junos XML 태그 요소를 포함합니다. 패턴을 교체할 계층 또는 객체 수준에서 다음 속성을 포함합니다.
-
replace-pattern
-교체할 패턴. -
with
—교체 패턴. -
upto
—(옵션) 교체할 발생 횟수. 이 속성을 생략하거나 0으로 설정하면 디바이스가 지정된 범위 내에서 패턴의 모든 인스턴스를 대체합니다.
구성 내에서 속성을 배치하면 다음 섹션에 설명된 대로 교체 범위가 결정됩니다.
구성 내에서 패턴을 전역으로 대체
후보 구성 또는 개방형 구성 데이터베이스 전체에서 패턴을 전역으로 대체하려면, 오프닝 <configuration>
태그에 및 with
속성을 포함합니다replace-pattern
.
<rpc> <load-configuration> <configuration replace-pattern="pattern1" with="pattern2" [upto="n"]> </configuration> </load-configuration> </rpc>
예를 들어, 다음 RPC는 172.17.1.5의 모든 인스턴스를 172.16.1.1로 대체합니다.
<rpc> <load-configuration> <configuration replace-pattern="172.17.1.5" with="172.16.1.1"> </configuration> </load-configuration> </rpc>
RPC를 실행한 후 업데이트된 후보 구성을 활성 구성과 비교하여 패턴 교체를 확인할 수 있습니다. 변경 사항이 적용하려면 구성을 커밋해야 합니다.
<rpc> <get-configuration compare="rollback" rollback="0" format="text"> </get-configuration> </rpc> <rpc-reply xmlns:junos="http://xml.juniper.net/junos/15.1R1/junos"> <configuration-information> <configuration-output> [edit groups global system ntp] - boot-server 172.17.1.5; + boot-server 172.16.1.1; [edit groups global system ntp] + server 172.16.1.1; - server 172.17.1.5; </configuration-output> </configuration-information> </rpc-reply>
식별자가 없는 계층 수준 또는 컨테이너 객체 내의 패턴 대체
모든 자식(또는 자식이 있지만 식별자가 없는 컨테이너 객체)을 포함한 특정 계층 수준에서 패턴을 교체하기 위해 클라이언트 애플리케이션은 계층 수준 또는 컨테이너 개체를 나타내는 빈 태그의 및 with
속성을 포함합니다replace-pattern
.
<rpc> <load-configuration> <configuration> <!-- opening tag for each parent element --> <level-or-object replace-pattern="pattern1" with="pattern2" [upto="n"]/> <!-- closing tag for each parent element --> </configuration> </load-configuration> </rpc>
다음 RPC는 fe-0/0/1의 인스턴스를 계층 수준에서 ge-1/0/1 [edit interfaces]
로 대체합니다.
<rpc> <load-configuration> <configuration> <interfaces replace-pattern="fe-0/0/1" with="ge-1/0/1"/> </configuration> </load-configuration> </rpc>
RPC를 실행한 후 업데이트된 후보 구성을 활성 구성과 비교하여 패턴 교체를 확인할 수 있습니다. 예를 들어:
<rpc> <get-configuration compare="rollback" rollback="0" format="text"> </get-configuration> </rpc> <rpc-reply xmlns:junos="http://xml.juniper.net/junos/15.1R1/junos"> <configuration-information> <configuration-output> [edit interfaces] - fe-0/0/1 { - unit 0 { - family inet { - address 10.0.1.1/27; - } - } - } + ge-1/0/1 { + unit 0 { + family inet { + address 10.0.1.1/27; + } + } + } </configuration-output> </configuration-information> </rpc-reply>
식별자가 있는 구성 개체의 패턴 대체
식별자가 있는 구성 개체의 패턴을 교체하기 위해 클라이언트 애플리케이션은 객체의 오프닝 태그에 및 with
속성을 포함하고replace-pattern
, 그런 다음 해당 개체에 대한 식별자 태그 요소를 묶습니다. 다음 예시에서 식별자 태그 요소는 다음과 같습니다<name>
.
<rpc> <load-configuration> <configuration> <!-- opening tag for each parent element --> <container-tag replace-pattern="pattern1" with="pattern2" [upto="n"]> <name>identifier</name> </container-tag> <!-- closing tag for each parent element --> </configuration> </load-configuration> </rpc>
다음 RPC는 "4.5"의 인스턴스를 "4.1"로 대체하지만 계층 아래 [edit interfaces]
의 fe-0/0/2 인터페이스에서만 대체됩니다.
<rpc> <load-configuration> <configuration> <interfaces> <interface replace-pattern="4.5" with="4.1"> <name>fe-0/0/2</name> </interface> </interfaces> </configuration> </load-configuration> </rpc>
RPC를 실행한 후 업데이트된 후보 구성을 활성 구성과 비교하여 패턴 교체를 확인할 수 있습니다. 예를 들어:
<rpc> <get-configuration compare="rollback" rollback="0" format="text"> </get-configuration> </rpc> <rpc-reply xmlns:junos="http://xml.juniper.net/junos/15.1R1/junos"> <configuration-information> <configuration-output> [edit interfaces fe-0/0/2 unit 0 family inet] + address 10.0.4.1/30; - address 10.0.4.5/30; </configuration-output> </configuration-information>