Записки IT специалиста
9.02K subscribers
2.45K photos
38 videos
16 files
2.41K links
IT-канал, просто о сложном
https://interface31.ru

Купить рекламу:
https://telega.in/c/interface31
Download Telegram
Леса, домены и их хозяева

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

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

Что это значит? Что именно он содержит двух хозяев уровня леса: хозяина схемы и хозяина именования доменов. И если потеря всех контроллеров домена ведет к утере домена, то потеря всех контроллеров корневого домена ведет к утере леса.

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

Почему мы не можем захватить роль хозяина схемы произвольным контроллером? А потому что в лесу может быть только один хозяин и иерархию леса обслуживает корневой домен. Поэтому «лесные» хозяева ограничены пропиской только в пределах корневого домена.

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

Глобальный каталог, напоминаем, хранит все объекты леса и реплицирует их с другими глобальными каталогами. Контроллер, не являющийся глобальным каталогом, хранит и реплицирует объекты только своего домена.

А теперь про «вывод» отдельного домена, не являющегося корневым, из леса. Сразу говорим, что так делать нельзя. Архитектура Active Directory этого не позволяет. Именно архитектура, а не отсутствие пресловутого хозяина схемы.

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

Но хозяин схемы – уровень леса, а домен не является корневым. Т.е. уже на этом этапе возникает понимание, что мы в лесу не самые главные и сделать такого не можем. Но не потому, что контроллерам не хватает каких-то данных, а потому что нельзя. Нет таких полномочий.

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

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

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

Проще говоря, если отойти от этого подхода, то, как мы показали выше, никто не мешает бесконтрольно наплодить клоны лесов со всеми вытекающими. Ровно по той же причине мы теряем домен при утрате всех его контроллеров, хотя все данные этого домена есть на любом глобальном каталоге в лесу.
🔥11👍3❤1
Караван-сарай или величественный собор?

Наткнулся я тут случайно на такой проект, как CBSD, это это обёртка из sh-скриптов (преимущественно) вокруг подсистемы jail, гипервизоров bhyve, QEMU / NVMM и Xen для BSD операционных систем.

Какого-либо нового функционала в ОС на данном этапе не внесено — всё, что могут делать скрипты CBSD, можно сделать командой (командами, десятками, сотнями команд) в CLI через соответствующие утилиты.

Глядя на сайт, я сначала подумал, что это еще один заброшенный проект десятилетней давности, но нет, проект жив и даже куда-то там барахтается…

При том, что на дворе 2026 год и в мире Linux давно есть мощные и удобные продукты виртуализации, такие как Proxmox.

И здесь снова и снова вспоминаешь старое высказывание разработчиков FreеBSD про караван-сарайный принцип разработки Linux, где систему могут дорабатывать все, кто не лень, в противопоставление которому ставились принципы разработки FreeBSD, которую они сравнивали с величественным собором, который возводит небольшая группа архитекторов.

Время расставило все на свои места и Linux из караван-сарая превратился в современный технопарк, а величественный собор так и стоит недостроенным.

При этом за последние 10-15 лет FreeBSD серьезно утратила позиции превратившись в ОС для энтузиастов и маргиналов. Ну и то место, где код можно взять и ничего назад не отдавать.

И все эти заявления, мол BSD используется в macOS, PlayStation, Juniper, NetApp и т.д. выглядят нелепо и смешно, на уровне школьных разборок: «а у меня брат – каратист».

Действительно, кивать на более успешные проекты можно только в отсутствие собственных достижений. Тем более, что все вышеперечисленное – закрытые коммерческие ОС и никто не знает сколько там чего от FreeBSD и насколько это переписано.

А со своим там действительно все плохо, на попытку разработать собственную графическую оболочку с использованием только BSD технологий - Lumina без слез не глянешь.

С доставшейся по наследству ZFS тоже приключилась неприятность, так как из всех вариаций ZFS наиболее активно развивалась ZFS on Linux, то в 2018 году было принято решение, что новая версия OpenZFS 2.0 будет базироваться на кодовой базе для Linux и уже из нее портироваться на другие системы.

Ну и наконец старая история с использованием кода BSD в стеке TCP/IP Windows, которую можно охарактеризовать словами: слышал звон, да не знаю где он.

При выпуске на рынок Windows 3.11 Microsoft потребовалось добавить туда поддержку TCP/IP, а так как собственный стек еще был в разработке, то было лицензировано решение от компании Spider Systems, которое было написано с применением кода FreeBSD. С ним же в Windows попали основанные на коде BSD утилиты, предназначенные для нового стека ftp, rcp и rsh и т.п.

Но у стека Spider был один существенный недостаток, он был завязан на собственную среду STREAMS, которую тоже пришлось портировать на Windows и нести связанные с ней накладные расходы.

Собственный стек TCP/IP Microsoft, созданный с нуля, вышел в конце 1994 года и поставлялся с Windows NT, а также позже вошел в состав Windows 95.

Но, несмотря на новый стек, часть утилит переписывать не стали и оставили прежними. Действительно, зачем переписывать клиент FTP если он хорошо работает и законным образом лицензирован? Но именно последний момент, а именно отсылка к лицензии BSD и дала повод различным досужим теориям о BSD стеке TCP/IP в Windows.

