Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Junos 디바이스용 Python 자동화 스크립트 이해하기

Python 스크립트 개요

SLAX 및 XSLT의 대안으로 소프트웨어 이미지에서 Python 확장 패키지를 지원하는 Junos 디바이스에서 Python 스크립트를 생성하고 실행할 수 있습니다. Python은 광범위한 라이브러리 지원을 통해 맞춤형 스크립트를 생성할 수 있는 실용적이고 풍부한 기능을 갖춘 언어입니다. 표 1 에는 Junos 장치에서 사용할 수 있는 Python 버전이 개략적으로 설명되어 있으며, 특정 유형의 스크립트에 대해 해당 버전에 대한 지원이 추가되거나 제거된 릴리스에 대해 설명합니다.

표 1: Junos OS를 실행하는 디바이스의 Python 버전

Python 버전

릴리스

변경

영향을 받는 스크립트 유형

Python 2.7.x

Junos OS 릴리스 16.1R1 이상

추가된 지원

커밋, 이벤트, 운영 및 SNMP 스크립트

JET(Juniper Extension Toolkit) 스크립트

YANG 작업 및 변환 스크립트

Junos OS 릴리스 20.2R1 이상

지원 제거

YANG 작업 및 변환 스크립트

Junos OS 릴리스 21.1R1 이상

지원 제거

커밋, 이벤트, 운영 및 SNMP 스크립트

JET(Juniper Extension Toolkit) 스크립트

Junos OS Evolved 릴리스 22.3R1 이상

지원 제거

커밋, 이벤트, 운영 및 SNMP 스크립트

JET(Juniper Extension Toolkit) 스크립트

YANG 작업 및 변환 스크립트

Python 3.x

Junos OS 릴리스 19.4R1 이상

추가된 지원

커밋, 이벤트, 운영 및 SNMP 스크립트

Junos OS 릴리스 20.2R1 이상

추가된 지원

JET(Juniper Extension Toolkit) 스크립트

YANG 작업 및 변환 스크립트

Junos OS Evolved 릴리스 21.1R1 이상

추가된 지원

지원되는 플랫폼은 Feature Explorer 를 참조하십시오.

커밋, 이벤트, 운영 및 SNMP 스크립트

JET(Juniper Extension Toolkit) 스크립트

YANG 작업 및 변환 스크립트

참고:

Python 2.7 수명 종료 및 지원 종료 날짜는 2020년 1월 1일이었습니다. Python 2.7의 공식 업그레이드 경로는 Python 3입니다. 다양한 유형의 온박스 스크립트에 대해 Junos OS를 실행하는 디바이스에 Python 3에 대한 지원이 추가됨에 따라 지원되는 스크립트 유형을 Python 2에서 Python 3으로 마이그레이션하는 것이 좋습니다.

Python 스크립트는 Python 언어로 모든 기능과 구조를 활용할 수 있으며, SLAX 및 XSLT에 대한 유연성을 제공하며 SLAX 및 XSLT에서 실행하기 어렵거나 불가능한 작업을 수행할 수 있습니다. SLAX 및 XSLT는 XML 데이터를 처리하도록 설계되었지만 Python은 모든 형식의 프로세싱에 적합합니다. Python은 목록, 사전, 세트 및 tuples를 포함한 광범위한 데이터 유형 목록을 지원하며 대부분의 SLAX 및 XSLT 변수와는 달리 많은 Python 변수가 가변성입니다. 루프 제어는 SLAX 및 XSLT 스크립트로 제한되지만 Python 스크립트는 루프 동작을 정확하게 제어하는 것과 continue 같은 break 명령문을 사용할 수 있습니다. Python은 파일 작업에 대한 광범위한 지원을 제공하며 명령줄에서 표준 Python 디버거를 호출하여 Python 운영 스크립트를 디버그할 수 있습니다.

또한 Junos OS는 Python 스크립트에서 다음을 지원합니다.

  • Junos PyEZ 라이브러리—Junos OS를 실행하는 디바이스에서 RPC를 실행하고 운영 및 구성 작업을 수행할 수 있습니다.

  • lxml 라이브러리—XPath 처리를 간소화합니다.

  • Jinja2 라이브러리—Junos OS 구성 데이터를 생성하는 데 유용할 수 있는 사전 정의된 템플릿에서 컨텐츠를 생성할 수 있는 템플릿 엔진입니다.

  • IPv6—Junos OS 릴리스 19.3R1부터 Python 자동화 스크립트에서 IPv6를 사용하여 업그레이드된 FreeBSD 지원을 통해 Junos OS를 실행하는 디바이스입니다. 자세한 내용은 Python 자동화 스크립트의 IPv6 지원을 참조하십시오.

  • 기본 설정이 아닌 라우팅 인스턴스—Junos OS 릴리스 19.3R1부터 지원되는 디바이스의 Python 스크립트는 set_routing_instance() 확장 기능을 사용하여 비디폴트 라우팅 인스턴스를 통해 원격 디바이스에 연결할 수 있습니다.

  • 추가 Python 모듈—Junos OS를 실행하는 디바이스의 Python 스크립트에 사용할 수 있는 모듈에 대한 자세한 내용은 Junos OS를 실행하는 디바이스의 Python 모듈 개요를 참조하십시오.

