Jump to content
Калькуляторы

Необычный глюк на Cisco 7201

Есть у меня скрипт, который по ssh подключается к Cisco 7201, считывает с нее конфигурацию, изменяет и загружает обратно.

Скрипт работает уже наверное с десяток лет, обычно работает как часы, но иногда бывают странности.

Сегодня решил все же покопаться, что за странности, и обнаружил странный баг.

 

Прошивка: Cisco IOS Software, 7200 Software (C7200P-ADVENTERPRISEK9-M), Version 12.4(24)T5, RELEASE SOFTWARE (fc3)

Конфигурация:

upgrade fpd auto
version 12.4
parser config cache interface
no service pad
service timestamps debug uptime
service timestamps log uptime
service password-encryption
service sequence-numbers
...
username auto privilege 5 secret 5 ...
...
interface GigabitEthernet0/1.860
 description LL860:101-8926-04:FON4
 encapsulation dot1Q 860
 ip address xx.xx.126.185 255.255.255.252
 no ip redirects
 no ip unreachables
 no ip proxy-arp
 no cdp enable
...
privilege interface level 5 shutdown
privilege interface level 5 rate-limit
privilege interface level 5 description
privilege configure level 5 interface
privilege configure level 5 do
privilege exec level 5 configure terminal
privilege exec level 5 configure
privilege exec level 5 terminal length
privilege exec level 5 terminal
privilege exec level 5 show version
privilege exec level 5 show running-config
privilege exec level 5 show

Скрипт подключается по ssh (под логином auto), и вначале отправляет команды "terminal length 0" и "show version | i Cisco IOS Software".

Затем отправляет команду "sh run int GigabitEthernet0/1.860" и обрабатывает результат — парсит строки с description, rate-limit, shutdown. В зависимости от задачи он модифицирует строки — либо отменяет какую-то конфигурацию (добавляет no), либо применяет какие-то изменения. Затем полученные строки он снова отправляет по ssh на Cisco 7201.

 

И оказалось, что иногда sh run дает неверную информацию:

BRAS11-C7201# sh run int GigabitEthernet0/1.860

Load for five secs: 14%/12%; one minute: 15%; five minutes: 15%
Time source is NTP, 12:34:11.091 MSK Fri Jul 23 2021

Building configuration...

Current configuration : 76 bytes
!
interface GigabitEthernet0/1.860
 description LL860:101-8926-04:FON4
end

BRAS11-C7201#

В конфигурации остается только description, все остальное пропало.

Если подключиться к терминалу под пользователем auto, то команда sh run дает такой же результат (пустую конфигурацию интерфейса).

Но если параллельно подключиться к другому терминалу под максимальными привилегиями и дать ту же команду, то возвращается нормальная конфигурация.

И после этого в предыдущем терминале (auto) sh run тоже показывает нормальную конфигурацию.

Когда такой глюк происходит, то еще и отправляемые команды не отрабатываются — терминал куда-то теряет несколько первых символов с каждой строки, из-за чего команда возвращает ошибку:

Отправлено:
interface GigabitEthernet0/1.860
 description LL860:101-8926-04:FON4
 rate-limit input 75000000 2343750 4687500 conform-action transmit exceed-action drop
 rate-limit output 75000000 2343750 4687500 conform-action transmit exceed-action drop
 no shutdown
 exit

Получено:
rface GigabitEthernet0/1.860
BRAS11-C7201(config-subif)# description LL860:101-8926-04:FON4
BRAS11-C7201(config-subif)#$0 conform-action transmit exceed-action drop     
 rate-limit input 75000000 2343750 4687500 conform-action transmit exceed-action            ^ drop

% Invalid input detected at '^' marker.

BRAS11-C7201(config-subif)#$00 conform-action transmit exceed-action drop    
 rate-limit output 75000000 2343750 4687500 conform-action transmit exceed-actio            ^n drop

% Invalid input detected at '^' marker.

BRAS11-C7201(config-subif)# no shutdown
BRAS11-C7201(config-subif)# exit
BRAS11-C7201(config)#

 

Если Cisco 7201 перегрузить, то после перезагрузки все заработает нормально (на какое-то время).

Может кто-то знает, чем вызван баг?

Я не об ошибках при отправке команд, а про то, что sh run возвращает ложную информацию.

Share this post


Link to post
Share on other sites

(бурча) второй тред на ту же самую тему. Вы каких чудесных исцелений ожидаете от форума, при использовании ветки training?

Share this post


Link to post
Share on other sites

По-моему темы разные.

В первом случае причина скорее всего в CEF, то есть это не баг, а не очень правильная конфигурация.

А тут явный баг.

 

13 минут назад, uxcr сказал:

при использовании ветки training?

Это почему?

Если T5, то насколько я помню, это не training, а technology train.

Это стабильные образы, обычно более продвинутые. А не тренировочные.

Share this post


Link to post
Share on other sites

И снова предлагаю вам сделать как надо, а не через скрипт :)

Share this post


Link to post
Share on other sites

Как надо — это задействовав SSG?

Не поделитесь примером? У меня остались огрызки конфигурации с тех пор, когда я на Cisco 7201 использовал ISG (для подключения ФЛ по PPPoE) и там какая-то замороченная модель услуг, с шаблонами и профилями — ее нам готовил интегратор и он закладывал VoIP в список оказываемых услуг.

Share this post


Link to post
Share on other sites

 Что-то с типом терминала возможно, проверьте и перепробуйте что там про sho terminal кроме length еще есть ? Или экспект с подтверждением каждой строчки.

 Ну или переписать rate-limitы в разные policy-map и или их менять, или переприменять к интерфейсу. У меня такая хрень для pptpшников, радиусом из биллинга имена policy-map к вирт интерфейсу прибивается

 

Ни и если это регулярно - то ищите cisco kron у гугеля

Share this post


Link to post
Share on other sites

Да поставьте уже нормальный иос.

А то эти топики вызывают у меня только стыд, что я настолько давно этим занимаюсь что помню про этот баг, когда эта версия иоса была свежей.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this