А мы еще раз глянем на картинку выше: справа величественный собор, слева – караван-сарай. Не перепутай!
👍13👎5❤3
Please open Telegram to view this post
VIEW IN TELEGRAM
🤮1
Ubuntu 26.10 прекращает поддержку Btrfs, XFS и ZFS для каталога /boot при включённом Secure Boot

🙎‍♂️ Автор: Joey Sneddon

Компания Canonical изменила процедуру загрузки Ubuntu 26.10 на системах с включённым Secure Boot, чтобы сократить поверхность атаки (attack surface) на этапе начальной загрузки.

Подписанная сборка загрузчика GRUB в Ubuntu 26.10, которая используется исключительно при активном Secure Boot, больше не поддерживает размещение каталога /boot на файловых системах Btrfs, XFS, ZFS, а также поверх томов LVM, шифрования LUKS и программных RAID-массивов (за исключением RAID1).

Кроме того, из этой сборки удалена поддержка файловой системы HFS+, схемы разметки Apple Partition Map (APM), а также модулей загрузки фоновых изображений в форматах JPEG и PNG.

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

В то же время при включённом Secure Boot Ubuntu 26.10 по-прежнему поддерживает /boot на:

▫️ext4;
▫️FAT (включая системный раздел EFI);
▫️ISO9660 (для загрузки с CD/DVD-носителей);
▫️Squashfs (для snap-пакетов).

Если же режим Secure Boot отключён, загружается полная сборка GRUB без функциональных ограничений. Это означает, что любые нестандартные конфигурации /boot и кастомизация интерфейса GRUB (включая графические фоновые заставки) продолжат работать как обычно.

🔸 Зачем Canonical пошла на эти изменения?

Canonical анонсировала планы по облегчению (урезанию) кодовой базы GRUB ещё в начале этого года. Реакция сообщества тогда оказалась, мягко говоря, прохладной: пользователи со специфическими схемами разбивки дисков (некоторые из которых ранее настраивались через экспериментальные опции официального установщика) были крайне недовольны перспективой потери работоспособности своих систем.

Именно поэтому Canonical решила внедрить данное изменение в промежуточном выпуске сразу после LTS-релиза. Пользователи, которым критически необходимы как включённый Secure Boot, так и полный набор функций GRUB, могут оставаться на Ubuntu 26.04 LTS (эта версия обеспечивается поддержкой до 2036 года в рамках подписки Ubuntu Pro или до 2041 года с пакетом Legacy Add-on).

❗️Главная цель нововведения — информационная безопасность.

GRUB находится на самых ранних этапах цепочки доверенной загрузки (boot chain) Ubuntu. При стандартной загрузке с Secure Boot микропрограмма материнской платы (UEFI) передаёт управление подписанному загрузочному коду shim, который проверяет цифровую подпись и запускает бинарник GRUB. Далее встроенные в GRUB парсеры анализируют разметку диска и файловые структуры, чтобы найти файл ядра Linux и передать ему управление.

Однако именно эти парсеры файловых систем за последние годы стали источником множества критических уязвимостей, позволявших обойти Secure Boot (а развитие LLM лишь ускоряет поиск и потенциальную эксплуатацию подобных брешей).

Логика инженеров Canonical проста: чем меньше сторонних парсеров выполняется в пространстве загрузчика до передачи управления ядру Linux, тем меньше потенциальных возможностей скомпрометировать цепочку доверия (chain of trust).

🔸Затронет ли это большинство пользователей?

Несмотря на кажущуюся радикальность изменений на машинах с включённым Secure Boot и затрагивают исключительно путь загрузки (boot path).

LVM, программный RAID, шифрование LUKS, Btrfs и ZFS полностью поддерживаются и доступны в Ubuntu 26.10 даже при включённом Secure Boot — но строго после того, как управление передано ядру Linux.

Если вы опасаетесь проблем с совместимостью, перед обновлением до 26.10 обязательно проверьте конфигурацию вашего каталога /boot на соответствие списку поддерживаемых файловых систем.

Впрочем, подавляющее большинство пользователей данные изменения не затронут: штатный инсталлятор дистрибутива изначально размечает дисковое пространство по стандартной, полностью совместимой с Secure Boot схеме (с выделенным /boot или корнем на ext4/FAT).
👍9❤3👎3
Роутеры Mikrotik и Wi-Fi

В комментариях некоторые читатели удивились, мол почему мы назвали «народными» роутеры серии L009, ведь есть же практически такой же по цене hAP ax3 у которого двухдиапазонный современный Wi-Fi.

Да, это так, только вот практического толку в этом немного и это давно ни для кого не секрет. Решения Mikrotik в области беспроводной связи всегда отличались странным подходом и крайне специфичной реализацией.

И если можно сказать, что роутеры латышам удались отлично, то также честно можно сказать, что с Wi-Fi у них (не считая мосты) – полный провал.

Нет, если вам нужно просто покрыть некоторое помещение, чтобы телефончики с него выходили в интернет, но не более - Mikrotik подойдет, в остальном – лучше даже не пытайтесь.

В устройствах «классической» линейки вызывало недоумение само применяемое оборудование, которое было устаревшим еще в момент его выхода на рынок. А все потому, что инженеры Mikrotik шли по пути наименьшего сопротивления и использовали для Wi-Fi то, что уже встроено в SoC.

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

