IPv6-Unterstützung in Python-Automatisierungsskripten
Ab Junos OS Version 19.3R1 verwenden Geräte, auf denen Junos OS mit aktualisierter FreeBSD-Unterstützung IPv6 in Python-Automatisierungsskripten, einschließlich Commit-, Ereignis-, Op- und SNMP-Skripten, Juniper Extension Toolkit (JET)-Skripten und YANG-Aktionsskripten. IPv6-Unterstützung ermöglicht Python-Automatisierungsskripten, um Verbindungen herzustellen und Operationen mit IPv6-Adressen durchzuführen.
Das folgende Op-Skript verwendet beispielsweise Junos PyEZ, um eine Verbindung mit dem Host an der angegebenen IPv6-Adresse herzustellen und den Geräte-Hostnamen sowie Informationen über die ge-0/0/0-Schnittstelle auszudrucken. Das Skript ruft den Benutzernamen aus den Skripteingaben ab und fragt nach dem Kennwort des Benutzers.
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)
Um das Skript auszuführen, konfigurieren Sie die language python
Anweisung oder language python3
den Skriptdateinamen.
[edit] user@host# set system scripts language python3 user@host# set system scripts op file connect-ipv6.py user@host# commit and-quit
Wenn Sie das Skript ausführen, gibt es den Hostnamen des Remotegeräts und Informationen über die ge-0/0/0-Schnittstelle aus.
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>