Перейти к содержимому
Калькуляторы

Фильтрация вывода команды Cisco

Здравствуйте, уважаемые форумчане! Возникла следующая проблема с фильтрацией вывода команды на цисках. Задача такая: нужно найти в конфиге маршрутизатора секцию типа:

dial-peer voice 100 voip
 description #TEST#
 destination-pattern .T
 session target ipv4:1.1.1.1

Причем необходимо найти только те диал-пиры, у которых в session target указан один конкретный ip-адрес. Я никак не могу разобраться, какое регулярное выражение для этого составить и вообще возможно ли это. Этот поиск нужно выполнить на куче железок с разными версиями IOS, в том числе древними, так что IOS shell не получится активировать на всем оборудовании. Прошу вашей помощи!

Изменено пользователем Marker

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Забрать конфиги каким-нить снмп, а там уже grep/awk/sed/etc.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

попробуйте show run | section include target ipv4:1.1.1.1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ну вообщем да - используй символ | и дальше нужный параметр, например i - include, ex - exclude, s - section. только проверь перед этим, есть ли vrf на циске - sh vrf

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

На IOS XR с парсингом все гораздо лучше, если у вас xr, то как минимум четверть правил регялрки работают.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

dial peer на XR ? )))

в общем тут только

show run | inc dial-peer|ipv4:1.1.1.1

 

правда это будет или. 

но структура вывода будет такая.

строчка по диалпир

если будет матч, то вторая с session, если не будет матча то следом будет след диал пир..

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 Там у incl кучка ключей есть, полезных, в т.ч. и выводить несколько строк соседних.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Какая минимальная версия IOS?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 Где-то так,  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
!

 

 Ну и все остальные эзерненты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 Вдогон - от иоса вроде не зависит, просто надо помнить что кроме incl есть еще и begin(и еще кое-что). Конфиг и логи кисок структурированы сурово, посему даже без ios sh с его грепом можно выгрести нужное достаточно просто. А иос - да вроде любой с 12й версии должон.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Чо бегин ему даст? Если он хочет получить строчку с диалпиром, где есть сессия с определённым ипом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

4 часа назад, YuryD сказал:

 Вдогон - от иоса вроде не зависит

Ну, скажем, | section появилась относительно недавно.

 

Так что только получать конфиг на tftp и парсить на сервере.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

26 минут назад, zhenya` сказал:

Чо бегин ему даст? Если он хочет получить строчку с диалпиром, где есть сессия с определённым ипом.

 Ему даст секцию конфига пиров. Чтобы знать, где искать. Дальше конечно - весь конфиг и анализ на столе.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 12/10/2017 в 01:27, kapydan сказал:

ну вообщем да - используй символ | и дальше нужный параметр, например i - include, ex - exclude, s - section. только проверь перед этим, есть ли vrf на циске - sh vrf

Какая нахрне разница, есть ли врф или нет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

9 часов назад, myst сказал:

Какая нахрне разница, есть ли врф или нет?

Ну так, на всякий случай. Мало ли есть. Тогда, значит, перед нами крутая циска. Я бы потом проверил, есть ли на ней BFD, а вы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 10.12.2017 в 17:20, zhenya` сказал:

Чо бегин ему даст? Если он хочет получить строчку с диалпиром, где есть сессия с определённым ипом.

sho runn | begin session target ipv4:1.1.1.1 и получить все секции конфига полностью, где это попадется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

35 минут назад, YuryD сказал:

begin session target ipv4:1.1.1.1

А разве так у него просто не вывалится весь конфиг после session target ipv4:1.1.1.1 ?

Я уже написал как надо. У меня просто кошки голосовой нет, чтоб проверить. А автор что-то ничего не отвечает :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

52 минуты назад, Butch3r сказал:

А разве так у него просто не вывалится весь конфиг после session target ipv4:1.1.1.1 ?

Я уже написал как надо. У меня просто кошки голосовой нет, чтоб проверить. А автор что-то ничего не отвечает :)

 

 Потерялся автор :) А весь конфиг - отчего ? Нет совпадений внутри секции конфига - не будет и вывода секции ? И да, неохота голосовую со склада доставать. Про диалпиров - у меня их немного было....

Ну потестил конфиг с бегин на предмет next-hop  - на 7206 выдало все секции конфига с ним, заодно и зависимые тоже, зачем попал туда радиус  и прочие ntp... В общем - begin в | реально мне помогает, секцию нарыть, а то полисимапов много....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Бегин от первого вхождения до самого конца даёт конфиг.

 

  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
 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

17 часов назад, vurd сказал:

Ну так, на всякий случай. Мало ли есть. Тогда, значит, перед нами крутая циска. Я бы потом проверил, есть ли на ней BFD, а вы?

А причем тут крутизна циски если топик про фильтрацию и все выводится по sh run?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 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 будет показан только у тех, где совпадает. не идеально, но так искать удобнее

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В 11.12.2017 в 03:47, myst сказал:

Какая нахрне разница, есть ли врф или нет?

проблем с пониманием что там есть и чего нет будет проще.

 

В 11.12.2017 в 13:27, vurd сказал:

Тогда, значит, перед нами крутая циска.

да можно и на неособо крутой железке, типа 2921, vrf настроить - все ж от целей зависит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.