Кстати, по тому же пути они пошли и в линейке L009, странная конфигурация Wi-Fi в нем (только 2,4 ГГц, зато AX), обусловлена наличием такого беспроводного контроллера в SoC, ну а раз он есть, то не пропадать же добру.

И вот в новых ARМ моделях появилось вроде бы адекватное и современное железо, те же ax2/ax3 имеют на борту производительный контроллер 802.11ax Qualcomm и, казалось бы, дело должно пойти на лад.

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

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

Ходят слухи, что все это потому, что мы не умеем их настраивать. А настроек там много, очень много, по идее, если их освоить мы должны получить космический звездолет, который унесет наш Wi-Fi на недосягаемую высоту.

Но ни один гуру так и не раскрыл секрета этих настроек, которые наверно представляют страшную тайну и шепотом передаются на смертном одре от отца к сыну…

Я честно пытался дать вторую жизнь Wi-Fi на hAP ax2 и настроить хотя бы устойчивую работу со скоростью тарифа провайдера – 100 Мбит/с, что для AC/AX вообще довольно смешная цифра.

Но увы, не осилил и под напором домашних пошел и купил два Xiaomi Router AX3000T, по цене примерно по 3000 рублей, что в пять раз дешевле моего ax2 в современных ценах.

Китайцы просто заработали из коробки обеспечив по квартире стабильную связь до 450 Мбит/с по квартире, что для AC клиентов очень неплохо. А домашние спросили почему нельзя было так сделать сразу.

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

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

Нет, когда-то это была прорывная в своем сегменте технология, но сегодня это просто средство быстро раскидать настройки по точкам, таким же бестолковым как остальное беспроводное оборудование Mikrotik.

А чтобы посмотреть, как должен выглядеть и что уметь современный контроллер беспроводной сети посмотрите на Uni-Fi или Omada, последний вообще можно назвать бюджетным, поддерживающие его точки доступа TP-Link относятся к среднему ценовому диапазону.

Поэтому при рассмотрение оборудования Mikrotik мы не берем во внимание Wi-Fi, потому что мы покупаем эти устройства не для этого, а для работы в роли роутера под управлением RouterOS, что у них получается наилучшим образом.
1👍42👎10💯5👀4🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23
Родина слышит

Данная заметка написана на злобу дня, в противовес расхожему мнению, что через отечественные сертификаты нас всех расшифруют и… В общем, отправят пилить лобзиком ангарскую сосну на свежем морозном воздухе.

На самом деле никто никогда не скрывал, что отечественный УЦ предназначен в первую очередь для крупных игроков: финтех, госы, электронные сервисы, которые в 2022 чуть было не остались без валидных сертификатов.

Но неокрепшие умы и примкнувшие к ним лица старательно разгоняют тему, что мол отечественный УЦ — это первый шаг к государственному MitM, когда весь трафик расшифруют и никому потом мало не покажется.

Но никто так и не потрудился обосновать – зачем? Какая цель всего этого действа? И кто будет всем этим заниматься?

Ведь расшифровать трафик – это только начало. Его надо проанализировать и выявить… Что выявить? Да пес его знает. Адепты данной теории заговора не склонны к логике, они просто эмоционально нагнетают – могут, значит сделают!

А теперь я предлагаю каждому тупо собрать трафик домашней сети за сутки и вдумчиво его проанализировать. Когда вы скажете – нафиг нужно? Через полчаса? Час? А там еще этого трафика вагон и маленькая тележка. И, самое главное, что это даст?

По факту занятие это чудовищно дорогое и столь же чудовищно неэффективное. Ибо 99,5% трафика – это хлеб и зрелища, крайне далекие от интересов «товарища Майора».

А теперь подумаем, если некто Имярек засветился у т. Майора, то он явно засветился в публичном поле и если его личность неизвестна, то какой смысл в расшифровке трафика? И даже если мы смогли локализовать его до города, то все равно объем информации будет фактически неподъемным для любого регионального отдела хоть МВД, хоть ФСБ, нет там столько людей.

Но если наш Имярек засветился в соцсети, форуме или ином ресурсе, владелец которого гражданин РФ, то органы просто пошлют к нему запрос, в котором попросят выдать всю информацию по Имяреку.

И это не только IP, но и временная активность, социальная активность и т.д. Т.е. когда Имярек заходит на ресурс, кого он лайкает, кто лайкает его, на кого он подписан, кто подписан на него и т.д. и т.п.

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

Эта методика давно отработана оффлайн, проста, дешева и привычна. А слабое звено найдется всегда. Особенно если утром вас выдернут из постели хмурые мужики в штатском.

И к чему тут расшифровка трафика? Совсем ни к чему. Это сложно и дорого. А тут простая и понятная любому оперу отработка социальных связей.

Ладно, наш Имярек весь такой зашифрованный и нигде не прокололся, ходит только через VPN. Так тут тоже все довольно просто. Видим, что наш пассажир заходил в такое-то время через вот этот сервис на этот ресурс.

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

И уже через несколько итераций мы фактически получим данного пассажира на блюдечке. А если у него свой VPN-сервер, то срисуют его фактически мгновенно.

