Raspisco — удалённый доступ к Cisco через Raspberry Pi
-
В работе ( инженера | системного администратора | просто хорошего парня) иногда начинает казаться что время тратится неэффективно, задачи которые решаются, решаются неоптимальным образом, вот тогда может понадобиться Расписко
Давным−давно, в далекой, далекой галактике…
В своей трудовой деятельности мне нередко приходилось сталкиваться с ситуацией когда необходимо первоначально настроить через консольный порт оборудование, эксплуатируемое на объекте, находящемся довольно далеко и при этом заранее сконфигурировать это самое оборудование нет возможности. И по мере того как данная ситуация стала возникать всё чаще и чаще я решил приложить некоторые усилия для того чтобы тратить время более эффективно. Ведь львиную часть времени занимает не сама настройка как таковая а временные затраты по доставке тела специалиста к консольному порту свича, роутера, шлюза, тостера и т.п. В интернете на глаза попалась статья по организации терминального сервера на базе Raspberry Pi. Таким образом, после нескольких часов редактирования конфигурационных файлов появилась Расписко — основанная на базе Raspberry Pi мобильная система удалённого доступа через пакетную сеть мобильного оператора (например, 3G) к оборудованию Cisco. В данной статье приводится краткое описание и примеры использования.
Список оборудования:
-
- Подготовка Raspberry Pi
Устанавливаем образ операционной системы на карту памяти Raspberry Pi. В инструкции мы используем дистрибутив Raspbian Wheezy, но нижесказанное справедливо также и для других подобных образов ОС. Для этого скачиваем со страницы www.raspberrypi.org/downloads образ 2013-02-09-wheezy-raspbian.zip, распаковываем архив и устанавливаем на SD карту при помощи утилиты sourceforge.net/projects/win32diskimager/ (подойдёт карта на 4 Gb)
Для начальной конфигурации Raspberry Pi запускаем из командной строки raspi-config и выставляем необходимые параметры, например расширяем объём памяти, занимаемой корневой файловой системой.- Подготовка Raspberry Pi, часть вторая
Обновляем программное обеспечение, устанавливаем недостающее ПО:
apt-get update apt-get upgrade apt-get install usb-modeswitch (необходимо для переключения 3G модема в основной режим работы )- Автоматическое подключение к интернету
Для работы через 3G сеть необходимо установить пакет ppp:
apt-get install ppp
Удобно использовать универсальный скрипт подключения к интернет через 3G — sakis3g и обёртку для него umtskeeper:
wget "http://www.sakis3g.org/versions/latest/armv4t/sakis3g.gz" gunzip sakis3g.gz chmod +x sakis3g
Запускаем мастер автоматического подключения:
./sakis3g --interactive
Если удалось установить соединение, то для автоматического запуска соединения с мобильной пакетной сетью необходимо в файл /etc/rc.local добавить следующие строки:/home/pi/umtskeeper/umtskeeper --sakisoperators «USBINTERFACE='0' OTHER='USBMODEM' USBMODEM='12d1:1001' APN='internet.mts.ru' CUSTOM_APN='internet.mts.ru' SIM_PIN='1234' APN_USER='mts' APN_PASS='mts'» --sakisswitches "--sudo --console" --devicename 'Huawei' --log --silent --monthstart 8 --nat 'no' &
- Прикладное ПО
Устанавливаем прочее необходимое программное обеспечение:
apt-get install openvpn ckermit
В моём случае так как оператор мобильной связи не предоставляет «белого» IP адреса по умолчанию, а платить дополнительно за услугу «Реальный IP» не хотелось я пользуюсь
своим openvpn сервером. Расписывать здесь подробно не вижу смысла, в интернете много пошаговых инструкций по настройке Openvpn.
Копируем конфигурационный файл openvpn клиента в /etc/openvpn и добавляем в конец файла /etc/rc.local строки:
sleep 100 /etc/init.d/openvpn startТакже, исключительно для удобства, можно настроить СМС оповещение, после успешного подключения Raspisco к VPN серверу на телефон приходит SMS с IP адресом к которому я позже подключаюсь по Telnet/SSH. Можно использовать email2sms шлюз, Google Календарь, Mail Agent SMS или ещё с десяток альтернативных вариантов.
Подключаться непосредственно к Cisco будем через kermit:
Добавляем в конфигурационный файл kermrc примерно следующие заклинания:
root@Raspisco:~# cat .kermrc set flow control none set carrier-watch off set speed 9600 set reliable set flow none set prefixing all set file type bin set handshake none connect- Как это всё работает
В полевых условиях алгоритм следующий:
После подачи электропитания Raspisco загружается, устанавливается соединение с интернетом, затем соединение с openvpn сервером, инженер получает sms с IP адресом, подключается по SSH к Raspberry PI, запускает kermit, осуществляет первоначальное конфигурирование оборудования.Естественно, вместо Cisco может использоваться оборудование любого другого производителя.
Ниже фотоотчёт.
-
Боже, что за названия? То Pidora то Raspisco.
-
всё-таки я не очень понимаю смысл
есть смысл если надо окучить надцать железяк, на одну проще модем поставить