Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

예: SLAX 및 XSLT Op 스크립트를 사용하여 구성 변경

이 예에서는 SLAX 운영 스크립트를 사용하여 Junos OS 구성을 구조화된 변경을 하는 방법을 설명합니다.

디바이스 구성

단계별 절차

스크립트를 다운로드, 활성화, 테스트하려면 다음을 수행합니다.

  1. 스크립트를 텍스트 파일에 복사하여 파일 config-change.slax의 이름을 지정하고 장비의 /var/db/scripts/op/ directory에 복사합니다.

  2. 구성 모드에서 계층 수준에서 스크립트의 파일 이름을 [edit system scripts op file] 구성합니다.

  3. commit and-quit 명령을 실행하여 구성을 커밋하고 운영 모드로 돌아갑니다.

  4. 스크립트를 실행하기 전에 운영 모드 명령을 발행 show interfaces interface-name 하고 스크립트에 의해 비활성화될 인터페이스의 현재 상태를 기록합니다.

  5. 운영 스크립트를 실행합니다.

요구 사항

이 예에서는 Junos OS를 실행하는 디바이스를 사용합니다.

개요 및 운영 스크립트

SLAX 및 XSLT 운영 스크립트는 junos.xsl 임포트 파일에 있는 템플릿을 사용하여 jcs:load-configuration Junos OS 구성을 구조화할 수 있습니다. 이 예에서는 템플릿을 사용하여 jcs:load-configuration Junos OS를 실행하는 디바이스에서 인터페이스를 비활성화하는 SLAX 운영 스크립트를 만듭니다. 템플릿에 jcs:load-configuration 필요한 모든 값은 변수로 정의되고 이 값은 템플릿으로 전달됩니다.

이 예에서는 변수가 usage 스크립트의 기능에 대한 일반적인 설명과 함께 초기화됩니다. 스크립트를 실행할 때 사용 설명이 CLI에 출력되도록 함수를 호출 jcs:output() 합니다. 이를 통해 올바른 목적으로 스크립트를 사용하고 있는지 확인할 수 있습니다.

스크립트는 기능을 호출 jcs:get-input() 합니다. 이 함수는 인터페이스 이름을 비활성화하라는 프롬프트를 표시하고 인터페이스 이름을 변수에 interface 저장합니다. 변수는 config-changes 장비에 로드할 Junos XML 구성 데이터를 저장하고 변수를 interface 참조합니다. 템플릿 호출은 jcs:load-configuration 변수에 configuration 저장된 config-changes 데이터에 매개 변수의 값을 설정합니다.

변수가 load-action 설정 merge됩니다. 이 변수는 새로운 구성 데이터를 후보 구성과 병합합니다. 이는 CLI 구성 모드 명령 load merge과 동일합니다.

변수는 options 커밋 작업에 대한 옵션을 정의합니다. 운영자가 := 노드 집합을 생성하고 이 노드 집합은 매개 변수의 값으로 템플릿에 commit-options 전달됩니다. 이 예에는 향후 참조를 위해 커밋 로그에 대한 설명을 추가하는 태그가 포함 log 됩니다.

함수에 대한 jcs:open() 호출은 로컬 디바이스의 Junos OS 관리 프로세스(mgd)와의 연결을 열고 변수에 저장된 연결 핸들을 conn 반환합니다. 스크립트는 템플릿을 호출합니다 jcs:load-configuration .

운영자는 := 템플릿 호출 결과를 jcs:load-configuration 임시 변수로 복사하고 해당 변수에서 함수를 node-set 실행합니다. 그러면 생성된 노드 세트가 변수에 results 저장됩니다. 운영자는 := 변수가 results 결과 트리 패킷 조각이 아닌 노드 세트인지 확인하여 스크립트가 내용에 액세스할 수 있도록 합니다.

기능은 jcs:close() 장치에 대한 연결을 닫습니다. 기본적으로 템플릿은 jcs:load-configuration CLI에 메시지를 출력하지 않습니다. 이 예에서는 커밋과 관련된 문제를 신속하게 식별하기 위해 응답으로 인쇄 및 xnm:error 메시지를 검색하고 인쇄 xmn:warning 합니다.

SLAX 구문

확인

커밋 확인

목적

커밋이 성공했는지 확인합니다.

작업

오류 또는 경고에 대해 템플릿이 반환 jcs:load-configuration 한 노드 세트를 구문 분석하는 코드를 스크립트에 포함시켜야 합니다. 이를 통해 커밋의 성공 여부를 보다 쉽게 판단할 수 있습니다. 경고 또는 오류 메시지가 없는 경우 여러 가지 방법으로 커밋의 성공을 확인할 수 있습니다.

  • 커밋 로그를 확인하여 커밋에 성공했는지 확인합니다. 매개 변수에 log commit-options 옵션을 포함 하는 경우 메시지는 커밋 정보와 함께 커밋 로그에서 볼 수 있어야 합니다.

  • syslog 메시지 파일을 검사하여 커밋 작업이 로깅되었는지 확인합니다. 이 경우 비활성화된 SNMP_TRAP_LINK_DOWN 인터페이스에 대한 메시지도 0/0/0/0으로 표시됩니다. 추적을 위한 구성 설정에 따라 이 메시지가 로그 파일에 나타날 수도 있고 없을 수도 있습니다.

구성 변경 확인

목적

올바른 변경 사항이 구성에 통합되는지 확인합니다.

작업

  • 구성을 표시하고 변경 사항이 지정된 인터페이스에 대해 표시되는지 확인합니다.

  • 이 예에서는 운영 모드 명령을 실행하여 인터페이스가 show interfaces interface-name 비활성화 됐는지 확인할 수도 있습니다. 이 경우 인터페이스를 사용하지 않도록 설정 하기 전에 캡처한 출력은 인터페이스 Enabled가 임을 보여줍니다.

    인터페이스를 비활성화하기 위해 스크립트를 실행 한 후 캡처한 출력은 인터페이스가 지금 Administratively down있음을 보여줍니다.