А дальше что? Перехватим и расшифруем его трафик? Зачем? Проще просто прийти рано утром, вытащить пассажира из теплой постельки, положить лицом в пол, устроить маски-шоу, дать проникнуться и поговорить по душам.

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

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

Поэтому не надо искать черную кошку в темной комнате, особенно если ее там нет.
👎32🤔13💯11👍7🤣6
Что не так со своей почтой?

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

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

Это процесс доставки, обеспечить который на приемлемом уровне – это задача со звездочкой. Любой IP-адрес из диапазона массовых хостингов находится у крупных операторов в серой зоне и имеет нулевую репутацию.

Чтобы более-менее с вами «начали разговаривать» необходим долгий и муторный прогрев адреса, причем очень и очень аккуратный.

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

Нет, попытаться вытащить и прогреть адрес можно, но зачем? Потому что доставка – это процесс, который вы не можете контролировать. Современные сервера не отбивают подозрительные письма с NDR, а тупо отвечают 250 2.0.0 OK: message queued for delivery.

В логах все хорошо, письмо ушло, а вот дальше оно или ложиться в папочку Спам, которую никто не читает, либо вообще растворяется в blackhole. Почему? А просто потому, что принимающей стороне что-то там не понравилось или вообще так сошлись звезды.

А потом менеджер сидит и гадает почему нет реакции на коммерческое предложение, где оплата по счету или почему контрагент не подписывает акты. А контрагент ни сном ни духом, он ничего не получал.

И после того, как в результате такого инцидента сорвется крупный контракт или организация сорвет сроки разговор по поводу «своей почты» будет совершенно иной.

При том реально что-то сделать в этой ситуации нельзя, максимум вы можете достучаться до админов такой же как вы по уровню конторы с собственным почтовиком. Кто-то покрупнее с вами даже разговаривать не станет, не та весовая категория.
1🤡18👍16🥱2
Базовая настройка роутера MikroTik с RouterOS 7

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

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

Основной особенностью роутеров Mikrotik является то, что все они работают под управлением одной и той же операционной системы RouterOS, а значит и настраиваются полностью одинаково.

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

Все современные устройства выпускаются с RouterOS 7 - актуальной версией операционной системы, которая активно развивается и поддерживается.

RouterOS 6 является устаревшей и поддерживается только в части устранения уязвимостей, в данной статье рассматривать ее мы не будем. При необходимости настроить RouterOS 6 обратитесь к материалу:

🔹 Базовая настройка роутера MikroTik

Все настройки в рамках данной статьи мы будем проводить при помощи утилиты WinBox 4, которая в скором времени станет безальтернативной, поддержка классического WinBox 3 будет прекращена в ближайшее время.

Также отдельно будут даны команды для повторения всех описанных действий в терминале.

✅ Читать далее: https://interface31.ru/post/bazovaya-nastroyka-routera-mikrotik-7-winbox-4/

Статья вышла большая и подробная, одних только картинок 60 шт.
4🔥28👍6👌3🤔1😱1
Использование Routing Rules в роутерах Mikrotik

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

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

Можно воспользоваться брандмауэром, но есть способ лучше - Routing Rules. Это правила, используемые при маршрутизации и которые в ряде случаев позволяют решать задачи фильтрации более дешево и эффективно, нежели брандмауэр.

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

Правила Routing Rules начнут работать уже после того, как решение о маршрутизации принято.

Немного напомним, основной задачей маршрутизации является поиск интерфейса выхода среди непосредственно присоединенных сетей (т.е. интерфейсов маршрутизатора).

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

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

Очень многие ошибочно считают, что на этом процесс выбора маршрута завершен, но это не так. Да, мы знаем куда нам надо пройти, но не знаем как.

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

Если же узел назначения недоступен – поиск продолжается. Правило маршрутизации по умолчанию – lookup – поиск. И если маршрут не будет найден в собственной таблице, он будет продолжен в основной.

Поэтому, если мы не хотим, чтобы при отказе одного провайдера пакет уходил другому, то нам следует ограничить поиск только собственной таблицей маршрутизации, установив правило lookup-only-in-table.

В качестве критериев задаем метку маршрутизации и таблицу маршрутизации. Фактически правило читается так: для всех пакетов с меткой такой-то ограничить поиск таблицей маршрутизации такой-то.

Но это далеко не все. В качестве критериев мы можем использовать адреса источника и назначения, а также интерфейс.

В действиях нам также доступны drop, который молча блокирует пакет и unreachable, который отравит ICMP-ответ с сообщением о недоступности узла назначения.

Это можно использовать для ограничения доступа между сетями или отдельными узлами без использования брандмауэра.

Но выбирая тот или иной способ надо всегда руководствоваться здравым смыслом и общей читабельностью правил, так как для других ваших коллег фильтрация на уровне таблиц маршрутизации может оказаться в диковинку.
👍15❤2
Реальное положение дел в диапазоне 5 ГГц
 
С этой проблемой сталкивается каждый, кто хоть немного углубляется в беспроводные сети и радиопланирование. С переходом на 5 ГГц кажется, что счастье стало доступно, вот оно, рядом, только протяни руку. Только непересекающиеся каналы, широкие диапазоны.
 
