Введение
Добрый день, коллеги! Недавно я получил свой первый сертификат и теперь я сертифицированный специалист Cisco. Но это было маленькое лирическое отступление. Сегодня хочу рассказать о том, как сделать бэкап конфигурации сетевого оборудования. Правда, на оборудовании компании Cisco уже есть встроенная возможность архивации конфигурации. Но в этом случае придется вручную настраивать все оборудование. Если у вас сотни коммутатаров, то думаю даже копи-паст нельзя считать выходом.
В сети есть много платного ПО с очень удобным интерфейсом и под каждую ОС. Но цены на них бешеные, поэтому решили найти опенсорсный аналог. После недолгих поисков нашёл пару программ из которых выбрали rConfig. Тут решил собрать более-менее подробное руководство по установке и настройке данного ПО.
Коротко об rConfig
Как уже и было сказано, программа совершенно бесплатна, работает на CentOS 7, не очень требователен к ресурсам. Правда, на сайте разработчика не нашел информацию о минимальной конфигурации сервера, но вот то, что раскопал в сети:
- Выделенный сервер (физический или виртуальный) ;
- 100 GB свободного места на диске;
- 1 GB оперативки (рекомендую 4 GB);
- Процессор Intel x86_64.
Но минимальные требования к софту разработчик разместил:
- Centos 7+
- PHP 7+
- MySQL 5.6+
- Apache 2.4+
- Browser IE7+, Firefox3.5+, Chrome11+, Safari3+, Opera 9.4+
Установка
Для начала нужно поднять Linux-сервер. Разработчик рекомендует CentOS с минимальной конфигурацией. Дальше подключаемся к серверу по SSH (можно использовать всем знакомый PuTTY), качаем софт с сайта разработчика, файл установки делаем исполняемым и запускаем его:
cd /home curl -O http://files.rconfig.com/downloads/scripts/install_rConfig.sh chmod +x install_rConfig.sh ./install_rConfig.sh
Установка длится около 20-30 минут, нужно ответить на пару вопросов типа настройки NTP, root пароля для MySQL и т.п. Проследить ход установки можно открыв вторую сессию и введя команду
tail -f /home/install.logПосле установки требуется перезагрузить сервер. После перезагрузки нужно ввести команду:
/home/centos7_postReboot.sh
Настройка rConfig
После завершения установки (система оповестит об этом) можно переходить непосредственно к самой настройке rConfig. Для начала создаём пользователя базы данных, базу данных и привязываем пользователя к БД:
mysql -u root –p Enter new password: mysql> GRANT ALL ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password'; mysql> FLUSH PRIVILEGES; mysql> CREATE DATABASE rconfig_db;
После этого в браузере открываем веб интерфейс:
Здесь проверяется соответствие необходимого программного обеспечения требованиям rConfig. Далее принимаем лицензионное соглашение, которое, как правило, никто не читает, и переходим к настройке базы данных:
Кнопкой Check Settings проверяется правильность имени БД, логина и пароля. Затем нажимаем Install Settings. После этого в фоновом режиме запускается скрипт, которые заполняет БД необходимыми данными. У меня в первый раз вышла ошибка, мол данная БД уже есть, но думаю это связано с тем, что я не дождался выполнения команды и несколько раз кликнул по кнопке. Если у вас будет также, просто нажимаем Last затем опять Next, вводим нужные данные, нажимаем на Install Settings и набираемся чуток терпения :) Далее переходим к финальной проверке:
Прежде чем перейти к странице входа в систему, удаляем каталог установки:
rm -fr /home/rconfig/www/install/
Добавление устройства
Для добавления устройства заходим на веб интерфейс системы введя доменное имя или IP адрес сервера, вводим логин и пароль, по умолчанию admin/admin. Затем переходим на вкладку Devices и нажимаем на кнопку Add device:
Вводим название устройства, выбираем категорию (можно добавлять и удалять категории в одноименной вкладке), прописываем IP адрес, можно добавить расположение оборудования, вводим имя и пароль для входа на устройство. Тут сделаю небольшое отступление.
Как правило, в крупных организациях пользуются TACACS+ или RADIUS серверами для авторизации на устройствах, которые используют Active Directory. В соотвествие со внутренней политикой пароль пользователя меняется каждый месяц, значит нам придется каждый месяц заходить и менять пароль для входа на устройство. В настройках rConfig есть интеграция с LDAP, но сам пока не настраивал его, и не знаю будет ли работать так, как нужно. Когда настрою и все заработает, постараюсь написать руководство. А пока для тестов ввёл свой username и текущий пароль. Кроме этого, можно настроить имя пользователя и пароль по умолчанию. Делается это на вкладке Settings:
А при добавлении устройства просто можно поставить галочку перед Default username/password.
В Enable Prompt и Main Prompt я просто ввел hostname устройства и поставил соответствующие символы (, #). Далее выбираем вендора (по умолчанию только Cisco, но можно отредактировать этот список на вкладке Vendors) и вписываем модель. Из выпадающего списка Template выбираем подключение по SSH: Cisco IOS - SSH - Enable - ios-ssh-enable.yml. Нажимаем Save и вуаля, если все прописано правильно, то при клике на названии устройства переходим на новую страницу и там статус устройства должен быть Online:
Дополнительные настройки
По умолчанию система выполняет на оборудовании три команды: show ip access-list, show cdp neighbors и show startup-config. Данное действие можно сократить до одной команды, для этого на вкладке Devices переходим в раздел Commands, выбираем команду и делаем Remove Command:
Просмотреть сохранённую конфигурацию можно на странице Device Management, куда можно перейти кликнув на устройство на вкладке Devices:
01 до удаления лишних, по моему мнению, команд, а 02 уже после.
Можно настроить автоматическое выполнение бэкапа, для чего, собственно, и было затеяно все это дело. Для настройки задания переходим на вкладку Scheduled Task, нажимаем на Add Scheduled Task заполняем соответствующие поля:
Выбираем Download Configuration, задаём название и описание задания. Можно настроить отправку e-mail при выполнении или при ошибке выполнения или выбрать сразу оба. Далее можно выбрать конкретное устройство, а можно выбрать всю категорию. Задаём частоту выполнения, в данном случае я выбрал раз в день. Система автоматом прописывает время выполнения в 00:00, что можно изменить. Нажимаем Save и радуемся :)
На этом пока все, думаю материал будет полезен как начинающим сетевым администраторам, так и имеющим достаточный опыт работы с сетью профессионалам. Удачи!