Dlink Empty Script: различия между версиями

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску
Строка 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>

Версия 16:12, 12 марта 2009

Настройка большого числа коммутаторов

В связи с тем, что было принято решение делать еже(дневно|недельно|годично) бекапы коммутаторов, возникла необходимость каким-то образом прописать на них коммюнити. Обходить руками все коммутаторы не хотелось. Задача усложнялась тем, что часть коммутаторов уже использовали централизованную авторизацию через радиус, а часть - старую схему с авторизацией из локальной базы пользователей.

Выбор средств

Существует 2 хорошо известных программы для решения данной задачи

Т.к. 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