Junos OS를 실행하는 디바이스에서 승인되지 않은 Python 코드가 실행되지 않도록 하려면 서명되지 않은 Python 스크립트가 장비에서 스크립트를 실행하기 전에 특정 요구 사항을 충족해야 합니다. Junos OS를 실행하는 디바이스에서 Python 자동화 스크립트를 실행하기 위한 요구 사항에 대한 자세한 내용은 Junos 디바이스에서 Python 자동화 스크립트를 실행하기 위한 요구 사항을 참조하십시오.

Python 2.7 또는 Python 3 중 하나를 사용하여 서명되지 않은 Python 스크립트를 실행하려면 계층 수준에서 각각 [edit system scripts] 또는 language python3 명령문을 구성 language python 해야 합니다. 명령문을 구성 language python3 하면 디바이스는 Python 3을 사용하여 이 Python 버전을 지원하는 스크립트를 실행하며, 표 1에 명시된 대로 Python 2.7을 사용하여 지정된 Junos OS 릴리스에서 Python 3을 지원하지 않는 스크립트를 실행합니다.

JET 스크립트의 경우 스크립트가 지원하는 Python 버전에 해당하는 명령문 버전을 구성해야 합니다. 예를 들어 Python 2.7만 지원하는 JET 스크립트에 대한 명령문을 구성 language python3 하면 스크립트를 실행할 때 런타임 오류가 발생합니다.

커밋, 이벤트, 운영 및 SNMP 스크립트를 위한 Python 스크립트 입력

Python 자동화 스크립트를 지원하는 Junos OS를 실행하는 디바이스에는 커밋, 이벤트, 운영 및 SNMP 스크립트로 가져올 수 있는 다음 모듈이 포함됩니다.

표 2: junos 모듈 객체

Python 객체

형식

스크립트 유형

설명

XSLT/SLAX 동급 제품

Junos_Context

사전

커밋

이벤트

Op

장비 호스트 이름, 스크립트 유형 및 스크립트를 실행하는 사용자와 같은 스크립트 실행 환경에 대한 장치별 정보입니다.

commit-script-input/junos-context

이벤트 스크립트 입력/junos-context

op-script-input/junos-context

Junos_Configuration

lxml.etree _Element

커밋

상속 후 후보 구성(Junos XML 형식)

커밋 스크립트 입력/구성

Junos_Trigger_Event

lxml.etree _Element

이벤트

해당 이벤트 정책을 트리거한 이벤트의 세부 정보.

이벤트 스크립트 입력/트리거 이벤트

Junos_Received_Events

lxml.etree _Element

이벤트

트리거 이벤트 이전에 발생한 상관 이벤트 세부 정보

이벤트 스크립트 입력/수신 이벤트

Junos_Remote_Execution_Details

생성기 기능은 일련의 원격 디바이스를 생성합니다.

이벤트

계층 수준에서 이벤트 스크립트를 위해 구성된 로컬 또는 원격 호스트에 [edit event-options event-script file filename remote-execution] 대한 연결 세부 정보

이벤트 스크립트 입력/원격 실행 세부 정보

다양한 스크립트 입력에 대한 자세한 정보와 자동화 스크립트에서 이러한 입력을 가져오고 사용하는 방법은 다음을 참조하십시오.

Python 스크립트 리소스

표 3 은 Junos OS를 실행하는 디바이스에서 Python 스크립트를 생성하고 실행하는 데 도움이 되는 리소스를 제공합니다. 표 4 는 각기 다른 유형의 스크립트에 대한 리소스를 제공합니다.

표 3: 일반 리소스

리소스

설명서

Python 스크립트 실행 요구 사항

Junos 디바이스에서 Python 자동화 스크립트를 실행하기 위한 요구 사항

Junos OS를 실행하는 디바이스의 Python 모듈

Junos OS를 실행하는 디바이스의 Python 모듈 개요

Python 스크립트의 IPv6 지원

Python 자동화 스크립트의 IPv6 지원

Junos PyEZ 설명서

Junos PyEZ

Python 프로그래밍 언어 설명서

https://www.python.org/

표 4: 스크립트 유형별 리소스

스크립트 유형

설명서

Junos OS 커밋, 이벤트, 운영 및 SNMP 스크립트

Junos OS 자동화 스크립팅 사용자 가이드

JET(Juniper Extension Toolkit) 스크립트

Juniper Extension Toolkit 설명서

YANG 작업 및 변환 스크립트

NETCONF XML 관리 프로토콜 개발자 가이드