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

[Ищу] полностью автоматический бэкап зоопарка оборудования по пулу IP

Здравствуйте, уважаемые!

Думаю кто-нибудь из ленивых админов уже должен был навоять скриптик, умеющий сканировать пул адресов, определять производителя оборудования и автоматом бэкапить его конфигурацию? 

Неужели нет?

Пока самое близкое, что удалось найти - проект oxidized. Знает много производителей, легко добавить скриптик на ему неизвестную новую модель. Но ему всё равно на входе нужен список оборудования с указанием производителя. А, как показывает практика, если через пару месяцев один сгоревший коммутатор заменят на абсолютно другой, все забудут о том, что надо обновить инфу во всём десятке систем/табличек учёта/инвентаризации/мониторинга/бэкапа и в конце концов инфа протухает. Выход вижу один - тулза должна сканировать пул айпишников, ломиться на пингующиеся телнетом/ssh-ом и сама определять куда попала. Будь то тот самый OID SNMP или пара команд по телнету. При замене длинка на циску с тем же IP, бэкапы должны продолжиться без участия админа.

В принципе всё реализуемо, просто решил спросить встречалась ли кому-нибудь подобная готовая автоматизация или есть собственные наработки?

Заранее благодарю за любые подсказки!

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

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


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

Интересно, как вы себе представляете алгоритм автоопределения оборудования через ssh сессию? Вообще говоря, разное оборудование саму телнет сессию устанавливает по разному, не говоря уже об авторизации и командах.

 

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


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

8 минут назад, sdy_moscow сказал:

Вообще говоря, разное оборудование саму телнет сессию устанавливает по разному, не говоря уже об авторизации и командах.

Ну строго говоря, логин-пароль ввести скорее всего проблемы не составит. После чего нужно будет ввести команду abyrvalg, проанализировать ответ и предположить оборудование.

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


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

@seventh Задача уже обсуждалась в

 

и там пришли к решению проблемы сверху вниз, а не снизу вверх. Конкретно, инвестиции делаются в генератор конфигов, и тогда конфиги отдельных единиц оборудования теряют какую-либо самостоятельную ценность. 

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


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

23 минуты назад, alibek сказал:

Ну строго говоря, логин-пароль ввести скорее всего проблемы не составит. После чего нужно будет ввести команду abyrvalg, проанализировать ответ и предположить оборудование.

Это так кажется. Если попытаетесь самостоятельно сессию телнета поднять с более или менее свежим железом через tcp сокет, много нового для себя откроете.

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


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

1 час назад, jffulcrum сказал:

там пришли к решению проблемы сверху вниз, а не снизу вверх. Конкретно, инвестиции делаются в генератор конфигов, и тогда конфиги отдельных единиц оборудования теряют какую-либо самостоятельную ценность

Блин, это круть. Ну, я так понимаю, актуально для ШПД-шников, где совсем всё однотипно. Сложно представляю реализацию на своей сети. Это будет уже почти искусственный интеллект. 

 

1 час назад, alibek сказал:

нужно будет ввести команду abyrvalg, проанализировать ответ и предположить оборудование

Это что за команда? UPD: а, нагуглил)

 

46 минут назад, sdy_moscow сказал:

Если попытаетесь самостоятельно сессию телнета поднять с более или менее свежим железом через tcp сокет, много нового для себя откроете

Посвятите что там происходит. 

Вообще представляю себе после авторизации анализ вывода команд "show version" "display system info" и ещё парочки аналогичных до первого удовлетворяющего парсер ответа. Но это если про телнет. Думаю, модель всё-таки проще определить по SNMP, OID практически везде один и тот же.

 

Благодарю за подсказки!

Короче, как ни странно, похоже, настолько автоматизированных решений нет. Каждый костылит своё. Прям очень странно для меня. В такой век, вроде, живём...

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

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


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

1 час назад, seventh сказал:

Посвятите что там происходит. 

http://pcmicro.com/NetFoss/telnet.html

 

Для интереса посчитайте количество RFC. На самом деле конечно не всё так страшно, но задача добраться до авторизации, сама по себе для разных железок может быть не тривиальной. Ну авторизовались мы даже допустим, и что потом делать?

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


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

Т.е. варинат навести порядок в сети и не забывать какое оборудование вы поставили не рассматривается? А мониторится это все как?

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


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

3 часа назад, VolanD666 сказал:

Т.е. варинат навести порядок в сети и не забывать какое оборудование вы поставили не рассматривается? А мониторится это все как?

The Dude!

Грустно работать в филиале крупной компании. Где-то там есть какие-то системы инвентаризации, к которым и доступа нет, а здесь ты сам ответственен за своё оборудование и спросят с тебя.

Но это оффтоп.

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


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

LibreNMS умеет отдавать тип оборудования в Oxidized, но эта связка избыточна только для сбора конфигов.

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


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

Если на железке настроен snmp, а раз The Dude мониторит, то наверное так и есть, OID sysObjectID выдает (должен по крайней мере и у вменяемых вендоров так и есть) конкретную модель оборудования и производителя.

Все мои скрипты автоматизации пляшут именно от этого ключа.

 

$ snmpget -On 10.0.8.14 sysObjectID.0
.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.40418.7.44

40418 - это SNR

7.44 - это SNR-S2995G-12FX

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


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

Я использую мониторинг NetXMS и скрипт на пайтоне для экспорта базы оборудования NetXMS в базу rancid.

В системе мониторинга делается простой хук наподобие этого:

 

if ( $node->snmpOID  ~= "^\.1\.3\.6\.1\.4\.1\.9" )
{
	SetCustomAttribute($node, "RancidProfile", "cisco");
} else
if ( $node->driver  == "MIKROTIK" )
{
	SetCustomAttribute($node, "RancidProfile", "mikrotik");
} else
if ( $node->snmpOID  ~= "^\.1\.3\.6\.1\.4\.1\.2636" )
{
  	SetCustomAttribute($node, "RancidProfile", "juniper");
} else
if ( $node->snmpOID  ~= "^\.1\.3\.6\.1\.4\.1\.35265\.1\." )
{
  	SetCustomAttribute($node, "RancidProfile", "eltex");
} else
if ( $node->snmpOID  ~= "^\.1\.3\.6\.1\.4\.1\.30065\.1\.3011\." )
{
  	SetCustomAttribute($node, "RancidProfile", "arista");
}

И делам экспорт базы с атрибутами при каждом запуске rancid. Теперь при добавлении оборудования в систему мониторинга устройство автоматически попадает в базу ranicd. На всём оборудовании настраивается AAA tacacs/radius для доступа по ssh.

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


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

Join the conversation

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

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

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

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

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

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

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