Dlink Empty Script

Материал из noname.com.ua
Перейти к навигацииПерейти к поиску

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

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

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

Существует 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