Pull to refresh
2
0
Елена @fixandpatch

Системный администратор, NOC-инженер

Send message

Функции в скриптах Роутер ОС Микротик. Интересные решения и недокументированные возможности

Reading time32 min
Views19K
Роутер ОС Микротик, как известно, имеет мощнейший LUA-подобный встроенный скриптовый язык, позволяющий осуществлять исполнение сценариев, в том числе при наступлении каких-либо событий в сети или по расписанию. Скрипты могут состоять из одной строки кода или иметь внушительные размеры, при передаче управления друг другу формируя сложные программы. Встроенный скриптовый язык существенно расширяет возможности системы, практически не ограничивая полет фантазии программиста. Существующее официальное руководство по скриптам написано кратко и, разумеется, не может охватить все особенности программирования для Роутер ОС.

В этой статье, не претендующей на полное руководство к разделу, мы рассмотрим одну из интересных и важных рубрик «скриптинга», а именно — функции.

Перед прочтением статьи, пользователям, начинающим изучать скрипты, рекомендую ознакомиться с официальным руководством Микротик по скриптам по ссылке выше, либо с его переводом (например, здесь). Следует знать типы переменных в скриптах Микротик, иметь понятие об областях видимости, окружении переменных и т.д… Также будет весьма полезна статья habr.com/ru/post/270719, в которой автор подробно разбирает типы переменных LUA Микротик и варианты их объявления и использования.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments0

Тернистый путь внедрения аутентификации через соцсети

Reading time10 min
Views11K


Кто помнит пароли от всех своих аккаунтов? Учеток слишком много, ведь почти каждый сервис в наше время требует для полноценного доступа создать учётную запись и придумать новый пароль.

Столкнувшись с очередным таким требованием, особенно на новой платформе, человек просто закрывает вкладку в браузере со словами «не больно-то и хотелось». Чтобы упростить жизнь пользователям – существует аутентификация через третьи сервисы (чаще социальные сети).

Привет, Хабр, меня зовут Сергей Солдатов, я тимлид в подразделении eSports MTS Digital, разработчик на Go и немного архитектор. Занимаюсь сервисами аутентификации и авторизации на WASD.TV. Это многофункциональная стриминговая платформа для геймеров, собственный сервис МТС. Как мы настраивали аутентификацию на WASD.TV и что из этого вышло – читайте под катом.
Читать дальше →
Total votes 18: ↑18 and ↓0+18
Comments16

Mikrotik split-dns: они это сделали

Reading time2 min
Views65K
Не прошло и 10 лет, как разработчики RoS (в stable 6.47) добавили функционал, который позволяет перенаправить DNS запросы в соответствии со специальными правилами. Если раньше надо было изворачиваться с Layer-7 правилами в firewall, то теперь это делается просто и изящно:

/ip dns static
add forward-to=192.168.88.3 regexp=".*\\.test1\\.localdomain" type=FWD
add forward-to=192.168.88.56 regexp=".*\\.test2\\.localdomain" type=FWD

Моему счастью нет предела!
Читать дальше →
Total votes 19: ↑16 and ↓3+17
Comments61

Настройка с нуля сервиса управления ИБП Network UPS Tools (NUT) для управления локально подключенным ИБП

Reading time8 min
Views73K

Настройка Network UPS Tools на Linux на примере ИБП Eaton 5E650iUSB


Описание


Сервис Linux NUT (Network UPS Tools) — это комплекс программ мониторинга и управления различными блоками бесперебойного питания (далее ИБП). Полный список поддерживаемых моделей можно получить, посмотрев список драйверов в файле /usr/share/nut/driver.list.


В руководстве описана настройка отключения ПК агентом NUT при потере напряжения в сети на примере ИБП Eaton 5E 650iUSB на Ubuntu-подобных дистрибутивах. Для использования под другие дистрибутивы используйте пакетный мененджер своего дистрибутива или соберите из исходных кодов. Новейшую версию Network UPS Tools можно скачать на GitHub по ссылке ссылке.

Читать дальше →
Total votes 13: ↑12 and ↓1+11
Comments8

А все ли врут? Продолжаем издеваться над NVME

Reading time10 min
Views37K

А пока мои коллеги пытаются разобраться с проблемами серверных NVME Raid массивов, я решил посмотреть на проблему с другого ракурса. Ведь NVME — это не только жёсткий диск, но и три-четыре протокола быстропередаваемых данных.

Для многих из нас nvme означает, что мы купили новый компьютер или ультрабук. Жёсткий диск, подключённый напрямую к шине PCIE, позволяет существенно снизить задержки передачи данных и ускорить любую систему. NVME — это ключ к загрузке любой системы за 3 секунды.