Но гладко было на бумаге, а на практике… Давайте смотреть. В РФ для диапазона 5 ГГц выделены два несмежных участка — 5150–5350 МГц (U-NII-1 и U-NII-2A) и 5650–5850 МГц (часть U-NII-2C и U-NII-3/ISM). А также 5850–5925 МГц (U-NII-4), который доступен только для стандартов 802.11ax/be.
 
Сегодня в потребительской электронике преобладает стандарт 802.11aс (Wi-Fi 5) и поэтому, если вы хотите поднять универсальную и совместимую беспроводную сеть, про U-NII-4 забываем минимум лет на пять.
 
Теперь про U-NII-2A/С – это диапазоны с DFS (Dynamic Frequency Selection), которые делятся с радарами: военными, авиационными, погодными и точки доступа не должны создавать для них помех.
 
Получив радарный импульс или помеху, похожую на радарный импульс (что в городской застройке не редкость), точка обязана в срок до 10 сек полностью замолчать, допускается экстренная рассылка в течение 200 мс управляющих кадров CSA, которые сообщают клиенту о срочной смене частоты.
 
Переключившись на другую частоту в DFS диапазоне, точка обязана молчать в течение минуты и сканировать диапазон на предмет сигналов радаров и только убедившись, что их тут нет, она начинает вещание.
 
Сам канал, на котором был обнаружен радар ставится в бан на 30 минут. И если эта точка осталась в DFS-диапазоне, то канал в 80 МГц тут же разваливается до 40 МГц или вообще 20 МГц, в зависимости от того, какую новую центральную частоту точка выбрала.
 
Аналогичные проблемы есть и у ISM-канала 165 (5825 МГц), многие устройства попав на него сжимают канал до 20 МГц, так как в U-NII-3 эта частота не входит.
 
Ну и вишенка на торте – совместимость. В США все указанные каналы разрешены и проблем с устройствами, сертифицированными FCC, не будет. В Европе запрещены каналы U-NII-3/ISM, а также 144 канал U-NII-2C. Китайские устройства массово игнорируют U-NII-2A/С, чтобы не реализовывать поддержку DFS.
 
Отдельную головную боль доставляют топовые устройства, с поддержкой 802.11d Country Code, обычно это техника Apple и Samsung, но не ограничиваясь ими. Они определяют регион по маякам точек доступа.
 
И если какая-то точка передала европейский или китайский регион, то клиент тут же включит региональные ограничения. И для этого достаточно всего одной такой точки. Если же точка, типа Mikrotik передает что-то типа superchannel без какой-либо региональной привязки, то такое устройство может включить самые строгие ограничения.
 
Что мы имеем в сухом остатке? Только U-NII-1, как универсальный и совместимый со всеми диапазон. Плюс U-NII-3, если вы точно уверены, что у вас нет европейских устройств и никакая точка рядом не передает европейский регион.
 
Про U-NII-2A/С забываем как про страшный сон, равно как и про U-NII-4, либо ставим для последнего отдельную точку для топовых устройств.

✅ Подробнее про частоты и диапазоны можно почитать здесь: https://interface31.ru/post/normativnoe-regulirovanie-wi-fi-v-rf/
🤔21❤8😢3💯2🤝1
Токены как хранилища ключевой информации

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

Многие не понимают функции токена как носителя ключевой информации и чем он принципиально отличается от других вариантов хранения, например, флешки, реестра или директории на диске.

🔹 Начнем с самого простого – пассивного носителя ключевой информации, его характерный представитель – Rutoken Lite.

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

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

В чем тогда выгода от такого токена? В том, что для доступа к защищенному хранилищу и закрытому ключу в нем требуется дополнительное ПО – программный криптопровайдер. Просто так получить доступ к ключу и скопировать его не получится.

Что касается флешки, реестра, директории – то скопировать ключ может любой, кто имеет доступ к файловой системе или ветви реестра, что создает широкий спектр угроз при несанкционированном доступе к ПК, вирусном заражении и т.д. и т.п.

Можно ли извлечь подпись с такого токена? Можно, с помощью того же программного криптопровайдера. Это штатная возможность, мы можем скопировать контейнер с ключевой информацией на другой токен, флешку, в реестр.

Такая подпись называется экспортируемой. Но мы можем изменить такое поведение и установить для ключевого контейнера признак неэкспортируемого, это стандартный признак подписи выдаваемой ФНС России.

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

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

🔹 Для надежной защиты подписи следует использовать неизвлекаемые контейнеры на активных носителях ключевой информации.

Такие токены содержат в своем составе специальный чип, выполняющий криптографические операции прямо внутри токена. Закрытый ключ никогда не покидает такие устройства. Также действующие инструкции прямо запрещают для таких токенов внешнюю генерацию закрытого ключа (это технически возможно).

Дополнительный плюс таких токенов – они не требуют программного криптопровайдера. Типичный пример активного токена - Рутокен ЭЦП 3.0.

Расположенные на таких носителях ключи являются неизвлекаемыми (не путайте с неэкспортируемыми).

Они делятся на два вида:

▫️ PKCS#11 – международный стандарт неизвлекаемых подписей, широко поддерживается всеми видами ПО.

▫️ ФКН (функциональный ключевой носитель) – отечественный стандарт, более современный чем PKCS#11 и по многим параметрам его превосходит.

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

