• Настройка BGP для обхода блокировок, версия 2, «не думать»

    • Tutorial

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


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


    • линукс-машина (ubuntu) вне поля блокировок;
    • роутер Mikrotik, на который вы уже подняли VPN-туннель до этой линукс-машины;
    • настроенный NAT на этом туннеле, позволяющий вам работать через него;
    • желание.

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


    Те, кто уже всё сделал по мотивам предыдущего поста, в этом полезной информации не почерпнут.

    Читать дальше →
  • Разблокируем интернет с помощью Mikrotik и VPN: подробный туториал

    • Tutorial

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

    В качестве VPN я выбрал SoftEther: он настолько же прост в настройке как и RRAS и такой же быстрый. На стороне VPN сервера включил Secure NAT, других настроек не проводилось.

    В качестве альтернативы рассматривал RRAS, но Mikrotik не умеет с ним работать.  Соединение устанавливается, VPN работает, но поддерживать соединение без постоянных реконнектов и ошибок в логе Mikrotik не умеет.

    Настройка производилась на примере RB3011UiAS-RM на прошивке версии 6.46.11.
    Теперь по порядку, что и зачем.
    Читать дальше →
  • Настройка BGP для обхода блокировок, или «Как я перестал бояться и полюбил РКН»

    Ну ладно, про «полюбил» — это преувеличение. Скорее «смог сосуществовать с».


    Как вы все знаете, с 16 апреля 2018 года Роскомнадзор крайне широкими мазками блокирует доступ к ресурсам в сети, добавляя в "Единый реестр доменных имен, указателей страниц сайтов в сети «Интернет» и сетевых адресов, позволяющих идентифицировать сайты в сети «Интернет», содержащие информацию, распространение которой в Российской Федерации запрещено" (по тексту — просто реестр) по /10 иногда. В результате граждане Российской Федерации и бизнес страдают, потеряв доступ к необходимым им совершенно легальным ресурсам.


    После того, как в комментариях к одной из статей на Хабре я сказал, что готов помочь пострадавшим с настройкой схемы обхода, ко мне обратились несколько человек с просьбой о такой помощи. Когда у них всё заработало, один из них порекомендовал описать методику в статье. Поразмыслив, решил нарушить свое молчание на сайте и попробовать в кои-то веки написать что-то промежуточное между проектом и постом в Facebook, т.е. хабрапост. Результат — перед вами.

    Читать дальше →
  • Превращаем DSLogic U2Basic в DSLogic Plus

    • Tutorial
    Привет, Хабр!

    В данной статье расскажу как модифицировать DSLogic U2Basic до DSLogic Plus.

    Данная статья является обновлением статьи — Превращаем DSLogic Basic в DSLogic Plus

    Кому интересно — прошу под кат.
    Читать дальше →
  • Организация интранета (автоматизация ИТ-продакшена). Часть 1 — Пользователи и почта

    • Tutorial


    Рано или поздно у любой ИТ компании (аутсорс или продуктовой) возникает желание организовать собственное пространство, где можно хранить информацию по проектам, сотрудникам, продажам. Вести рабочую переписку и обсуждать задачи/стратегии/документы. Чаще всего, такие компании начинают кодить все сами или пилят что-то для Битрикс24 и тд. В данной серии статей я расскажу о нашем велосипеде — опыте автоматизации процессов. Как положено, почти все self-hosted, opensource и постараемся обойтись почти без кодинга.

    Читать дальше →
  • Арбитраж трафика: как мы слили рекламный бюджет на нативную рекламу в нише эссe

      Арбитраж трафика — привлекательная тема для желающих заработать в Интернете. Мы не стали исключением и решили попробовать. Начали со сбора информации на хабре, в блогах, форумах, Ютуб каналах. Вводных статей, в которых доступно изложены основные понятия арбитража, в сети достаточно, нам очень помогла вот эта. Мы также встретили большое количество расчетов воронок и готовых «рабочих» схем заработка в этой сфере с убедительными историями успеха в качестве подтверждения. Хотя серьезные публикации честно предупреждают о том, что сегодня рынок требует приличного багажа знаний и опыта, чтобы стабильно выходить в плюс. При этом основным инструментом здесь является быстрое тестирование гипотез и за каждый эксперимент приходится платить. На наш взгляд в сети не хватает реальных историй «глупых» ошибок на конкретных примерах, которые бы помогли начинающему арбитражнику избежать расходов там, где заведомо нет профита и которые могут принести разочарование в самом начале пути. Своей публикацией мы хотели бы сделать первый шаг в устранении этого пробела. Будем рады, если кому-нибудь наша статья добавит понимания, сэкономит время и деньги, а также любым мнениям по поводу связки, описанной ниже и наших «манипуляций» с ней.


      Читать дальше →
    • IDA Pro: работа с библиотечным кодом (не WinAPI)

      • Tutorial

      Всем привет,



      При работе в IDA мне, да и, наверняка, вам тоже, часто приходится иметь дело с приложениями, которые имеют достаточно большой объём кода, не имеют символьной информации и, к тому же, содержат много библиотечного кода. Зачастую такой код нужно уметь отличать от написанного пользователем. И, если на вход библиотечного кода подаются только int, void * да const char *, можно отделаться одними лишь сигнатурами (созданные с помощью FLAIR-утилит sig-файлы). Но, если нужны структуры, аргументы, их количество, тут без дополнительной магии не обойдёшься… В качестве примера я буду работать с игрой для Sony Playstation 1, написанной с использованием PSYQ v4.7.

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

      • Tutorial

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


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


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

      Читать дальше →
    • 90+ полезных инструментов для Kubernetes: развертывание, управление, мониторинг, безопасность и не только


        Осенью 2018 года мы опубликовали список из 25 полезных инструментов Kubernetes. С тех популярность платформы сильно выросла. Экосистема оркестрации контейнеров бурно развивается, можно найти вспомогательные инструменты практически для любой задачи.

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

        Читать дальше →
      • Расследование: что выше, чем приоритеты потоков в Windows?

        • Перевод
        Это расследование, как и многие другие, началось с того, что я занимался собственными делами, не пытаясь искать себе проблем. На этот раз всё, что я сделал — открыл крышку ноутбука и попытался выполнить вход в систему.

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

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

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

        Мне потребовалось несколько раз, чтобы получить полностью устраивающую меня трассировку ETW. И поскольку эта территория была для меня незнакомой, на выяснение происходящего потребовалось какое-то время. Я по-прежнему не полностью разобрался в проблеме, но на 90% понял причины её возникновения. Мне удалось многое узнать, в том числе некоторые новые подробности о Windows-планировщике, а также я обнаружил абсолютно эффективное решение.

        Идеальная трассировка, которую я в конце концов записал, при загрузке в Microsoft Windows Performance Analyzer (WPA) выглядит так:


        Стандартные события, окна в фокусе и использование ЦП

        Эта таблица и два графика содержат кучу информации. Верхняя таблица (Generic Events) показывает записанные UIforETW нажатия клавиш. Я пытался нажимать клавишу (код виртуальной клавиши 162) раз в секунду, пока не появится поле ввода пароля. Так как эти 17 нажатий клавиши выбраны, в графике ниже они показаны вертикальными синими линиями для упрощённой визуализации времени выполнения критически важных событий. По оси x отложено время в секундах.
        Читать дальше →
        • +37
        • 9,9k
        • 9
      • Промышленный подход к тюнингу PostgreSQL: эксперименты над базами данных". Николай Самохвалов

          Предлагаю ознакомиться с расшифровкой доклада Николая Самохвалова "Промышленный подход к тюнингу PostgreSQL: эксперименты над базами данных"


          Shared_buffers = 25% – это много или мало? Или в самый раз? Как понять, подходит ли эта – довольно устаревшая – рекомендация в вашем конкретном случае?


          Пришло время подойти к вопросу подбора параметров postgresql.conf "по-взрослому". Не с помощью слепых "автотюнеров" или устаревших советов из статей и блогов, а на основе:


          1. строго выверенных экспериментов на БД, производимых автоматизированно, в больших количествах и в условиях, максимально приближенных к "боевым",
          2. глубокого понимания особенностей работы СУБД и ОС.

          Используя Nancy CLI (https://gitlab.com/postgres.ai/nancy), мы рассмотрим конкретный пример – пресловутые shared_buffers – в разных ситуациях, в разных проектах и попробуем разобраться, как же подобрать оптимальную настройку для нашей инфраструктуры, БД и нагрузки.


          Читать дальше →
        • Что в Белизне тебе моей или Справочное пособие по гипохлориту натрия («хлорке»)

          • Tutorial
          Не передать, насколько мне приятно это писать. Данная статья полностью профинансирована подписчиками канала LAB66. Ни один производитель описанных в тексте средств -  своего участия не проявил, так что никакой скрытой рекламы, чиcтый альтруизм и потребительский интерес :)

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


          Даешь нормальную Белизну!
        • Рецепты для хворающих SQL-запросов

            Несколько месяцев назад мы анонсировали explain.tensor.ru — публичный сервис для разбора и визуализации планов запросов к PostgreSQL.

            За прошедшее время вы уже воспользовались им более 6000 раз, но одна из удобных функций могла остаться незамеченной — это структурные подсказки, которые выглядят примерно так:



            Прислушивайтесь к ним, и ваши запросы «станут гладкими и шелковистыми». :)

            А если серьезно, то многие ситуации, которые делают запрос медленным и «прожорливым» по ресурсам, типичны и могут быть распознаны по структуре и данным плана.

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



            Давайте чуть подробнее рассмотрим эти кейсы — как они определяются и к каким рекомендациям приводят.
            Читать дальше →
          • Масло и водка: как мы избавляем ноутбуки от стикеров

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


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


              Нас зовут Артём Лелюхин и Павел Васильев, и мы работаем в той самой команде Авито. В этой статье мы расскажем об эффективных, абсурдных и даже опасных способах освободить ноутбук от стикербомбинга.


              Читать дальше →
            • Интеграция Satellite и Ansible Tower

                Используете Red Hat Satellite и Red Hat Ansible Automation Platform? Начиная с Satellite 6.3, их можно интегрировать друг с другом, чтобы Dynamic Inventory в Ansible Tower подтягивал списки хостов из Satellite. Кроме того, если хосты RHEL инициализируются средствами Satellite (имеется в виду provisioning), то в этот процесс можно встроить Ansible Tower, чтобы он автоматически запускал на новых хостах сценарии конфигурирования.



                В этом посте мы рассмотрим, как настроить Dynamic Inventory в Ansible Tower, чтобы он подтягивал хосты из Satellite, и на примерах покажем, как этим пользоваться. Кроме того, расскажем, как организовать автоматический вызов Ansible Tower после инициализации нового хоста из Satellite.
                Читать дальше: Интеграция Satellite и Ansible Tower
              • Инженерный подход к подаркам



                  За окном дождь, на календаре декабрь. Близится пора праздников, а значит и пора подарков. Коллега Павел желает себе новый ноутбук, а подруга Маша хочет домик у моря. И несмотря на достойный оклад профессии “тыжпрограммист”, мы не живём в мире бесконечных возможностей, а значит я не могу подарить этим людям именно то, чего они хотят больше всего (даже несмотря на то, что Паша может быть мой самый лучший Павел, которого я знаю, а Маша просто молодец).

                  Тут и появляется проблема “дешёвых подарков”. Подарить дорогой подарок всем не получается, а дарить очередную коробку конфет, свечку или невнятную статуэтку бог_пойми_чего просто не хочется. Значит нужно объединить приятное с полезным — я люблю делать вещи своими руками, а полученный результат отлично подходит в качестве подарка. Это рассказ о том, как я в очередной раз прикидывался инженером и рукожопил несколько подарков.
                  Читать дальше →
                • Zabbix 3.4: Массовый сбор данных на примерах счетчика Меркурий и smartmontools

                  • Tutorial


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

                  • сбор всех данных за раз, полученных в JSON от консольной утилиты счетчика электроэнергии Меркурий 236
                  • сбор показателей S.M.A.R.T. жестких дисков и SSD, полученных в табличном виде от smartmontools.
                  Читать дальше →
                • Обнаружение DDoS-атак «на коленке»

                  Приветствую, Хабр! Я работаю в небольшом интернет провайдере масштаба области. У нас транзитная сеть (это значит, что мы покупаем интернет у богатых провайдеров и продаем его бедным). Несмотря на небольшое количество клиентов и такое же небольшое количество трафика протекающего по нашей сети, довольно часто приходится иметь дело с весьма внушительными DDoS-атаками по 10-20Гбит/с. (чаще всего конечно это атаки гораздо меньшего калибра). И хотя некоторые из наших клиентов обзавелись уже системами обнаружения таких атак и могут самостоятельно отправить жертву в блек-холл, гораздо чаще обнаружение атаки и бан конкретного IP жертвы ложится на наши плечи (тем более, если атака способна забить наши внешние каналы).



                  О решении, которое помогает обнаруживать эти самые атаки и которое принято у нас в сети, я и хотел бы рассказать. Оно бесплатно, основывается на анализе данных NetFlow, поэтому просто и весьма эффективно.
                  Читать дальше →
                  • +22
                  • 11,2k
                  • 9
                • Docker контейнер для управления HP серверами через ILO

                  • Tutorial
                  Вы наверное может задаться вопросом — а здесь то Docker зачем? В чем проблема зайти на веб интерфейс ILO и настроить свой сервер как надо?

                  Так и я думал когда мне отдали пару старых ненужных серверов, которые мне надо было переустановить (то что называется reprovision). Сами сервер находятся за океаном, единственное что доступно это веб интерфейс. Ну и соответственно мне надо было зайти в Virtual Console для выполнения некоторых команд. Тут и началось.

                  Как известно для разного рода виртуальных консолей обычно используется Java, что в HP, что в Dell. Во всяком случае раньше так точно (а системы очень старые). Но Firefox и Chrome давно уже перестали поддерживать эти апплеты, да и не работает новый IcedTea с этими системами. Поэтому обозначилось несколько вариантов:
                  Читать дальше →
                • 40 каналов и чатов для тех, кто интересуется DevOps

                    Сфера DevOps развивается очень стремительно. Команда DevOpsDays Moscow составила список каналов и чатов для тех, кто интересуется DevOps и хочет оставаться в центре событий. Мы сами читаем эти каналы, а некоторыми даже руководим.

                    Все сообщества для удобства мы разделили на группы: общие, про инструменты, новостные и те, кого нет в телеграме. Надеемся, вам будет полезно.


                    Читать дальше →