В работе ( инженера | системного администратора | просто хорошего парня) иногда начинает казаться что время тратится неэффективно, задачи которые решаются, решаются неоптимальным образом, вот тогда может понадобится Расписко
Давным−давно, в далекой, далекой галактике…
В своей трудовой деятельности мне нередко приходилось сталкиваться с ситуацией когда необходимо первоначально настроить через консольный порт оборудование, эксплуатируемое на объекте, находящемся довольно далеко и при этом заранее сконфигурировать это самое оборудование нет возможности. И по мере того как данная ситуация стала возникать всё чаще и чаще я решил приложить некоторые усилия для того чтобы тратить время более эффективно. Ведь львиную часть времени занимает не сама настройка как таковая а временные затраты по доставке тела специалиста к консольному порту свича, роутера, шлюза, тостера и т.п. В интернете на глаза попалась статья по организации терминального сервера на базе Raspberry Pi. Таким образом, после нескольких часов редактирования конфигурационных файлов появилась Расписко — основанная на базе Raspberry Pi мобильная система удалённого доступа через пакетную сеть мобильного оператора (например, 3G) к оборудованию Cisco. В данной статье приводится краткое описание и примеры использования.
Список оборудования:
— Raspberry Pi | — Блок питания 5V/1A | ||
— SD карта 4 Gb | — Huawei E1550 3G modem 12d1:1446 (before usb_modeswitch) 12d1:1001 (after usb_modeswitch) | ||
— USB to RS232 Serial Port Adapter | — Cisco Console Cable DB9 Female to RJ45 Male |
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 может использоваться оборудование любого другого производителя.
Теперь
Ниже фотоотчёт.
ссылка на оригинал статьи http://habrahabr.ru/post/192188/
Добавить комментарий