Поиск по этому блогу

суббота, 15 октября 2016 г.

Cisco не удаляется vty сессия

Все началось с того, что не получилось сохранить конфиг. Плучаю ошибку
sw-ru-3#wr mem 
startup-config file open failed (Device or resource busy) 
Начал капаться, увидел странную vty сессию
sw-ru-3#sh users 
    Line       User       Host(s)              Idle       Location 
   1 vty 0     NCMuser    idle                 10w6d     192.168.0.33 
*  2 vty 1     admin      idle                 00:00:00  192.168.0.83 
Висит аж 10 недель да, давненьк не заходил
Перезагружать устройство не охото в середине рабочего дня, да и локация достаточно крупная и находится далеко. Пробуем очистить сессию через clear
sw-ru-3#clear line vty 0 
[confirm] 
[OK] 

Проверяем, но сессия все равно почему-то висит
sw-ru-3#sh users 
    Line       User       Host(s)              Idle       Location 
   1 vty 0     NCMuser    idle                 10w6d     192.168.0.33 
*  2 vty 1     admin      idle                 00:00:00  192.168.0.83 
Заглянем со стороны TCP на эту ситуацию
sw-ru-3#sh tcp brief 
TCB       Local Address           Foreign Address        (state) 
0031FEDC  192.168.0.247.22      192.168.0.83.53238        ESTAB
Тут почему-то одно наше лигитимное соединение.
Исследование cisco`s help на предмет clear, delete, no и т.п. команд натолкнуло на одну команду
sw-ru-3#disconnect ssh vty 0
После ее применения моя ssh сессия тут же закрылась (хотя она была на 1-ой линии), и перестало пинговаться устройство, что заставило немного напречься. Через некоторое время пинг и доступ к устройству восстановился. Аптайм не изменился. Пресловутая сессия пропала и коннфиг успешно сохранен.
sw-ru-3#sh ver | i uptime
sw-ru-3 uptime is 20 weeks, 4 days, 21 hours, 20 minutes
sw-ru-3#sh ver
Cisco IOS Software, C3750 Software (C3750-IPBASEK9-M), Version 12.2(55)SE8, RELEASE SOFTWARE (fc2)

Гугление по этому вопросу показало, что удаление vty сессия можно осуществить через ее TCB (Transmission Control Block). TCB представляет собой некую структуру которая содержит различные части данных, необходимых для установления соединения. Она содержит инфрмацию: о IP адресе, о порте, о состоянии соединения, о сокетах и т.д. Команда sh tcp brief предоставляет информацию о номере TCB (в моем случае это 0031FEDC). Удалить соединение по его TCB можно командой clear tcp tcb 0031FEDC.

Полезная инфрмация:
  • TCP Show Extension
  • Cisco IOS Configuration Fundamentals Command Reference
  • Clearing hung TCP session
  • Won’t Clear VTY session
  • RFC793 Протокол управления пересылкой - TCP