Python 自动化脚本中的 IPv6 支持
从 Junos OS 19.3R1 版开始,运行 Junos OS 并升级了 FreeBSD 支持的设备在 Python 自动化脚本中使用 IPv6,包括提交、事件、操作和 SNMP 脚本、Juniper Extension Toolkit (JET) 脚本和 YANG 操作脚本。IPv6 支持使 Python 自动化脚本能够使用 IPv6 地址建立连接并执行操作。
例如,以下操作脚本使用 Junos PyEZ 连接到指定 IPv6 地址上的主机,然后打印设备主机名和有关 ge-0/0/0 接口的信息。脚本将从脚本输入和用户密码提示中检索用户名。
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)
要执行脚本,请 language python
配置或 language python3
语句以及脚本文件名。
[edit] user@host# set system scripts language python3 user@host# set system scripts op file connect-ipv6.py user@host# commit and-quit
执行脚本时,它会打印远程设备的主机名和有关 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>