Но в любом случае даже самый простой токен обеспечивает гораздо более безопасное обращение с электронной подписью, нежели иные способы ее хранения.
👍21❤2🤔1
Про «реальную производительность» и APDEX

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

Мы специально взяли фразу «реальная производительность» в кавычки, потому что за ней кроется нечто непонятное, которое каждый понимает по-своему. Вот прямо сейчас попробуйте отвлечься от прочтения заметки и попытайтесь сформулировать определение этому термину.

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

А теперь сделаем некоторое лирическое отступление. IT-отдел подразделение сугубо затратное, прибыли оно не приносит. Его задача обеспечивать бизнес-процессы. Прибыль при этом генерируют совсем другие подразделения.

Задача бизнеса – зарабатывать деньги. Бизнесу все равно насколько оно там технически правильно или какая «реальная производительность» в попугаях. Ему это не интересно, ему нужно чтобы работали производящие прибыль подразделения и поэтому мнение пользователей этих подразделений всегда будет иметь больший вес, чем мнение обслуживающих их айтишников.

Если пользователи такого подразделения говорят, что система работает плохо, то вы можете до посинения показывать результаты бенчмарков и уверять, что с вашей стороны все хорошо, вон целых 100 попугаев по Гилеву, должно все летать… Ответ будет прост – не летает, пользователи недовольны.

А в соседней конторе может стоять точно такой же сервер, с точной такой же конфигурацией 1С и там все довольны. Это как так? Почему?

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

Основным фактором влияния для APDEX является целевое время выполнения операции, если операция укладывается в период T – все довольны, если выходит за пределы 4T – полностью разочарованы.

Собранные результаты обрабатываются и нормируются по шкале от 0 до 1, где 0 – полностью разочарованы, 1 – полностью довольны.

👉 Результаты интерпретируются по шкале:


▫️0.00 - 0.50 неприемлемо
▫️0.50 - 0.70 очень плохо
▫️0.70 - 0.85 плохо
▫️0.85 - 0.94 хорошо
▫️0.94 - 1.00 отлично

APDEX вычисляется для каждой ключевой операции, что позволяет учесть конкретные потребности бизнеса и особенности его бизнес-процессов.

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

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

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

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

Если большинство пользователей говорит, что система работает так себе, то принимаем индекс APDEX за 0,65 – плохо, выясняем реальное время выполнения операции и на его основании рассчитываем желаемое T.

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

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

Также APDEX всегда позволяет дать ответ в каком текущем состоянии находится наша система и вовремя обосновать тот же апгрейд показав руководству вполне объективные данные, которые подтвердят, что жалобы пользователей имеют под собой реальные основания.
👍12❤1
Зачем они варят пингвина в котле?

А вообще от Mageia 10 впечатления удручающие, налицо не только стагнация, но и деградация. Разработчики явно не понимают, что окружающий мир изменился и современный пользователь предъявляет совершенно иные требования, чем пользователь десять лет назад.

Ну и предлагать любая система должна не пакеты, репозитории и номера релизов, а некоторые ценности, которые тут размыты и фактически утеряны. Хотя это современная участь многих дистрибутивов в современных условиях стандартизации и унификации Linux.

Скоро будет обзор.
🤔7👍3
Mageia 10 - такое волшебство нам не нужно!

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

Один из них - это Mandrake, позже Mandriva, первый реализовавший работающую концепцию "Linux с человеческим лицом". Но все проходит и современный Linux с его стандартизацией и унификацией, давно уже не тот и старые подходы в нем больше не работают.

Немного истории: Mandrake Linux появился в 1998 году (версия 5.1) и стал во многом революционным, если не сказать культовым, так как одним из первых предложил пользователям простые графические утилиты для управления системой и доказал, что Linux может быть простым и дружелюбным к простому человеку.

Разработкой занималась французская фирма, которая пыталась найти пути извлечения коммерческой прибыли из дистрибутива. Затем произошло объединение с бразильской Conectiva и дистрибутив был переименован в Mandriva.

В 2010 году из-за финансовых трудностей компания сократила подразделение разработчиков Mandriva, которые приняли решение о создании собственного форка системы - Mageia (от греческого - магия), в дальнейшем остальные права на Mandriva, после банкротства компании, перешли к российской РОСА.

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

✅ Читать далее: https://interface31.ru/post/mageia-10-takoe-volshebstvo-nam-ne-nuzhno/
🤔11🥱3❤2👍2👀2
Настраиваем политику паролей в Linux

Во многих дистрибутивах Linux (а более подробно мы будем говорить о Debian / Ubuntu) политика паролей по умолчанию не установлена, и никто не помешает нам установить слабый пароль, даже «123».

Это неправильно, поэтому мы сейчас займемся более гибкой настройкой политики паролей. Для этого сначала установим в систему необходимые пакеты:

apt install libpam-pwquality


После чего откроем файл /etc/security/pwquality.conf, который отвечает за политику паролей. Опции будут перечислены в порядке их перечисления в файле со значениями по умолчанию:

Количество символов, на которые новый пароль должен отличаться от старого.

difok = 1 


Минимальная длина пароля

minlen = 8 


При составлении пароля учитываются классы символов, их четыре: прописные буквы, строчные буквы, цифры и специальные символы.

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

Следующие опции позволяют начислять дополнительные кредиты за каждый класс символов:

