По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Друг, не так давно мы рассказывали про Asterisk REST Interface. Это новый API для Asterisk. Сегодня хотим рассказать о том, как реализовать просто мониторинг SIP – устройств с помощью ARI и отправкой событий в Telegram. Включаем ARI Откроем FreePBX и перейдем в раздел Settings → → Advanced Settings и находим раздел Asterisk REST Interface: Убедитесь, что парамеры Display Readonly Settings и Override Readonly Settings установлены в положение Yes. Указываем следующие параметры: Enable the Asterisk REST Interface - Yes; ARI Username - заполняем имя нашего пользователя; Allowed Origins - *; ARI Password - пароль для пользователя; Pretty Print JSON Responses - Yes; Web Socket Write Timeout - 100; Запоминаем логин и пароль и идем вперед. Сделать Telegram бота Далее, вам нужно создать Telegram – бота. Для этого, перейдите по ссылке ниже. Вернитесь сюда с токеном и идентификатором чата :) Создание бота PHP - скрипт Делаем скрипт, который будет реализовывать мониторинг пиров. Вот его листинг: <?php #ваш токен и идентификатор чата в Telegram $token = "токен"; $chat_id = "id_чата"; #параметры подключения к REST API Asterisk $json_url = 'http://localhost:8088/ari/endpoints/SIP'; $username = 'ARI_Username'; // логин $password = 'ARI_Password'; // пароль #обращаемся за данными в REST $ch = curl_init($json_url); $options = array( CURLOPT_RETURNTRANSFER => true, CURLOPT_USERPWD => $username . ":" . $password, CURLOPT_HTTPHEADER => array('Content-type: application/json') , ); curl_setopt_array( $ch, $options ); $result = curl_exec($ch); //получаем JSON результат $result = json_decode($result, true); #формируем массив, который будем отправлять в Telegram $telegram = array( 0 => array ( 'Проблемы с SIP устройствами.' => 'Список:', )); $num = 1; //print_r($result); foreach($result as $number => $massiv) { foreach($massiv as $key => $value) { #определяем элементы, которые не находятся в статусе online if (($key == 'state') && ($value != 'online')) { $telegram[$num] = array( 'Устройство '.$massiv['resource'].'' => 'в статусе '.$massiv['state'].'', ); $num = $num + 1; } else { }}}; #отправляем данные в Telegram в случае, если найдены устройства в статусе, отличном от online if ($num > 1) { foreach($telegram as $key => $value) { foreach($value as $dev => $status) { $txt .= "<b>".$dev."</b> ".$status."%0A"; }}; fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r");}; Скачать скрипт В случае скачивания, поменяйте расширение файла с .txt на .php Закидываем скрипт в любую удобную директорию (файл сохраните как ari_monitoring.php), например /home/scripts и планируем его выполнение в cron: crontab –e И добавляем мониторинг раз в 2 минуты: */2 * * * * /usr/bin/php /home/scripts/ari_monitoring.php Проверка В результате, если устройство станет доступно, мы получим следующее уведомление:
img
Перед тем как говорить о технологии 802.1ad (QinQ) нужно вспомнить о технологии 802.1q. Если коротко, то это технология тегирования трафика, то есть деление его на 2 уровне модели OSI (так как на L3 сеть мы делим уже по маске) Чем же отличается трафик обычный от тегированного спросите вы? Практически ничем, кроме добавления добавление тега в заголовок фрейма. Размер такого тега всего 4 байта (32 бита) и он состоит: TPID (Tag Protocol Identifier): на него уходит половина размера тега и это значение равно 0x8100 для 802.1q (VLAN) , а для 802.1ad(QinQ) заголовок выглядит так: 0x88a8. TCI (Tag Control Information): на это поле уходит оставшийся половина 16 бит тега. В него входит: PCP(Priority) - 3-битное поле, которое относится к классу обслуживания IEEE 802.1p и сопоставляется с уровнем приоритета кадра. (3 бита) Drop eligible indicator (DEI) (ранее CFI - Canonical Format Indicator) - Может использоваться отдельно или вместе с PCP для обозначения фреймов, которые могут быть отброшены при наличии перегрузки. (1 бит ) VID (VLAN Identifier) - VLAN ID . размером он в 12 бит ,а это значит что в него можно заложить 2^12 = 4096 VLAN . Но на самом деле меньше ,так как 0 и 4095( 0x000 и 0xFFF) зарезервированы , в итоге 4094 получается. (12 бит) Зачем же понадобилась технология двойного тегирования QinQ? Вот тут возникает как раз ограничение поля VID на количество VLAN (4094) и тут на помощь приходит стандарт 802.1ad, который позволяет уже увеличить количество VLAN. (4094*4094 = 16760836 - больше пока никому не потребовалось.) Ниже укажу dump трафика вначале обычного 802.1q: А потом 802.1ad наш QinQ о котором как раз и шла речь: Как видно из вывода, тип трафика указывается в самом фрейме. (см картинки выше), а далее идёт тег и в случае QinQ ещё один тег. Практика А теперь давайте немного попрактикуемся. Клиенты VPC1 и VPC2 будут находиться в одной подсети, это было сделано для удобства. VPC1 : 172.16.20.1/24 VPC2 : 172.16.20.2/24 Теперь первый Mikrotik, который будет отвечать за access и trunk порты /interface bridge add name=bridge vlan-filtering=yes /interface bridge port add bridge=bridge interface=ether1 pvid=100 add bridge=bridge interface=ether2 /interface bridge vlan add bridge=bridge tagged=ether2 vlan-ids=100 Mikrotik4 конфигурируется точно по такой же логике /interface bridge add name=bridge vlan-filtering=yes /interface bridge port add bridge=bridge interface=ether1 pvid=100 add bridge=bridge interface=ether2 /interface bridge vlan add bridge=bridge tagged=ether2 vlan-ids=100 Теперь самое интересное: Mikrotik2 /interface bridge add ether-type=0x88a8 name=bridge vlan-filtering=yes /interface bridge port add bridge=bridge interface=ether1 pvid=200 tag-stacking=yes add bridge=bridge interface=ether2 /interface bridge vlan add bridge=bridge tagged=ether1 vlan-ids=100 add bridge=bridge tagged=ether2 vlan-ids=200 Mikrotik3 /interface bridge add ether-type=0x88a8 name=bridge vlan-filtering=yes /interface bridge port add bridge=bridge interface=ether1 add bridge=bridge interface=ether2 pvid=200 tag-stacking=yes /interface bridge vlan add bridge=bridge tagged=ether2 vlan-ids=100 add bridge=bridge tagged=ether1 vlan-ids=200 Я указал только простую настройку для понимания настройки его на оборудовании Mikrotik. Не стал копать глубоко и указывать что и зачем каждый заголовок значит, так как моей задачей было указать основную настройку оборудования и по какой логике работает Q-in-Q, и с этой задачей я справился. Удачи!
img
В прошлой статье мы создали и настроили контроллер домена (DC), настало время наполнить наш домен пользователями и рабочими станциями. Конфигурация Открываем Server Manager и выбираем опцию Roles. Из доступных ролей выбираем недавно установленную - Active Directory Domain Services, далее Active Directory Users and Computers и находим созданный нами домен (в нашем случае - merionet.loc). В выпадающем списке объектов находим Users и кликаем по данной опции правой кнопкой мыши и выбираем New → User. Отметим также, что вы можете создать свою группу и добавлять пользователей туда. Перед нами откроется окно добавления нового пользователя. Заполняем учетные данные нового пользователя. Как правило, в корпоративных доменах, принято создавать именные учетные записи для того, чтобы в дальнейшем можно было отслеживать действия конкретного пользователя в целях безопасности и однозначно его идентифицировать. Далее, нас просят ввести пароль для новой учетной записи и выбрать дополнительные опции: User must change password at next logon - при включении данной опции, пользователя попросят сменить пароль при следующем логине; User cannot change password - пользователь не сможет самостоятельно изменить свой пароль; Password never expires - срок действия пароля пользователя никогда не истечет; Account is disabled - учетная запись пользователя будем отключена и он не сможет залогиниться с доменными учетными данными, даже если они будут введены верно. После того, как все данные будут заполнены, нас попросят подтвердить создание нового объекта. Отлично, новый пользователь домена создан. Теперь нам нужно зайти на компьютер пользователя и ввести его в домен. Для этого логинимся на компьютер пользователя с локальными учетными данными и открываем Свойства компьютера. Как видите, наш компьютер пока еще не стал частью домена, он ещё является частью рабочей группы WORKGROUP/. Убедитесь, что компьютер пользователя имеет версию Windows не ниже Professional. Чтобы ввести его в домен выбираем Change Settings Важно! Поддержка доменной инфраструктуры начинается только с версии Windows Professional. На версиях Starter, Home Basic, Home Premium подключиться к домену не получится! Далее напротив опции "To rename this computer or change its domain or workgroup, click Change" нажимаем собственно Change Важно! Для того, чтобы наш компьютер узнал о существующем контроллере домена нам нужно указать ему на DNS сервер, который имеет такую информацию. В нашем случае – контроллер домена является по совместительству DNS сервером для пользовательских машин. Поэтому мы указываем контроллер домена в качестве DNS сервера для настраиваемого компьютера. Далее в открывшемся окне в опции "Member of" вместо Workgroup выбираем Domain и вводим имя нашего домена (в нашем случае – merionet.loc) Далее нас попросят ввести учетные данные для учетной записи, которая уже создана и имеет право присоединиться к домену. Вводим учетные данные ранее созданного пользователя. Если все было сделано корректно, то мы увидим сообщение, свидетельствующее о том, что наш компьютер теперь является частью домена (в нашем случае - merionet.loc) После чего, нас попросят перезагрузить компьютер для применения изменений. После перезагрузки, мы можем логиниться уже с учетными данными доменного пользователя. Теперь, если мы откроем свойства компьютера, то увидим, что наш компьютер принадлежит домену (в нашем случае – merionet.loc)
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59