Compatibilidad con IPv6 en scripts de automatización de Python
A partir de Junos OS versión 19.3R1, los dispositivos que ejecutan Junos OS con FreeBSD actualizado admiten IPv6 en scripts de automatización de Python, incluidos los scripts de confirmación, evento, operación y SNMP, los scripts del kit de herramientas de extensión de Juniper (JET) y los scripts de acción de YANG. La compatibilidad con IPv6 permite que los scripts de automatización de Python establezcan conexiones y realicen operaciones utilizando direcciones IPv6.
Por ejemplo, la siguiente secuencia de comandos op utiliza Junos PyEZ para conectarse al host en la dirección IPv6 especificada e imprimir el nombre de host del dispositivo e información sobre la interfaz ge-0/0/0. El script recupera el nombre de usuario de las entradas del script y solicita la contraseña del usuario.
from jnpr.junos import Device
from lxml import etree
from junos import Junos_Context
import jcs
user = Junos_Context['user-context']['user']
password = jcs.get_secret('Enter user password: ')
try:
with Device(host='2001:db8::2', user=user, password=password) as dev:
print (dev.facts['hostname'])
int_info = dev.rpc.get_interface_information({'format':'text'},
interface_name='ge-0/0/0', terse=True)
print (etree.tostring(int_info, encoding='unicode'))
except Exception as err:
print (err)
Para ejecutar el script, configure la language python instrucción or language python3 y el filename del script.
[edit] user@host# set system scripts language python3 user@host# set system scripts op file connect-ipv6.py user@host# commit and-quit
Cuando se ejecuta el script, se imprime el nombre de host del dispositivo remoto e información sobre la interfaz ge-0/0/0.
user@host> op connect-ipv6.py
Enter user password:
r2
<output>
Interface Admin Link Proto Local Remote
ge-0/0/0 up up
ge-0/0/0.0 up up inet6 2001:db8::2/32
fe80::5668:a3ff:fe16:79ef/64
multiservice
</output>