Marker Posted December 7, 2017 (edited) · Report post Здравствуйте, уважаемые форумчане! Возникла следующая проблема с фильтрацией вывода команды на цисках. Задача такая: нужно найти в конфиге маршрутизатора секцию типа: dial-peer voice 100 voip description #TEST# destination-pattern .T session target ipv4:1.1.1.1 Причем необходимо найти только те диал-пиры, у которых в session target указан один конкретный ip-адрес. Я никак не могу разобраться, какое регулярное выражение для этого составить и вообще возможно ли это. Этот поиск нужно выполнить на куче железок с разными версиями IOS, в том числе древними, так что IOS shell не получится активировать на всем оборудовании. Прошу вашей помощи! Edited December 7, 2017 by Marker Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
pppoetest Posted December 7, 2017 · Report post Забрать конфиги каким-нить снмп, а там уже grep/awk/sed/etc. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Butch3r Posted December 7, 2017 · Report post попробуйте show run | section include target ipv4:1.1.1.1 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kapydan Posted December 9, 2017 · Report post ну вообщем да - используй символ | и дальше нужный параметр, например i - include, ex - exclude, s - section. только проверь перед этим, есть ли vrf на циске - sh vrf Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Merridius Posted December 10, 2017 · Report post На IOS XR с парсингом все гораздо лучше, если у вас xr, то как минимум четверть правил регялрки работают. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zhenya` Posted December 10, 2017 · Report post dial peer на XR ? ))) в общем тут только show run | inc dial-peer|ipv4:1.1.1.1 правда это будет или. но структура вывода будет такая. строчка по диалпир если будет матч, то вторая с session, если не будет матча то следом будет след диал пир.. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
YuryD Posted December 10, 2017 · Report post Там у incl кучка ключей есть, полезных, в т.ч. и выводить несколько строк соседних. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ShyLion Posted December 10, 2017 · Report post Какая минимальная версия IOS? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
YuryD Posted December 10, 2017 · Report post Где-то так, C1700 Software (C1700-SY7-M), Version 12.3(9b) Вывод sho runn | begin Ethernet interface FastEthernet0/0 description "Internal network" bandwidth 100000 ip address 10.10.10.49 255.255.255.240 secondary ip address 10.10.14.1 255.255.255.252 secondary ip address 10.10.14.9 255.255.255.252 secondary ip address 10.10.14.13 255.255.255.252 secondary ip address 10.10.10.229 255.255.255.252 secondary ip address 10.10.10.233 255.255.255.252 secondary ip address 10.10.10.225 255.255.255.252 secondary ip address 10.10.10.1 255.255.255.224 secondary no ip proxy-arp ip accounting output-packets no ip mroute-cache speed auto full-duplex arp timeout 1200 no cdp enable hold-queue 600 in hold-queue 200 out ! Ну и все остальные эзерненты. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
YuryD Posted December 10, 2017 · Report post Вдогон - от иоса вроде не зависит, просто надо помнить что кроме incl есть еще и begin(и еще кое-что). Конфиг и логи кисок структурированы сурово, посему даже без ios sh с его грепом можно выгрести нужное достаточно просто. А иос - да вроде любой с 12й версии должон. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zhenya` Posted December 10, 2017 · Report post Чо бегин ему даст? Если он хочет получить строчку с диалпиром, где есть сессия с определённым ипом. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ShyLion Posted December 10, 2017 · Report post 4 часа назад, YuryD сказал: Вдогон - от иоса вроде не зависит Ну, скажем, | section появилась относительно недавно. Так что только получать конфиг на tftp и парсить на сервере. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
YuryD Posted December 10, 2017 · Report post 26 минут назад, zhenya` сказал: Чо бегин ему даст? Если он хочет получить строчку с диалпиром, где есть сессия с определённым ипом. Ему даст секцию конфига пиров. Чтобы знать, где искать. Дальше конечно - весь конфиг и анализ на столе. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
myst Posted December 11, 2017 · Report post В 12/10/2017 в 01:27, kapydan сказал: ну вообщем да - используй символ | и дальше нужный параметр, например i - include, ex - exclude, s - section. только проверь перед этим, есть ли vrf на циске - sh vrf Какая нахрне разница, есть ли врф или нет? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
vurd Posted December 11, 2017 · Report post 9 часов назад, myst сказал: Какая нахрне разница, есть ли врф или нет? Ну так, на всякий случай. Мало ли есть. Тогда, значит, перед нами крутая циска. Я бы потом проверил, есть ли на ней BFD, а вы? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
YuryD Posted December 11, 2017 · Report post В 10.12.2017 в 17:20, zhenya` сказал: Чо бегин ему даст? Если он хочет получить строчку с диалпиром, где есть сессия с определённым ипом. sho runn | begin session target ipv4:1.1.1.1 и получить все секции конфига полностью, где это попадется. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
Butch3r Posted December 11, 2017 · Report post 35 минут назад, YuryD сказал: begin session target ipv4:1.1.1.1 А разве так у него просто не вывалится весь конфиг после session target ipv4:1.1.1.1 ? Я уже написал как надо. У меня просто кошки голосовой нет, чтоб проверить. А автор что-то ничего не отвечает :) Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
YuryD Posted December 11, 2017 · Report post 52 минуты назад, Butch3r сказал: А разве так у него просто не вывалится весь конфиг после session target ipv4:1.1.1.1 ? Я уже написал как надо. У меня просто кошки голосовой нет, чтоб проверить. А автор что-то ничего не отвечает :) Потерялся автор :) А весь конфиг - отчего ? Нет совпадений внутри секции конфига - не будет и вывода секции ? И да, неохота голосовую со склада доставать. Про диалпиров - у меня их немного было.... Ну потестил конфиг с бегин на предмет next-hop - на 7206 выдало все секции конфига с ним, заодно и зависимые тоже, зачем попал туда радиус и прочие ntp... В общем - begin в | реально мне помогает, секцию нарыть, а то полисимапов много.... Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
zhenya` Posted December 11, 2017 · Report post Бегин от первого вхождения до самого конца даёт конфиг. begin Begin with the line that matches а вот к примеру inc с or show running-config | include (^interface Gigabit|^.ip address) interface GigabitEthernet0/0 interface GigabitEthernet0/0.10 ip address 192.168.10.1 255.255.254.0 interface GigabitEthernet0/0.20 ip address 192.168.20.1 255.255.254.0 interface GigabitEthernet0/0.60 ip address 192.168.60.1 255.255.255.0 interface GigabitEthernet0/0.100 ip address 192.168.100.1 255.255.255.0 interface GigabitEthernet0/0.600 ip address 192.168.200.1 255.255.255.0 interface GigabitEthernet0/0.999 ip address 192.168.61.1 255.255.255.128 interface GigabitEthernet0/0.1000 ip address 192.168.61.129 255.255.255.128 interface GigabitEthernet0/1 interface GigabitEthernet0/1.101 ip address 1.2.3.4 255.255.255.0 interface GigabitEthernet0/1.102 Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
myst Posted December 12, 2017 · Report post 17 часов назад, vurd сказал: Ну так, на всякий случай. Мало ли есть. Тогда, значит, перед нами крутая циска. Я бы потом проверил, есть ли на ней BFD, а вы? А причем тут крутизна циски если топик про фильтрацию и все выводится по sh run? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
ShyLion Posted December 12, 2017 · Report post В 12/7/2017 в 12:54, Marker сказал: Здравствуйте, уважаемые форумчане! Возникла следующая проблема с фильтрацией вывода команды на цисках. Задача такая: нужно найти в конфиге маршрутизатора секцию типа: dial-peer voice 100 voip description #TEST# destination-pattern .T session target ipv4:1.1.1.1 Причем необходимо найти только те диал-пиры, у которых в session target указан один конкретный ip-адрес. Я никак не могу разобраться, какое регулярное выражение для этого составить и вообще возможно ли это. Этот поиск нужно выполнить на куче железок с разными версиями IOS, в том числе древними, так что IOS shell не получится активировать на всем оборудовании. Прошу вашей помощи! Как уже продемонстрировали выше: show run | sect ^dial-peer voice .* voip|^ descr|^ destination T\.|^ session target ipv4:1.1.1.1 выведутся все диалпиры, но session target будет показан только у тех, где совпадает. не идеально, но так искать удобнее Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
kapydan Posted December 15, 2017 · Report post В 11.12.2017 в 03:47, myst сказал: Какая нахрне разница, есть ли врф или нет? проблем с пониманием что там есть и чего нет будет проще. В 11.12.2017 в 13:27, vurd сказал: Тогда, значит, перед нами крутая циска. да можно и на неособо крутой железке, типа 2921, vrf настроить - все ж от целей зависит. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...