NESTA PÁGINA
Entender o NETCONF Perl Client e os scripts de amostra
Os dispositivos que executam o Junos OS oferecem suporte ao protocolo de gerenciamento NETCONF XML, que permite que os aplicativos do cliente solicitem e alterem as informações de configuração nos dispositivos. O protocolo NETCONF usa uma codificação de dados baseada em XML (Extensible Markup Language, linguagem de marcabilidade extensível) para os dados de configuração e chamadas de procedimentos remotos. A API NETCONF Perl da Juniper Networks permite que programadores familiarizados com a linguagem de programação Perl criem seus próprios aplicativos Perl para gerenciar dispositivos que executam o Junos OS sobre NETCONF.
Antes do Junos OS Release 16.1, cada versão do Junos OS incluía uma nova versão dependente de versão do cliente NETCONF Perl. A partir do Junos OS Release 16.1, o cliente NETCONF Perl é independente de lançamento, é hospedado no GitHub e CPAN e pode gerenciar dispositivos que executam qualquer versão da versão do Junos OS. Os módulos e scripts de amostra nas versões dependentes de versão da distribuição NETCONF Perl diferem daqueles da versão independente de lançamento hospedada no GitHub e no CPAN.
Esta seção inclui os seguintes tópicos:
Módulos de cliente NETCONF Perl
A Tabela 1 resume os módulos na versão independente de versão da biblioteca NETCONF Perl. O Net::Netconf::Manager
módulo oferece uma interface orientada a objetos para comunicação com o servidor NETCONF em dispositivos que executam o Junos OS, e permite que você se conecte facilmente ao dispositivo, estabeleça uma sessão NETCONF e execute solicitações operacionais e de configuração. Os aplicativos do cliente apenas invocam diretamente o Net::Netconf::Manager
objeto. Quando o aplicativo do cliente cria um Manager
objeto, ele fornece o nome do dispositivo e o nome de login para usar ao acessar o dispositivo. O nome de login determina o nível de acesso do aplicativo do cliente no dispositivo.
Módulo |
Descrição |
---|---|
|
Cria um |
|
Declara todas as constantes do NETCONF. |
|
Implementa uma interface orientada a objetos para a API NETCONF suportada por dispositivos que executam o Junos OS. Os objetos dessa classe representam o lado local da conexão com o dispositivo, que se comunica com o cliente usando o protocolo NETCONF. |
|
Facilita o desenvolvimento de documentos XML para solicitações operacionais e de configuração. O módulo usa |
|
Instancia e devolve um objeto NETCONF ou Junos XML |
|
Parser baseado em SAX que analisa respostas do servidor NETCONF. |
|
Fornece acesso SSH a uma |
|
Fornece níveis de rastreamento e permite o rastreamento com base no nível de depuração solicitado. |
O módulo a seguir é novo na versão independente de versão do cliente NETCONF Perl: EzEditXML
.
Os módulos a seguir foram removidos na versão independente de versão do cliente NETCONF Perl: Transform
, e Plugins
Version
.
Os aplicativos do cliente também podem utilizar módulos Perl em domínio público para facilitar o desenvolvimento de aplicativos de cliente NETCONF Perl. Como o NETCONF usa codificação de dados baseada em XML, os aplicativos do cliente podem fazer uso dos muitos módulos Perl que manipulam dados XML.
Você pode usar o cliente NETCONF Perl para criar aplicativos Perl que se conectam a um dispositivo, estabelecem uma sessão NETCONF e executam operações. A comunicação entre o cliente e o servidor NETCONF no dispositivo por meio da API NETCONF Perl envolve as seguintes etapas:
Estabelecendo uma sessão NETCONF sobre SSHv2 entre o aplicativo do cliente e o servidor NETCONF no dispositivo que executa o Junos OS.
Criação de RPCs correspondentes a solicitações e envio dessas solicitações ao servidor NETCONF.
Receber e processar as respostas de RPC do servidor NETCONF.
Scripts de amostra
A distribuição do NETCONF Perl inclui um diretório de exemplos com os seguintes scripts de amostra que ilustram como usar os módulos para executar várias funções. Para obter instruções sobre como executar os scripts, consulte o arquivo README no repositório NETCONF Perl GitHub em https://github.com/Juniper/netconf-perl.
diagnose_bgp/diagnose_bgp.pl — ilustra como monitorar o status do dispositivo e diagnosticar problemas. O script extrai e exibe informações sobre os pares não estabelecidos do Protocolo de Gateway de Borda (BGP) de um dispositivo a partir do conjunto completo de dados de configuração BGP.
get_chassis_inventory/get_chassis_inventory.pl — ilustra como usar uma consulta predefinida para solicitar informações de um dispositivo. O script de amostra invoca a
get_chassis_inventory
consulta com a opçãodetail
de solicitar as mesmas informações devolvidas pela solicitação Junos XML<get-chassis-inventory><detail/></get-chassis-inventory>
e pelo comandoshow chassis hardware detail
de modo operacional CLI.edit_configuration/edit_configuration.pl — ilustra como configurar o dispositivo carregando um arquivo que contém dados de configuração formatados com elementos de tag Junos XML. A distribuição inclui um arquivo de configuração de amostra, config.xml; no entanto, você pode especificar um arquivo de configuração diferente na linha de comando quando você invoca o script.