Raspisco — удалённый доступ к Cisco через Raspberry Pi

в 19:22, , рубрики: Cisco, linux, Raspberry Pi, raspbian, Гаджеты. Устройства для гиков, метки: , ,

Raspisco — удалённый доступ к Cisco через Raspberry Pi

В работе ( инженера | системного администратора | просто хорошего парня) иногда начинает казаться что время тратится неэффективно, задачи которые решаются, решаются неоптимальным образом, вот тогда может понадобиться Расписко

Давным−давно, в далекой, далекой галактике…

В своей трудовой деятельности мне нередко приходилось сталкиваться с ситуацией когда необходимо первоначально настроить через консольный порт оборудование, эксплуатируемое на объекте, находящемся довольно далеко и при этом заранее сконфигурировать это самое оборудование нет возможности. И по мере того как данная ситуация стала возникать всё чаще и чаще я решил приложить некоторые усилия для того чтобы тратить время более эффективно. Ведь львиную часть времени занимает не сама настройка как таковая а временные затраты по доставке тела специалиста к консольному порту свича, роутера, шлюза, тостера и т.п. В интернете на глаза попалась статья по организации терминального сервера на базе Raspberry Pi. Таким образом, после нескольких часов редактирования конфигурационных файлов появилась Расписко — основанная на базе Raspberry Pi мобильная система удалённого доступа через пакетную сеть мобильного оператора (например, 3G) к оборудованию Cisco. В данной статье приводится краткое описание и примеры использования.

Список оборудования:

— Raspberry Pi Raspisco — удалённый доступ к Cisco через Raspberry Pi — Блок питания 5V/1A Raspisco — удалённый доступ к Cisco через Raspberry Pi
— SD карта 4 Gb Raspisco — удалённый доступ к Cisco через Raspberry Pi — Huawei E1550 3G modem 12d1:1446 (before usb_modeswitch) 12d1:1001 (after usb_modeswitch) Raspisco — удалённый доступ к Cisco через Raspberry Pi
— USB to RS232 Serial Port Adapter Raspisco — удалённый доступ к Cisco через Raspberry Pi — Cisco Console Cable DB9 Female to RJ45 Male Raspisco — удалённый доступ к Cisco через Raspberry Pi

1. Подготовка 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 и выставляем необходимые параметры, например расширяем объём памяти, занимаемой корневой файловой системой.

2. Подготовка Raspberry Pi, часть вторая

Обновляем программное обеспечение, устанавливаем недостающее ПО:
apt-get update
apt-get upgrade
apt-get install usb-modeswitch (необходимо для переключения 3G модема в основной режим работы )

3. Автоматическое подключение к интернету

Для работы через 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' &

4. Прикладное ПО

Устанавливаем прочее необходимое программное обеспечение:

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

5. Как это всё работает

В полевых условиях алгоритм следующий:
После подачи электропитания Raspisco загружается, устанавливается соединение с интернетом, затем соединение с openvpn сервером, инженер получает sms с IP адресом, подключается по SSH к Raspberry PI, запускает kermit, осуществляет первоначальное конфигурирование оборудования.

Естественно, вместо Cisco может использоваться оборудование любого другого производителя.

Будем считать что время было потрачено не зря

Raspisco — удалённый доступ к Cisco через Raspberry Pi
Теперь за пивом пойти за сто вёрст поехать может даже менеджер по клинингу.

Ниже фотоотчёт.

Raspisco — удалённый доступ к Cisco через Raspberry Pi

Raspisco — удалённый доступ к Cisco через Raspberry Pi

Raspisco — удалённый доступ к Cisco через Raspberry Pi

Автор: belunix

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js