Но, на самом деле сам по себе NVME — это не стандарт для жёстких дисков. NVME расшифровывается как NVM Express. NVM, в свою очередь, означает Non-volatile memory, И в первую очередь — это спецификация протокола, который позволяет производить эффективный доступ к данным, хранящимся в энергонезависимой памяти.

А как мы хорошо знаем, протоколы можно запускать на разных носителях. В этой статье мы будем издеваться над моим лэптопом с Ubuntu Linux 21 на борту, подключая его жёсткий диск к разным серверам. Вы можете посетовать, что всё это игрушки, но хороший администратор со свитчем, позволяющим поддерживать скорости более 10 гигабит в секунду, должен взять это на заметку. Вы можете получить удалённый доступ к вашим nvme жёстким дискам через tcp/ip без уловок и мошенства.

Поехали.
Читать дальше →
Total votes 113: ↑113 and ↓0+113
Comments90

Wireguard VPN, Yggdrasil, ALFIS DNS и AdGuard

Reading time5 min
Views40K

На написание этой статьи спровоцировала вот эта статья, с кучей странностей, и необязательных действий. Если коротко, то автор не понимает зачем он ставит те или иные программы, а именно - Unbound и dnsproxy. Но так как кроме исправления недочётов той статьи хочется добавить чего-то полезного, мы несколько расширим возможности подключающихся к серверу клиентов.

Во-первых, несколько слов об Yggdrasil. Это одноранговая сеть с адресами IPv6, которая по сути может считаться новым слоем сети Интернет. При установке и настройке у вас появляется новый сетевой интерфейс, который является окном в этот новый слой. Всё так же, как с обычным протоколом IPv6 - вы можете использовать его для удалённого подключения к своим устройствам без реального IPv4, для удалённого администрирования, размещения там каких-то ресурсов, например того же Nextcloud. Всё это находится как бы в глобальном пространстве общей приватной сети. Кто-то там разместил прокси-серверы для Telegram, которые нельзя заблокировать, кто-то выход в "большой" Интернет через сеть Tor. Там же есть несколько серверов для общения, вроде Mattermost, IRC и XMPP. Статей по настройке и использованию на Хабре уже достаточно.

Читать далее
Total votes 22: ↑20 and ↓2+19
Comments23

Мой друг Netmiko

Reading time8 min
Views14K

Ansible с костыльком может автоматизировать сеть и non-CloudEngine коммутаторов Huawei, как недавно было доказано на нашем Enterprise форуме. Однако в сети, в которой работают разные модели коммутаторов, Ansible не представляется эффективным инструментом на данный момент. И несмотря на бесспорное улучшение качество кода Python для Telnet, данный скрипт также не подходил по ряду причин. 

Я хотел найти простое решение, которое могло бы работать в гибридной сети с разными моделями коммутаторов Huawei: устанавливать соединение через SSH и решать задачи по конфигурированию из реального мира. При этом кодом мог бы оперировать такой же, как и я не разбирающийся в программировании человек: менять и адаптировать скрипт под свои задачи, используя открытые источники.

На помощь пришел Netmiko. О том как это было, читайте в этом посте. Готовый скрипт приводится в конце.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments17

Процедурная генерация бумажных снежинок

Reading time16 min
Views21K

Скоро начинаются предпраздничные дни, а вместе с ними и украшение наших домов. По этому поводу я решил заняться процедурной генерацией лекала для вырезания снежинок из бумаги. Под катом процесс разработки, алгоритм и демка.

Читать далее
Total votes 127: ↑127 and ↓0+127
Comments33

Как подружить Zabbix с Asterisk «из коробки»

Reading time8 min
Views17K
В предыдущей статье «Zabbix — расширяем макро границы» я рассказал как получать сессию авторизации и подставлять ее в локальный макрос хоста. В этой статье я расскажу как подружить Zabbix с Asterisk без внешних скриптов и ПО.

Идея «подружить» эти две системы родилась давно, причем без установки дополнительного софта и скриптов. Быстрое гугление выдавало множество вариантов решений, все сводилось к тому, что закиньте скрипты (на пыхе, баше, питоне и т. п.) на сервер, и будет вам счастье. Мне же хотелось реализовать мониторинг «из коробки» — без внешних скриптов и установки дополнительного софта на сервер с мониторингом и АТС.

Провозился я с этим в сумме 4 рабочих дня, но результат стоил того. Работа через интерфейс AMI, низкоуровневое обнаружение, триггеры, а главное, на подключение АТС и все остальные настройки теперь уходит минут 15.

В наличии заббикс 4.4, около 100 штук Астерисков 13 версии. Какие-то АТС идут с веб интерфейсом FreePBX, какие-то с голой консолью, кучей хитростей и интеграцией через диалплан.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments4

Гидропоника. Выращиваем сверхострый чили и заставляем всех его есть

