• Трансляция RTSP в WEB. Конвертация в HLS. Коробочное решение

    Была задача: собрать все RTSP потоки с видео-регистратора (netsurveillance) и предоставить оперативный доступ к видео-потоку для нескольких человек. Так как ни один браузер не умеет самостоятельно отображать RTSP протокол, то необходимо было найти что угодно, лишь бы могло конвертировать этот поток в пригодный для WEB формат.
    Читать дальше →
  • FreeBSD. Путь сетевого пакета внутри ядра

      1. Файрвол PF в ОС FreeBSD
      2. FreeBSD. Фильтрация трафика PF
      3. FreeBSD. трансляции, тэги и якоря в PF
      4. FreeBSD. Условная маршрутизация средствами PF
      5. FreeBSD. Путь сетевого пакета внутри ядра. <- Вы здесь

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



      Мы не будем разбирать уровни драйвера сетевой карты (2 уровень модели OSI), а сразу поднимемся на 3 уровень, где работает tcp/ip стек ядра.

      Читать дальше →
      • +11
      • 4.7k
      • 3
    • Файрвол PF в ОС FreeBSD

        Введение



        1. Файрвол PF в ОС FreeBSD < — Вы здесь
        2. Фильтрация трафика PF
        3. FreeBSD. Трансляции, тэги и якоря в PF
        4. FreeBSD. Условная маршрутизация средствами PF
        5. FreeBSD. Путь сетевого пакета внутри ядра


        В Рунете есть множество статей о настройке FreeBSD и PF, но все они разрозненны и несистематичны. А за любыми более-менее интересными вещами, такими, как маршрутизация средствами файрвола (Policy Based Routing), приходится читать оригинальную документацию, например, OpenBSD PF FAQ. Однако, есть отличия в синтаксисе команд для FreeBSD и OpenBSD. В этом цикле статей мы пробуем систематизировать и разобрать возможности PF от простого к сложному. Наверняка, эта вводная статья будет похожа на все остальные статьи о Packet Filter. Поэтому тем, кто уже знаком с базовыми возможностями, будет не интересно. Однако, без вступления не обойтись, а мясо будет в следующих статьях.

        Читать дальше →
      • О спасении от удушья в своей квартире или лонгрид о современной вентиляции

        О спасении от удушья в своей квартире или лонгрид о современной вентиляции 

        За окном зима, еще не закончилась пандемия коронавируса. Некоторые компании даже не думали переводить сотрудников обратно в офис, а кто-то и так всегда работал из дома. Изолировавшись в своих квартирах, многие стали замечать, что работать там, порой, сложнее чем в офисе. Одолевает усталость, апатия, сонливость. Думается не так хорошо, как в родном опенспейсе.

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

        Читать далее
      • Бесплатное программное обеспечение для IP-камер

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

          В итоге, как нам кажется у нас получился самый полный список программного обеспечения для систем видеонаблюдения.

          Все программное обеспечение разбито на три группы:

          • Программное с открытым исходным кодом
          • Бесплатное программное обеспечение с ограниченным функционалом
          • Программное обеспечение бесплатное в течении пробного периода

          image
          Читать дальше →
        • Мониторинг дисковой подсистемы VMware через CIM/Zabbix

            В 2021 году уже известно, что Zabbix предлагает в качестве средства комплексного мониторинга инфраструктуры VMware набор шаблонов, использующих функционал Low Level Discovery (LLD) и элементы типа Host prototype, в которых создаются стандартные списочные сенсоры из известных vCenter'у. Однако отнюдь не все вендоры оборудования корректно публикуют сенсоры или счетчики своих устройств в доступном для vCenter виде. Здесь рассматривается в подробностях настройка мониторинга для всё ещё поддерживаемых, но не отображающих состояние в vCenter контроллерах дисковой подсистемы Adaptec SmartRAID.

            Читать далее
          • Приточная вентиляция совмещенная с канальным кондиционером (часть 2 — водяная)

              drawing

              Хочу поделиться опытом проектирования, монтажа и эксплуатации своей системы приточной вентиляции совмещенной с канальным кондиционером. Система
              собиралась в 2012-2013 годах и с тех пор находится в постоянной эксплуатации.


              Статью разделил на две части:


              • в первой части была описана классическая схема приточная вентиляции с использованием электрического канального подогревателя
              • в этой части расскажу про неоднозначный опыт переработки системы под водяной калорифер с питанием от общедомовой системы отопления
              Читать дальше →
            • Проверка сайта на уязвимости своими силами с использованием Wapiti

                image
                В прошлой статье мы рассказали о Nemesida WAF Free — бесплатном инструменте для защиты сайтов и API от хакерских атак, а в этой решили сделать обзор популярного сканера уязвимостей Wapiti.


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


                Nikto, W3af (написан на Python 2.7, поддержка которого закончилась) или Arachni (с февраля более не поддерживается) — наиболее популярные решения, представленные в бесплатном сегменте. Разумеется, есть и другие, например, Wapiti, на котором мы решили остановимся.

                Читать дальше →
              • Что нам стоит WAF настроить



                  Занимаясь разработкой или обслуживанием веб-приложений, в какой-то момент времени приходится сталкиваться с необходимостью использовать WAF (Web Application Firewall). Если опыта работы с такого класса решением у вас нет или устали от постоянных ложных срабатываний, я расскажу, как упростить задачу, а также поделюсь советами и фишками. В качестве инструмента будем использовать Nemesida WAF Free — бесплатную версию Nemesida WAF.
                  Читать дальше →
                • Systemd для продолжающих. Part 2 — Триггеры на различные события

                  • Tutorial

                  Продолжаем цикл популярного балета, под названием «Systemd для продолжающих». В этой части, являющейся логическим продолжением предыдущей, поговорим о различных триггерах не связанных со временем. Эта часть будет не такой объёмной, но, не менее интересной. Вперёд!

                  Попробовать стащить сыр!
                • Systemd для продолжающих. Part 1 — Запуск юнитов по временным событиям

                  • Tutorial

                  Всем привет! В последнее время я вплотную занимаюсь исследованием возможностей systemd и решил поделиться результатом исследований с сообществом, в виде небольшого (или большого, как пойдёт ;-) цикла статей. Итак первым номером нашей программы будет запуск юнитов по различным событиям происходящим во время работы ОС. В качестве исследовательской платформы будет выступать Manjaro Linux c systemd v247.2. И... да. Некоторые события, вынудили меня написать внеочередную статью, которая «взлетела на вершину хит-парада», а опрос показал, что тема актуальна и вызывает интерес, так что погнали!

                  Нырнуть в кроличью нору!
                • Почему хабражители предпочитают велосипеды, вместо готовых решений? Или о systemd, part 0

                  • Tutorial

                  С Новым Годом Хабр!
                  Первого января все нормальные люди занимаются прокрастинацией, уничтожением стратегического запаса оливье и прочими, не связанными с физической или интеллектуальной нагрузкой вещами. Вот и я планировал присоединиться к этой новогодней армии, но не тут-то было!

                  Во всём виноват Хабр!
                • Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон, часть 2

                  • Tutorial

                  Я продолжаю выразительно пересказывать документацию Ансибла и разбирать последствия её незнания (ссылка на предыдущую часть).


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


                  Мы будем разбирать каждый элемент инвентори (кроме host_group_vars plugin) и обсуждать зачем он, как его использовать правильно, и как неправильно.


                  Оглавление:


                  • Что такое хост? (и немного про транспорты)
                  • Доступ IP vs FQDN; inventory_hostname vs ansible_host
                  • ansible_user — писать или не писать?
                  • Группы
                  • Переменные: в инвентори или в плейбуку?
                  • Классификация инвентори по происхождению.
                  Читать дальше →
                • Готовим PostgreSQL в эпоху DevOps. Опыт 2ГИС. Павел Молявин

                    PGConfRu2019 Павел Молявин — «Готовим PostgreSQL в эпоху DevOps. Опыт 2ГИС»**



                    Всем привет! Меня зовут Павел! Я работаю в компании 2ГИС. Наша компания – это городской информационный справочник, навигационный сервис. Это очень хорошая штука, которая помогает жить в городе.

                    Читать дальше →
                  • Основы Ansible, без которых ваши плейбуки — комок слипшихся макарон

                    • Tutorial

                    Я делаю много ревью для чужого кода на Ансибл и много пишу сам. В ходе анализа ошибок (как чужих, так и своих), а так же некоторого количества собеседований, я понял основную ошибку, которую допускают пользователи Ансибла — они лезут в сложное, не освоив базового.


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


                    Ожидаемый уровень читателя — уже написано несколько тысяч строк ямла, уже что-то в продакшене, но "как-то всё криво".

                    Читать дальше →
                  • Введение в Puppet

                      Puppet — это система управления конфигурацией. Он используется для приведения хостов к нужному состоянию и поддержания этого состояния.


                      Я работаю с Puppet уже больше пяти лет. На мой взгляд, его официальная документация хороша для тех, кто уже знаком с Puppet, а для новичка она сложна — сразу даётся много новых терминов; непонятно, в каком порядке читать. Эта статья — по сути переведённая компиляция ключевых моментов из официальной документации, которая позволит новичкам быстро вникнуть в суть Puppet. Я переупорядочил информацию, чтобы постепенно рассказать про все сущности и термины.


                      Читать дальше →
                    • Как подружить Zabbix с Asterisk «из коробки»

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

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

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

                        В наличии заббикс 4.4, около 100 штук Астерисков 13 версии. Какие-то АТС идут с веб интерфейсом FreePBX, какие-то с голой консолью, кучей хитростей и интеграцией через диалплан.
                        Читать дальше →
                        • +11
                        • 5.2k
                        • 4
                      • Zabbix — расширяем макро границы

                        Делая решение для клиента, возникло 2 задачи, которые хотелось решить красиво и штатным функционалом Zabbix.

                        Задача 1. Отслеживание актуальной версии прошивки на роутерах Mikrotik.

                        Задача решается легко — добавлением в шаблон HTTP агента. Агент получает актуальную версию с сайта Mikrotik, а триггер сравнивает актуальную версию с текущей и в случае расхождения выдает алерт.

                        Когда у вас 10 роутеров, такой алгоритм не критичен, а что делать с 3000 роутеров? Слать 3000 запросов на сервер? Работать, конечно, такая схема будет, но сама идея 3000 запросов меня не устраивала, хотелось найти другое решение. К тому же, недостаток в подобном алгоритме все-таки был: другая сторона может посчитать такое количество запросов с одного IP за DoS атаку, могут просто забанить.

                        Задача 2. Использование сессии авторизации в разных HTTP агентах.

                        Когда через HTTP агент нужно получать информацию с «закрытых» страниц, нужна кука авторизации. Для этого обычно существует стандартная форма авторизации с парой «логин/пароль» и установкой ID сессии в куку.

                        Но есть проблема, нельзя из одного айтема HTTP агента обратиться к данным другого айтема для подстановки этого значение в Header.

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

                        Немного поразмыслив над этими задачами, решил использовать макросы, которые отлично видны в любой части системы мониторинга: в шаблонах, хостах, триггерах или айтемах. А обновлять макросы можно через API веб интерфейса.
                        Читать дальше →
                      • Кластер PostgreSQL высокой надежности на базе Patroni, Haproxy, Keepalived

                        • Tutorial
                        Привет, Хабр! Встала передо мной недавно задача: настроить максимально надежный кластер серверов PostgreSQL версии 9.6.

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

                        Планируя кластер я проштудировал много статей, как из основной документации к PostgreSQL, так и различных howto, в том числе с Хабра, и пробовал настроить стандартный кластер с RepMgr, эксперементировал с pgpool.

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

                        В итоге где-то (уже не вспомню точно где) нашел ссылку на прекрасный проект Zalando Patroni, и все заверте…
                        Читать дальше →
                      • Колоноскопия. О деликатной теме без насмешек

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

                        Современный мир дает возможность многим работать из дома. Особенно сейчас, в «короновирусную» эпоху еще больше людей работают удаленно и перестали ездить на работу. Это значит, что в домашней обстановке в основном сидят, долго сидят и смотрят в монитор. Справедливости ради, надо сказать, что и офисная жизнь не располагает к подвижности. Про вред долгого смотрения в монитор я пока не готова рассказать, а вот долгое сидение точно приводит к проблемам с ЖКТ (желудочно-кишечный тракт). Плюс многие не пьют достаточное количество воды, не едят клетчатку, стрессуют, а это все приводит к некоторым проблемам, которые могут длиться годами. Рано или поздно многие приходят к необходимости сделать колоноскопию. Если хотите узнать про это деликатное исследование подробнее – добро пожаловать под кат. В статье есть описание многих физиологических тем, которых принято стесняться, кому-то может быть просто неприятно, также есть немного ужастиков, так что впечатлительным особам лучше воздержаться от чтения.
                        Читать дальше →