Dlink Empty Script: различия между версиями
Sirmax (обсуждение | вклад) |
Sirmax (обсуждение | вклад) |
||
Строка 12: | Строка 12: | ||
==Краткое описание скриптов== |
==Краткое описание скриптов== |
||
+ | Для того что бы пройтись по всем коммутаторам и внести на них изменения, я написал следующий скрипт: (разбито на части для лучшего понимания) |
||
+ | ===Описание переменных=== |
||
+ | <PRE> |
||
+ | #!/bin/bash |
||
+ | |||
+ | PWGEN=`which pwgen` |
||
+ | EMPTY=`which empty` |
||
+ | LOG_FILE="/var/log/des_empty.log" |
||
+ | SQL_LOG="/var/log/des_sql.log" |
||
+ | |||
+ | |||
+ | USERNAME_RADIUS='radiususer' |
||
+ | PASSWORD_RADIUS='password_in_radius' |
||
+ | USERNAME_LOCAL='local_user' |
||
+ | PASSWORD_LOCAL='local_password' |
||
+ | PASSWORD_ENABLE='enable_password' |
||
+ | IP_LIST='ip_list' |
||
+ | </PRE> |
||
+ | Есть 2 пользователя (из радиуса и локальный) с которыми можно авторизоваться на коммутаторе.В случае локальной авотризации сразу попадаешь в привилигированный режим. |
||
+ | В случае авторизации через радиус требуется дополнительно выполнить комманду |
||
+ | <PRE> |
||
+ | enable admin |
||
+ | </PRE> |
Версия 15:12, 12 марта 2009
Настройка большого числа коммутаторов
В связи с тем, что было принято решение делать еже(дневно|недельно|годично) бекапы коммутаторов, возникла необходимость каким-то образом прописать на них коммюнити. Обходить руками все коммутаторы не хотелось. Задача усложнялась тем, что часть коммутаторов уже использовали централизованную авторизацию через радиус, а часть - старую схему с авторизацией из локальной базы пользователей.
Выбор средств
Существует 2 хорошо известных программы для решения данной задачи
- expect
- empty (http://sourceforge.net/projects/empty)
Т.к. expect был у меня не собран, и предлогал поставить множество зависимостей, я решил использовать empty. Тем более, что написание скриптов на bash с использованием empty мне показалось значительно проще.
Краткое описание скриптов
Для того что бы пройтись по всем коммутаторам и внести на них изменения, я написал следующий скрипт: (разбито на части для лучшего понимания)
Описание переменных
#!/bin/bash PWGEN=`which pwgen` EMPTY=`which empty` LOG_FILE="/var/log/des_empty.log" SQL_LOG="/var/log/des_sql.log" USERNAME_RADIUS='radiususer' PASSWORD_RADIUS='password_in_radius' USERNAME_LOCAL='local_user' PASSWORD_LOCAL='local_password' PASSWORD_ENABLE='enable_password' IP_LIST='ip_list'
Есть 2 пользователя (из радиуса и локальный) с которыми можно авторизоваться на коммутаторе.В случае локальной авотризации сразу попадаешь в привилигированный режим. В случае авторизации через радиус требуется дополнительно выполнить комманду
enable admin