NETCONF Perl Client Applications 작성
Juniper Networks NETCONF Perl 클라이언트는 Perl 프로그래밍 언어에 익숙한 프로그래머가 자체 Perl 애플리케이션을 생성하여 Junos OS를 실행하는 라우팅, 스위칭 및 보안 장비를 관리하고 구성할 수 있도록 지원합니다. 이 모듈은 Net::Netconf::Manager
Junos OS를 실행하는 장치에서 NETCONF 서버와 통신하기 위한 객체 지향적 인터페이스를 제공하며, 장치에 연결하고 NETCONF 세션을 설정하며 운영 및 구성 요청을 실행할 수 있도록 지원합니다.
다음 개요에는 Junos OS를 실행하는 디바이스를 관리하는 NETCONF Perl 클라이언트 애플리케이션 작성과 관련된 기본 작업이 나와 있습니다. 각 작업은 해당 작업 수행에 대한 보다 자세한 정보에 대한 링크를 제공합니다.
- Perl 모듈 가져오기 및 상수 선언—NetCONF Perl Client 애플리케이션에서 Perl 모듈 가져오기 및 상수 선언
- NETCONF 서버 연결—Perl Client 애플리케이션의 NETCONF 서버에 연결 하고 NETCONF Perl 클라이언트 애플리케이션에서 인터랙티브 방식으로 파라미터 수집
- NETCONF 서버로 요청 제출—Perl Client Applications의 NETCONF 서버로 요청 제출
- NETCONF Server의 응답 구문 분석 및 형식—Perl Client Applications 내 NETCONF 서버 응답 파스
- NETCONF 서버 연결 닫기—Perl Client Applications의 NETCONF 서버 연결 닫기
작업은 다음 예에 설명되어 있습니다. 이 예에서는 객체를 Net::Netconf::Manager
사용하여 Junos OS를 실행하는 디바이스에서 정보를 요청합니다. 이 예제는 간단한 쿼리를 실행하는 데 필요한 최소 코드를 제시합니다.
Junos OS 릴리스 16.1 이전에 모든 Junos OS 릴리스에는 NETCONF Perl 클라이언트의 새로운 릴리스 종속 버전이 포함되었습니다. Junos OS Release 16.1부터 NETCONF Perl 클라이언트는 릴리스 독립형이며 GitHub 및 CPAN에서 호스팅되며 모든 버전의 Junos OS 릴리스를 실행하는 디바이스를 관리할 수 있습니다. NETCONF Perl 배포의 릴리스 종속 버전에 있는 샘플 스크립트는 GitHub 및 CPAN에 호스팅된 릴리스 독립 버전의 스크립트와 다릅니다.
필수 모듈을 가져오고 상수를 선언합니다.
use strict; use Carp; use Net::Netconf::Manager;
객체를
Manager
생성하고 디바이스에 연결합니다.my %deviceinfo = ( access => "ssh", login => "johndoe", password => "password123", hostname => "Router1" ); my $jnx = new Net::Netconf::Manager(%deviceinfo); unless ( ref $jnx ) { croak "ERROR: $deviceinfo{hostname}: failed to connect.\n"; }
쿼리를 구성하여 NETCONF 서버로 보냅니다.
my $query = "get_chassis_inventory"; my $res = $jnx->$query();
필요에 따라 응답을 처리합니다.
print "Server response: \n $jnx->{'server_response'} \n";
NETCONF 서버에서 연결을 끊습니다.
$jnx->disconnect();