dcredit = 0 – цифры
ucredit = 0 – прописные буквы
lcredit = 0 – строчные буквы
ocredit = 0 – специальные символы


Таким образом, если мы установим dcredit = 1, то пароль pass123 получит 10 кредитов, что будет эквивалентно его длине в 10 символов.
Если же мы установим количество кредитов меньше нуля, то это будет требованием минимального количества символов данного класса, например, ocredit = -2 – не менее двух специальных символов в пароле.

Для того, чтобы сочетать в пароле разные классы символов мы можем задать необходимое количество классов:

minclass = 0


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

Для повышения сложности пароля можем задать максимально допустимое количество повторений одного символа:

maxrepeat = 0


Рядом есть другая опция, которая задает максимальное количество повторения символов одного класса:

maxclassrepeat = 0


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

В первом случае пароль АААА не пройдет, а пароль ABCD пройдет, так как символы разные. Во втором не пройдут оба, так как и там и там символы одного класса.

Учетная запись пользователя в Linux имеет специальное поле GECOS, которое может содержать его реальное имя, телефон, адрес почты и т.д. Мы можем проверить пароль на наличие в нем общедоступной информации:

gecoscheck = 0


При установке значения в единицу при нахождении в пароле данных GECOS он не будет пропущен.
Также мы можем осуществлять проверку по словарям cracklib (ставятся по зависимостям):

dictcheck = 1


Следующая проверка исключает использование имени пользователя в пароле:

usercheck = 1


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

usersubstr = 0


Если установить его равным трем, то сочетание ivanov:ivan123 будет запрещено, равно как vano456, а iva123 будет пропущен.

Следующая опция устанавливает количество попыток ввода пароля:

retry = 3


Но есть одна тонкость, все эти правила не распространяются на пользователя root, чтобы изменить это поведение просто раскомментируйте опцию:

enforce_for_root

Как видим, настроить политику паролей в Linux не сложно, но это позволит значительно повысить безопасность системы и не допустить использования слабых или словарных паролей.
👍20❤2
Записки IT специалиста
​​И еще немного про алиасы в PowerShell PowerShell предлагает большой набор встроенных алиасов, про них мы подробно писали в нашей прошлой заметке. И предназначены они сугубо для интерактивного использования внутри командной оболочки, т.е. для сокращения…
И еще немного про алиасы в PowerShell

PowerShell предлагает большой набор встроенных алиасов, про них мы подробно писали в нашей прошлой заметке.

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

Это как раз решает проблему многословности PowerShell при интерактивном использовании.

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

Созданные алиасы без проблем можно выгружать и загружать на другой машине, для этого следует использовать команды Export-Alias и Import-Alias.

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

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

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

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

А возможность использовать короткую и немногословную нотацию у него есть, для чего нужно просто ознакомиться со списком встроенных алиасов.
👌8😁3🔥2🤔2
Selectel обновил пользовательское соглашение. А что там? Правильно:

6.4. Исполнитель не несет ответственности за убытки Заказчика, возникшие в связи с нарушением Соглашения Исполнителем вследствие:

воздействия любых видов вооружения и средств поражения (включая, в частности, летательные аппараты и ракетное вооружение), в том числе применяемых с оборонительными целями, актов терроризма или диверсии, если такое воздействие затрагивает деятельность Исполнителя и (или) контрагентов Исполнителя (включая, в частности, энергосети, каналы связи и иную инфраструктуру);
либо

принятия органами государственной власти или местного самоуправления нормативных актов или решений, которые ограничивают или приостанавливают деятельность Исполнителя.


В общем, спасение утопающих - дело рук самих утопающих.
🤝19😁9👍5🤬2
Авторское право – не пустой звук

Сегодня с одним нашим коллегой и молодым автором произошел крайне неприятный случай. Он имел неосторожность использовать для КДПВ (картинки для привлечения внимания) стоковое изображение не озаботившись уточнить авторские права и лицензию.

И это никого до сего дня не волновало, пока он не получил претензию от одной юридической фирмы, которая утверждала, что он нарушил авторские права и теперь круто всем должен, но они готовы решить вопрос за «смешные» 55 тыс. руб.

Он обратился за советом в сообщество авторов, но ответы получил самые разные. Кто-то советовал просто забить, кто-то удалить и сделать вид, что ничего не было, а кто-то - просто тянуть время.

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

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

А юридически претензия говорит, что мы зафиксировали нарушение авторского права на вашем сайте при помощи сервиса автоматической фиксации доказательств «ФИКСАТОР». Т.е. факт нарушения есть и зафиксирован. Пойти в отрицалово здесь не получится.

Идем далее. Обычно тут спрашивают, а автор или сток вообще в курсе? С какого перепуга какое-то ООО Рога и Копыта предъявляет претензии? А по договору цессии (уступки требования). Это распространенная практика, когда автора за фиксированную сумму или процент передает право требования компенсации третьим лицам.

А дальше вы даже можете найти автора и поговорить с ним, а он скажет, что первый раз вас слышит и никаких претензий к вам не имеет. Но что толку, если право требования от передал третьему лицу? Он и не имеет права с вас что-то требовать.

Зачем ему это надо? Он делегировал это право или за фиксированную оплату, или за процент, у него все хорошо. Право продавать это фото на стоках и получать прибыль он не утратил.