Reading time14 min
Views138K


Полтора килограмма термоядерного Тринидадского Скорпиона я в итоге собрал с одного куста на гидропонике.


У меня было много довольно странных хобби. Некоторые приводили к странным эффектам, вроде массового домашнего производства домашнего порошка для посудомойки. В список к этому странному ряду я решил добавить еще один пункт. Теперь я развлекаюсь еще и с гидропоникой. Причем эффект получился еще более адовый, чем я ожидал.


Небольшая часть урожая


Тема чудовищно огромная, охватить ее за один пост вряд ли получится, поэтому я постараюсь ограничиться описанием принципа, почему это вообще работает и дать максимально исчерпывающий мануал, чтобы каждый смог из желудей и спичек повторить мой эксперимент. В самом начале будет много теории. Можете ее проскочить и сразу перейти к нужным покупкам, а вернуться к ней позже.


Сегодня в меню


  1. Что такое гидропоника и почему она гораздо проще, чем почва с червячками
  2. Никаких дорогих бутылочек. Мешаем компоненты по три рубля за ведро
  3. Питание растения как алгоритм
  4. Как быстро собрать прототип гидропонной установки
  5. Что такое capsicum chinense и как выжить при дегустации
Total votes 248: ↑248 and ↓0+248
Comments328

Пример создания среды виртуализации в Gentoo

Reading time22 min
Views5.7K
image

«Скажи мне, Рождённый Женщиной,
— вопросил Кришна,
Куда движутся эти миры,
Зачем злой Парвана по ночам охотится
за своей второй сущностью,
И почему у ласточки Бшакти две ноги,
а у Меня двадцать четыре?»
— Элементарно, — сказал Арджуна, — берём вектор Пойнтинга…
БХАГАВАД-ГИТА (мл. тибетская)
Запев 30 тома
Читать дальше →
Total votes 6: ↑5 and ↓1+6
Comments8

Диагностика и перепрошивка оптических трансиверов

Reading time8 min
Views18K

Серверное сетевое оборудование всегда проектируется с расчетом на длительную и бесперебойную работу. Трансиверы, позволяющие передавать данные с высокими скоростями по оптическому волокну, не исключение. Тем не менее, как и любое другое оборудование, трансиверы могут начать сбоить или работать некорректно.

Сегодня мы расскажем о диагностике оптических трансиверов в случае фиксирования каких-либо проблем или перед сдачей в эксплуатацию mission-critical сервисов.
Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments8

Кунг-фу стиля Linux: о повторении кое-каких событий сетевой истории

Reading time6 min
Views9.9K
В наши дни во встроенных системах часто имеется поддержка сети. Это может значительно их усложнить. Сетевая нагрузка на системы обычно не отличается высоким уровнем детерминированности, существуют разные варианты таких нагрузок. Порой в сетях происходят довольно-таки странные события. Например, пусть у кого-то имеется монтажная машина (PNP), к которой может обратиться любой пользователь интернета. Про эту машину написали статью на Hackaday, после чего её владелец вдруг обнаружил, что объём данных, которыми она обменивается с интернетом, возрос в 50 раз. Как в такой ситуации ведёт себя сетевая подсистема этой машины? И хотя в задаче тестирования сетей нет универсального инструмента, способного устранить все проблемы, существуют приёмы работы, которые могут упростить решение этой задачи. Один из таких приёмов работы заключается в использовании утилит из набора tcpreplay, которые позволяют записывать совокупный сетевой трафик, а потом «воспроизводить» его различными способами. У применения этого приёма есть множество сильных сторон. Особенно — если удалось «изловить» именно то, что эпизодически приводит к возникновению ошибок. Возможность по желанию «воспроизводить» такой трафик способна значительно ускорить процесс диагностики сетевых проблем.


Читать дальше →
Total votes 25: ↑23 and ↓2+31
Comments5

MyBee — FreeBSD ОС и гипервизор bhyve как частное облако

Reading time10 min
Views16K

В этой статье будет описано применение ОС FreeBSD в качестве платформы для запуска облачных гостевых ОС с использованием простого API на примере дистрибутива MyBee и тот DevOPS, который мне по нраву.

Читать далее
Total votes 16: ↑15 and ↓1+16
Comments9

Закрепление в Linux. Linux Persistence

Reading time12 min
Views22K

Получив доступ к системе, важно его не потерять. Выключение узла, завершение процесса - все это разрывает бек-коннект. И приходится начинать сначала. Даже если вы успели получить учетные данные валидного пользователя, смена пароля способна создать массу проблем. В статье я собрала в одном месте известные мне способы, начиная от простых и довольно шумных, но есть и элегантные варианты, на мой вкус. 

