alibek Posted July 23, 2021 Posted July 23, 2021 Есть у меня скрипт, который по 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 возвращает ложную информацию. Вставить ник Quote
uxcr Posted July 23, 2021 Posted July 23, 2021 (бурча) второй тред на ту же самую тему. Вы каких чудесных исцелений ожидаете от форума, при использовании ветки training? Вставить ник Quote
alibek Posted July 23, 2021 Author Posted July 23, 2021 По-моему темы разные. В первом случае причина скорее всего в CEF, то есть это не баг, а не очень правильная конфигурация. А тут явный баг. 13 минут назад, uxcr сказал: при использовании ветки training? Это почему? Если T5, то насколько я помню, это не training, а technology train. Это стабильные образы, обычно более продвинутые. А не тренировочные. Вставить ник Quote
VolanD666 Posted July 23, 2021 Posted July 23, 2021 И снова предлагаю вам сделать как надо, а не через скрипт :) Вставить ник Quote
alibek Posted July 23, 2021 Author Posted July 23, 2021 Как надо — это задействовав SSG? Не поделитесь примером? У меня остались огрызки конфигурации с тех пор, когда я на Cisco 7201 использовал ISG (для подключения ФЛ по PPPoE) и там какая-то замороченная модель услуг, с шаблонами и профилями — ее нам готовил интегратор и он закладывал VoIP в список оказываемых услуг. Вставить ник Quote
YuryD Posted July 23, 2021 Posted July 23, 2021 Что-то с типом терминала возможно, проверьте и перепробуйте что там про sho terminal кроме length еще есть ? Или экспект с подтверждением каждой строчки. Ну или переписать rate-limitы в разные policy-map и или их менять, или переприменять к интерфейсу. У меня такая хрень для pptpшников, радиусом из биллинга имена policy-map к вирт интерфейсу прибивается Ни и если это регулярно - то ищите cisco kron у гугеля Вставить ник Quote
uxcr Posted July 23, 2021 Posted July 23, 2021 Да поставьте уже нормальный иос. А то эти топики вызывают у меня только стыд, что я настолько давно этим занимаюсь что помню про этот баг, когда эта версия иоса была свежей. Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.