Junos XML 프로토콜을 사용하여 구성 데이터의 요소 재구성
Junos OS 구성 관리 소프트웨어가 구성 계층의 미리 지정된 위치에 구성 객체를 저장하고 표시하기 때문에 대부분의 구성 객체에서 객체 또는 그 자식이 생성되는 순서는 중요하지 않습니다. 그러나 라우팅 정책 및 방화벽 필터와 같은 일부 구성 객체는 의도한 라우팅 동작을 생성하기 위해 순차적으로 처리 및 분석해야 하는 요소로 구성됩니다. 클라이언트 애플리케이션이 Junos XML 관리 프로토콜을 사용하여 주문된 집합에 새로운 요소를 추가하면 요소가 기존 요소 목록에 추가됩니다. 클라이언트 애플리케이션은 적절한 경우 요소를 다시 구성합니다.
Junos OS를 실행하는 장치가 있는 Junos XML 프로토콜 세션에서 주문된 세트의 구성 요소 순서를 변경하려면 먼저 클라이언트 애플리케이션이 Junos XML 프로토콜을 사용하여 구성 요소 생성, 수정 또는 삭제에 설명된 태그 요소를 포함합니다. Junos XML 태그 요소를 사용하는 경우 애플리케이션은 주문된 집합을 나타내는 컨테이너 태그 요소를 내보낸 후 이동하는 구성 요소의 각 식별자를 위해 태그 요소를 동봉합니다. 다음 예제에서 식별자 태그 요소를 호출 <name>
합니다.
기존 요소를 순서대로 설정한 첫 번째 위치로 이동하려면 해당 요소에 대한 오프닝 컨테이너 태그의 속성이 애플리케이션에 포함됩니다 insert="first"
.
<configuration> <!-- opening tag for each parent of the set --> <ordered-set insert="first"> <name>identifier-for-moving-object</name> </ordered-set> <!-- closing tag for each parent of the set --> </configuration>
기존 요소를 다른 요소와 상대적인 위치로 이동하려면, 애플리케이션은 insert="before"
오프닝 컨테이너 태그에 있는 속성이나 insert="after"
집합의 다른 참조 요소와 관련된 이동 요소의 새로운 위치를 나타냅니다. 참조 요소를 식별하기 위해, 각 참조 요소 식별자는 명령된 집합에 대한 오프닝 컨테이너 태그의 속성으로 포함됩니다.
다음 예제에서 집합의 요소에는 다음을 호출 <name>
하는 하나의 식별자가 있습니다.
<configuration> <!-- opening tag for each parent of the set --> <ordered-set insert="(before | after)" name="referent-value"> <name>identifier-for-moving-object</name> </ordered-set> <!-- closing tag for each parent of the set --> </configuration>
다음 예에서 세트의 각 요소는 두 개의 식별자를 가지고 있습니다. 개구부 태그는 가독성만을 위해 두 줄에 나타납니다.
<configuration> <!-- opening tag for each parent of the set --> <ordered-set insert="(before | after)" identifier1="referent-value" identifier2="referent-value"> <identifier1>value-for-moving-object</identifier1> <identifier2>value-for-moving-object</identifier2> </ordered-set> <!-- closing tag for each parent of the set --> </configuration>
속성은 insert
구성 요소가 다시 오를 때 구성 요소를 비활성화하거나 다시 활성화하기 위해 해당 속성과 결합 inactive
active
될 수 있습니다. 자세한 내용은 Junos XML 프로토콜을 사용하여 다른 변경 사항과 동시에 구성 요소의 활성화 상태 변경을 참조하십시오.
구성 모드 명령을 사용하여 요소를 재구성할 때 애플리케이션은 CLI 구성 모드 명령과 동일한 명령을 지정합니다 insert
.
<configuration-set> insert statement-path-to-object identifier-for-moving-object (before | after) referent-value </configuration-set>
속성에 insert="first"
동등한 CLI 구성 모드 명령이 없습니다.
구성 데이터를 나타내기 위해 형식화된 ASCII 텍스트 또는 JSON을 사용하는 경우, 재순위 작업을 사용할 수 없습니다.
다음 예에서는 계층 수준에서 정의된 [edit firewall filter]
방화벽 필터older-filter
를 이동하고 Junos XML 태그 요소를 사용하여 다른 newer-filter
필터를 따라 배치하는 방법을 보여줍니다. 이 작업은 다음과 같은 구성 모드 명령과 동일합니다.
[edit] user@host# insert firewall family inet filter older-filter after filter newer-filter
다음 예제에서는 계층 수준에서 정의된 [edit firewall filter]
방화벽 필터older-filter
를 이동하고 구성 모드 명령을 사용하여 호출 newer-filter
된 다른 필터를 따라 배치하는 방법을 보여 줍니다.
<rpc> <load-configuration action="set" format="text"> <configuration-set> insert firewall family inet filter older-filter after filter newer-filter </configuration-set> </load-configuration> </rpc>
다음 예에서는 계층 수준에서 정의된 [edit protocols ospf area area]
OSPF 가상 링크를 이동하는 방법을 보여줍니다. 식별자가 있는 링크와 식별자 neighbor-id 192.168.0.3
neighbor-id 192.168.0.5
및 transit-area 10.10.10.1
transit-area 10.10.10.2
. 이 작업은 다음과 같은 구성 모드 명령과 동일합니다.
[edit protocols ospf area area] user@host# insert virtual-link neighbor-id 192.168.0.3 transit-area 10.10.10.1 before virtual-link neighbor-id 192.168.0.5 transit-area 10.10.10.2
클라이언트 애플리케이션
<rpc> <load-configuration> <configuration> <protocols> <ospf> <area> <name>area</name> <virtual-link insert="before" neighbor-id="192.168.0.5" transit-area="10.10.10.2"> <neighbor-id>192.168.0.3</neighbor-id> <transit-area>10.10.10.1</transit-area> </virtual-link> </area> </ospf> </protocols> </configuration> </load-configuration> </rpc>
Junos XML 프로토콜 서버
<rpc-reply xmlns:junos="URL"> <load-configuration-results> <load-success/> </load-configuration-results> </rpc-reply>