Я много внимания уделила тому, насколько та или иная техника может вас выдать. И надеюсь, что аналитики SOC вынесут из статьи хотя бы несколько вещей, на которые стоит обращать внимание.

Буду благодарна за любую обратную связь. Если вдруг вы знаете еще какие-то техники или интересные приемы, о которых я не написала, обязательно поделитесь. Потому что процесс закрепления в системе очень творческий. Особенно, если у вас есть права root.

Читать далее
Total votes 30: ↑28 and ↓2+35
Comments30

Настройка ядра Linux для повышения производительности памяти

Reading time4 min
Views27K

Linux старается оптимизировать использование памяти, занимая свободное место кэшем. Если память никак не используется, то это память, потраченная впустую.

Кэш заполняется данными по мере работы системы и когда приложениям требуется память, ядро ищет среди страниц кэша блок подходящего размера, освобождает его и выделяет приложению.

В некоторых случаях этот процесс может влиять на производительность, поскольку освобождение кэша занимает больше времени, чем просто доступ к неиспользуемой оперативной памяти. Поэтому иногда можно наблюдать снижение производительности.

Причина этого исключительно в том, что оперативная память используется на полную мощность, и других симптомов, кроме случайного эпизодического увеличения задержек, может и не быть. Такая же картина может наблюдаться, если жесткий диск не справляется с чтением и записью. Влияние может быть и на такие компоненты операционной системы как сетевая карта / iptables / ebtables / iproute2 — вместо реальной причины вы видите проблемы в сетевой задержке. В этой статье обсудим это подробнее и посмотрим, как минимизировать воздействие на систему.

Читать далее
Total votes 17: ↑9 and ↓8+3
Comments11

Callback или «Повышаем лояльность клиентов»

Reading time6 min
Views3.9K
Имеется asterisk, группа операторов (3-5 человек) с большой нагрузкой (среднее время ожидания > 2 минут)

Задача — для абонентов с определенной географией дать возможность не ждать пока оператор освободится, а нажав 0 услышать «Спасибо за звонок. Мы Вам обязательно перезвоним», отключиться и спокойно ждать звонка от оператора ну или в простонародье по умному Callback
Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments1

Asterisk + LUA: быстрый старт

Reading time6 min
Views29K
За последний год на Хабре появилось несколько статей про использование диалплана lua в asterisk (раз, два, три, четыре). Это достаточно интересный способ написания гибких и мощных диалпланов. Но чтобы попробовать такой способ написания диалпланов надо потратить некоторое количество времени: установить нужные библиотеки, пересобрать с необходимыми опциям астериск.

Вдобавок у многих пользователей asterisk'а разный уровень подготовки: кто-то ближе к системному администрированию или даже к традиционной телефонии, чем к программированию. Плюс специфика телефонии — лучше лишний раз незнакомыми экспериментами не нагружать работающие системы, а проводить тесты и эксперименты на своем ноутбуке — приходится захламлять систему. В общем, есть немало причин «отложить на потом».

В данной статье я хочу показать всем желающим и работающим с астериском, как, используя docker, можно быстро ощутить вкус гибких сценариев lua. А уж затем решить стоит этим пользоваться дальше на практике или нет. (Кому неинтересно читать, а интересно смотреть и слушать — в конце текста 6-минутное видео с основными моментами и результатом.)


Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments0

Как мы переводили MIKOPBX с chan_sip на PJSIP

Reading time7 min
Views14K

MIKOPBX - это бесплатная АТС с открытым исходным кодом на базе Asterisk 16. Год назад мы взялись за переход на PJSIP. Основные причины:

- PJSIP поддерживает "множественную регистрацию"

- PJSIP более гибок в настройке

- chan_sip не развивается, объявлен deprecated в Asterisk 17

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments12

Почему для косметики не делают клинических исследований?

Reading time10 min
Views6K
image

На первый взгляд выглядит так: можно взять любые вещества, смешать их в любую комбинацию, зарегистрировать как косметику и начать продавать в аптеках. Вместо безопасного фуфломицина можно собрать чуть ли не слюну Чужого. И вот эти средства никоим образом не испытываются клинически. Никаких двойных слепых плацебо-контролируемых исследований (это почти как когда два хирурга читают ЭКГ).

Вопрос простой: почему так?

Если коротко, то:

  • По экономическим причинам.
  • Из-за ограниченности возможных комбинаций и побочных эффектов.
  • Потому что токсикологическое и микробиологическое исследования заменяют часть клиники по безопасности.
  • Потому что косметика по определению не может иметь никакого эффекта на внутреннюю часть человека.

Это отдельные причины, и сейчас пройдёмся по ним отдельно.
Читать дальше →
Total votes 17: ↑16 and ↓1+20
Comments29
1

Information

Rating
Does not participate
Date of birth
Registered
Activity