Перейти к публикации
iT4iT.CLUB

Поиск по сайту

Результаты поиска по тегам 'raspberry pi'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Категории и разделы

  • Операционные системы
    • UNIX
    • Mac OS
    • Windows
  • Системы мониторинга
    • Zabbix
  • Сетевое оборудование
    • Cisco Systems
    • MikroTik
    • Ubiquiti Networks
  • Микроконтроллеры
    • Arduino

Блоги

Нет результатов для отображения.

Нет результатов для отображения.

Календари

  • Календарь сообщества

Категории

  • Zabbix
    • Шаблоны
  • Arduino
    • Espressif Systems
    • Библиотеки
  • UNIX

Искать результаты в...

Искать результаты, содержащие...


Дата создания

  • Начать

    Конец


Последнее обновление

  • Начать

    Конец


Фильтр по количеству...

Зарегистрирован

  • Начать

    Конец


Группа


Найдено 1 результат

  1. Необычные проблемы требуют необычных решений. Начнем с прелюдии На определенном удалении друг от друга имеются две локальные домашние сети. Во главе одной стоит маршрутизатор на базе стационарного компьютера с RouterOS на борту, а сердцем второй является Cisco 800-ой серии (далее просто Кошка). В каждой из сетей имеются ресурсы представляющие интерес друг для друга. И вот настал прекрасный момент, была приобретена статика, и начался процесс поднятия GRE тоннеля. Все завелось с первого раза, пакетики побежали между сетями. Данное событие было отмечено, как подобает Русскому представителю IT сообщества и все разошлись заниматься своими делами. Но счастье было не долгим. Через пару дней, из-за не преодолимых обстоятельств, произошло отключение питания на стороне "Кошки" и MikroTik начал скучать и ждать своего боевого товарища. После проведения аварийно-восстановительных работ "Кошка" радостно заурчала, но пакетики не побежали. Вскрытие показало, что провайдер не поддерживает адекватную работу с DHCP семейства кошачьих и в панике выдавал первый свободный IP из пула, со всеми вытекающими последствиями. Несколько недель велись переговоры с провайдером, и раз эта статья была написана, значит, провайдер пока не добился положительного результата. Решено разбираться самостоятельно и попробовать поднимать тоннель, основываясь только на одном статическом адресе. Ведь в цирке медведи ездят на одноколесных велосипедах? А чем мы хуже медведей?! Реализация Кошка будет гулять по всему пулу адресов провайдера, следовательно, приспосабливаться к этим загулам придется MiktoTik-у. Средствами RouterOS решить эту проблему сходу не получилось и решено вводить в бой тяжелую артиллерию, это сверх мощный и производительный сервер Raspberry Pi А Вы, что подумали?) Эта игрушка с 512mb RAM, 800мГц CPU, Lunux-ом на борту и питанием от USB разъема самого MikroTik-а очень сильно расширяет функционал маршрутизатора, не повышая расходы на электроэнергию и общую стоимость проекта. Если быть серьезным, то MikroTik API + Raspberry Pi (далее просто Малина) позволяют реализовать практически любую Вашу фантазию. Фото моего роутера Поведение будет следующим: На MikroTik-е настраивается проброс 80 порта до Малины.Cisco каждые N минут будет обращаться по протоколу http на Raspberry Pi и методом GET передавать секретный ключ.На борту Малинки крутится Apache + PHP. Последний проверяет корректность ключа, реализуя идентификацию кошки по схеме "Свой\Чужой".Если идентификация пройдена успешно, то по средствам API маршрутизатора происходит перенастройка GRE тоннеля.Хочу отметить, что таким способом можно производить конфигурацию всего маршрутизатора, а не только GRE. Проброс портов на MikroTik-е /ip firewall nat add action=netmap chain=dstnat disabled=no dst-port=80 in-interface=ether1 protocol=tcp to-addresses=192.168.1.100 to-ports=80in-interface - имя интерфейса смотрящего в интернетto-addresses - внутренний адрес малинкиНе забудьте активировать сервис API у маршрутизатора. /ip service enable 5 Настройка Cisco cisco-test#configure terminal cisco-test(config)#kron policy-list gre cisco-test(config-kron-policy)#cli more http://64.64.64.64/?key=a7656fafe94dae72b1e1487670148412 cisco-test(config-kron-policy)#exit cisco-test(config)#kron occurrence gre in 015 recurring cisco-test(config-kron-occurrence)#policy-list gre cisco-test(config-kron-occurrence)#^Z cisco-test#write В данном случае настраивается задание для планировщика KRON на выполнение команды more каждые 15 минут. Сама команда просто выводит на экран содержимое из различных источников. Естественно необходимо изменить IP адрес на актуальный для Вас. Значение key необходимо изменить на Ваш ключ, указанный в PHP скрипте ниже и закодированный в md5! Еще один важный момент. В GET запросе, символ вопроса "?" обозначает, что начинается передача параметров. В Cisco это спец символ показывающий справку по командам и чтобы его ввести, необходимо перед его написанием нажать Ctrl + V PHP Script для Raspberry Pi Нам понадобится PHP class для работы с RouterOS API https://github.com/BenMenking/routeros-api <?PHP /** * @copyright: iT4iT.CLUB (c) 2015 * @author: https://it4it.club */ # Данные для подключения к API RouterOS $host = '192.168.0.1'; $login = 'login'; $pass = 'password'; # Уникальный ключ для проверки "Свой\Чужой". Удаленный маршрутизатор обязан передавать его в md5 $key = 'secret key'; # Интерфейс, который необходимо переконфигурировать $interfaceName = 'gre-tunnel1'; if(isset($_GET['key']) and $_GET['key'] == md5($key)) { require('./routeros_api.class.php'); $API = new RouterosAPI(); if($API->connect($host, $login, $pass)) { $API->write('/interface/gre/print'); foreach($API->read() as $id => $param) { if($param['name'] == $interfaceName and $param["remote-address"] != $_SERVER['REMOTE_ADDR']) { $API->comm("/interface/gre/set", array( "numbers" => $id, "remote-address" => $_SERVER['REMOTE_ADDR'], )); break; } } $API->disconnect(); } } ?>В данном скрипте при совпадении ключей происходит поиск интерфейса gre-tunnel1 в ветке /interface/gre и в случае его обнаружения следует изменение параметра remote-address на IP клиента передавшего верный ключ в формате md5. Более подробно почитать об API можно на официальном сайте http://wiki.mikrotik.com/wiki/Manual:API PS: Данный вариант управления маршрутизатором довольно забавен и очень гибок, но будьте очень осторожны, "друзья" Эдварда не дремлют! Советую также использовать https, фильтр по IP (провайдера) в коде скрипта и в фаерволе MikroTik-а. routeros_cisco_rpi.zip
×
×
  • Создать...