А что у нас там еще осталось? Пусть докажут? Так презумпция невиновности есть только в уголовном праве. В гражданском праве есть принцип состязательности. Если коротко, то если вы заявили какое-то обстоятельство, то именно вы должны его доказать и никак иначе.

Возвращаясь к нашему делу – тут есть фиксация правонарушения через «ФИКСАТОР», т.е. истцу ничего доказывать не нужно. Наоборот, нужно доказать отсутствие факта правонарушения ответчиком.

Ну и реальные перспективы:

Ответчик морозится, булькнул в тину. Дело уходит в суд, суд удовлетворяет требования, плюс вешает на ответчика пошлину и юридические издержки истца: 55 + 10 + 20 = 85 тыс. руб.

Ответчик приходит в суд и апеллирует на то, что правонарушение совершено им впервые, он сразу его устранил, не был, не участвовал, не привлекался.

Итог: требования истца удовлетворены частично: 10 + 10 +20 (компенсация + пошлина + юридические услуги).

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

А что тут делать?

Ну в общем и целом не размещать у себя картинки, защищенные авторским правом. А если попали, то торговаться. Мол есть 15 тыс. руб. сейчас, а иначе попробуйте что-то с меня через приставов взять, активы я на жену вывел.

Там тоже понимают, что лучше живые деньги сейчас, чем исполнительный лист когда-то потом. Поэтому если договорились на 20-25 тыс. – то это нормально.

А правило простое – не нарушайте. Далее мы разберем все риски технического блогера и дадим советы. Но пока – всегда думайте, что у каждого изображения есть автор и он далеко не пацифист, а скорее давно продал право требования.
🤔10🤬8🥱3🤝2❤1
В чем сходство и в чем различие ZRAM и ZSWAP

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

1️⃣ Начнем с ZRAM. Эта технология создает в оперативной памяти блочное устройство и использует его в качестве пространства подкачки. Выделенная оперативная память сразу резервируется и не может быть использована системой.

Цель ZRAM – за счет сжатия предоставить системе большее количество доступной оперативной памяти, чем есть на самом деле. Это достигается за счет сжатия.

Средний коэффициент сжатия для LZ4 – 2,5, это значит, что, выделив для ZRAM 1 ГБ оперативной памяти мы получаем в свое распоряжение 2,5 ГБ очень быстрого swap, что позволяет достаточно эффективно решить вопрос нехватки ОЗУ.

Например, для машины с 4 ГБ ОЗУ, что по нынешним временам критический минимум, мы можем, разделив память пополам получить эквивалент 6-8 ГБ ОЗУ что радикально поменяет в лучшую сторону пользовательский опыт работы с системой.

Но за все нужно платить, за ZRAM мы платим процессорными ресурсами и ухудшением параметров доступа к сжатой памяти. Если сравнивать латентность доступа, то мы получим следующие цифры:

▫️Обычная RAM ~80–120 нс
▫️ZRAM (LZ4) ~1–5 мкс
▫️NVMe swap ~50–150 мкс
▫️SATA SSD swap ~200–500 мкс
▫️HDD swap миллисекунды

Как видим, ZRAM дает существенный рост латентности (в 10-50 раз), но все еще остается самым быстрым пространством подкачки, потому что даже при использовании быстрого NVMe разница будет уже на порядок.

Ну и ситуация, когда где-то что-то немного подтормаживает гораздо лучше ситуации, когда все стало колом из-за нехватки памяти.

Но если средняя латентность растет относительно незначительно, то вот рост tail latency (Tail latency (p95 / p99)) оказывается гораздо более высоким, что может приводить к заметным фризам и каскадному росту задержек.

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

2️⃣ Теперь перейдем к ZSWAP, это Write Back кеш для пространств подкачки, общего с ZRAM у него только то, что он тоже использует сжатую память. В остальном это совершенно другая технология.

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

Задача ZSWAP кеша – уменьшить количество обращений к пространствам подкачки на дисках, а выгода здесь также получается от сжатия данных.

Например, в системе с 16 ГБ памяти для ZSWAP по умолчанию резервируется 20% или 3,2 ГБ, что эквивалентно (для LZ4) примерно 8 ГБ несжатой памяти. Т.е. получаем неплохой такой раздел подкачки прямо в ОЗУ.

Что касается латентности, то она ничем не отличается от ZRAM, но в случае ZSWAP это только плюс, так как латентность сжатой памяти в 50-100 раз ниже, чем латентность быстрых NVME и на порядок лучше обычных дисков.

Это позволяет эффективно сглаживать пиковые нагрузки и уменьшает рост p95 / p99, что позитивно сказывается на чувствительных к задержкам рабочих процессах.

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

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

‼️ Что касается совместного применения ZRAM и ZSWAP, то это не только лишено всякого смысла, но и серьезно ухудшает латентность, а также увеличивает нагрузку на CPU за счет двойного сжатия, потому что в этом случае у нас получится цепочка:

RAM – ZSWAP – ZRAM – SWAP

Поэтому так делать не нужно. А рекомендации просты:

🔹Мало памяти, нет особых требований к латентности – ZRAM

🔹Достаточно памяти, но требуется сгладить пики и улучшить производительность - ZSWAP
👍13👌6❤3🤔3