Для реализации первого пункта нужно сделать шаблон для конечного роутера
Для реализации первого пункта нужно сделать шаблон для конечного роутера
Часто появляется задача, когда нужно прописать канал по оптике (раньше резерв, например, был по РРЛ). Есть следующая топология:
Что нужно сделать:
Добавить вланы на грядку свитчей достаточно просто. Но, как организовать проверку, где и на каких портах нужно добавлять влан? Так же можно всё вообще ушатать. Проблема в том, что фильтры на vlan прописаны только в сторону downlink-порта. Что надо сделать получается:
Надо подумать над логикой и реализовать. Может быть проще это сделать с помощью ansible?
Вывод команды:
cgs2520-1#sh int fa0/22 status
Port Name Status Vlan Duplex Speed Type
Fa0/22 AP connected 350 a-full a-100 10/100BaseTX
Задача – распарсить вывод и получить значения следующих полей – статус, скорость, дуплекс, имя и влан.
Результат TextFSM выводит в списке списков. Чтобы сделать из списка списков список:
flat_list = [item for sublist in result for item in sublist]
Собрать в словарь два списка одинаковой длины:
sw=dict(zip(header,flat_list))
Варианты шаблонов для TextFSM здесь
Скрипт здесь. Заходит на железку, смотрит статус интерфейса (переменная задана в скрипте). Вывод записывается в файл, который идентичен ip-адресу железки. Далее вывод парсится по шаблону TextFSM (descr.template). Выводятся порт и дескрипшен.
Ссылка на гит. Пока не разбирался, оставлю как памятку, что надо посмотреть что это за зверь
2520 с IOS Cisco IOS Software, CGS2520 Software (CGS2520-LANBASEK9-M), Version 15.2(4)EA5, RELEASE SOFTWARE (fc1) поддерживает netconf. Вроде как..
cgs2520-1#sh netconf schema
New Name Space ‘urn:ietf:params:xml:ns:netconf:base:1.0’
<VirtualRootTag> [0, 1] required
<rpc-reply> [0, 1] required
………………………………………………………………………….
Netconf включается так:
cgs2520-1(config)#netconf ssh
Подключиться к подсистеме netconf можно следующим образом:
ssh -2 -s tar@172.16.1.1 netconf
Что нужно сделать:
Реализация netconf-клиента под python: ncclient
pip install ncclient
from ncclient import manager
cisco=manager.connect(host=’ip’, port=’22’, username=’admin’, password=’pass’, allow_agent=False, , look_for_keys=False)
cisco.get()
Выдаёт весь конфиг.
Есть у нас парочка ASR1002x. В дальнейшем их будет ещё, правда не так много. Хочу здесь составить план или черновик, как с ними можно взаимодействовать и что можно автоматизировать. Какие для этого понадобятся инструменты и как это можно реализовать на практике.
Поддерживает REST API, но. Для этого надо скачать модуль поддержки REST. REST API Support for IOS XE – по факту виртуалка, которая устанавливается на ASR. Для того что бы скачать его, нужен сервисный контракт. Печалька..