Домашний DPI, или как бороться с провайдером его же методами

5 месяцев 4 недели ago

Долгое время я терпел ограничения РосКомНадзора и соответствующие действия провайдеров по различным ограничениям доступа к сайтам - но с определённого момента устал, и начал думать как бы сделать так, чтобы было и удобно, и быстро, и при этом с минимумом заморочек после настройки... Хочу оговориться, что цель анонимизации не ставилась.

Вообще, эта проблема имеет несколько решений... Но я решил бороться с провайдером их же методом.

...При помощи NGINX!
Evengard

Чиним резолвинг адресов в VPN-локалке (openconnect) для docker и systemd-resolved

6 месяцев ago
Для подключения к корпоративной сети у нас используется CiscoAnyConnect, работает хорошо, но не с докером. Как только докер пытается приподнять свою сеть, утилитка тут же отрубает VPN и переподключает. От этого докер себя плохо чувствует. Поэтому я решил использовать обычный линуксовый openconnect соместно с NetworkManager.
Читать дальше →
3draven

[Перевод] Заметки о Unix: работа с GNU grep и обязательное применение опции -a (--text)

6 месяцев ago


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

grep -hv 'a specific pattern' "$@" | exigrep '...' | [...]
Я, столкнувшись этим, чего только себе не напридумывал.
Читать дальше →
ru_vds

Запуск Linux с виртуального диска vmdk на реальном железе и VirtualBox

6 месяцев ago

Возникла необходимость обеспечить работу Linux как на виртуальной машине (VirtualBox), так и на реальном железе. После долгих поисков и попыток запускать Linux с виртуального диска формата VHD, по примеру Windows, которые либо слишком сложны, либо не работают, я пришел к достаточно простому способу сделать это. Правда не из дисков в формате VHD, а из образа раздела диска в формате VMDK.

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

Производительность распределенного хранилища: препродакшн тесты

6 месяцев ago

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

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

Нужно сказать, что больше всего я работал с Ceph, поэтому в основном методология строится исходя из этого опыта, но, если не вдаваться в детали, то подход к тестированию более-менее одинаков для всех распределенных программных хранилищ данных (SDS).
Читать дальше →
alexey_zz

journald вместо syslog

6 месяцев 1 неделя ago

Использование journald как замена syslog'у для приложений с большим числом логов.Давным-давно, когда были дебаты о том, стоит ли принимать в качестве init-системы systemd (с одной стороны удобно, с другой стороны, довольно токсичный автор...), вместе с systemd приехал и journald. В целом, он ощущался как аппендикс к systemd, и вместе с ForwardToSyslog, он мирно жил на серверах. Дефолтная конфигурация в целом устраивала, а всё нужное можно было по-старинке накрутить в syslog'е.

В одном из проектов у нас образовалась потребность в обработке большого числа логов, и мы решили попробовать journald вместо (r)syslog(d|-ng). Оказалось, что:

journald решает все наши проблемы

документации по нему подозрительно мало (особенно, в сравнении с systemd)

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

Read more
amarao

Уязвимости неуязвимого Linux

6 месяцев 2 недели ago

Cреди обычных пользователей и даже ИТ-сотрудников распространено убеждение в повышенной безопасности ОС семейства Linux по сравнению с «дырявой виндой» и «попсовой макосью». Однако, как показало наше исследование, открытость исходников не избавляет Linux от ошибок и уязвимостей, которые несут риски, связанные с безопасностью. В этом посте мы рассмотрим, почему Linux стал привлекательной мишенью для злоумышленников, а также обсудим основные угрозы и риски, связанные с этой операционной системой. 

Читать далее
Trend_Micro

[Перевод] Заметки о Unix: С-функция main() — одно из мест, где видны различия между API пользовательского пространства и ядра Unix

6 месяцев 2 недели ago
В современных Unix-дистрибутивах часто проводят формальную границу между API, предоставляемыми пользовательскому пространству ядром, и Unix API, которые предоставляет программам «стандартная библиотека», под которой подразумевается стандартная библиотека C. Кое-кого, включая меня, это не вполне устраивает (я уже писал на эту тему). Но, независимо от того, что я об этом думаю, в Unix уже давно существует одно место, в котором видна разница между обычным API, которым пользуются все, и API, который реализован в ядре. Я говорю о традиционной точке входа в программы, написанные на языке C, о функции main(), с которой начинается выполнение таких программ.


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

Скринкаст терминала с помощью asciinema

6 месяцев 2 недели ago


Вы наверняка знакомы с asciinema (github), это удобный опенсорсный инструмент для записи действий в терминале. Записи сохраняются в простом для чтения текстовом формате, поэтому весят совсем немного, а веб-плеер по сути воспроизводит текст из терминала вместо видео, так что любой кусок можно скопировать и использовать. Готовый материал можно загрузить в одно нажатие на asciinema.org или сначала отредактировать локально. Плеер можно встроить на сайт буквально в три строки, бонусом прилагаются всякие плюшки с оформлением и совместимостью, и вообще по совокупности всех фич (и отсутствия головной боли) asciinema давно перерос все аналоги. Вот только есть несостыковка: записи в проекте называют asciicasts, по аналогии со скринкастами — но возможности стримить сессию в реальном времени не было несколько лет, пока не вышел релиз 2.0, в котором с помощью нового формата файлов удалось реализовать на удивление стабильную и удобную раздачу на любой терминал в реал-тайме. О том, как это работает, о подводных камнях и перспективах — под катом. Читать дальше →
host_m

[Перевод] Заметки о Unix: изъян архитектуры Unix и номер устройства, который выдаёт для файлов системный вызов stat()

6 месяцев 2 недели ago
Иногда можно слышать о том, что архитектура Unix не имеет существенных недостатков. Особенно — если говорить о «чистой» архитектуре Research Unix (которая существовала до того, как те, кто по-настоящему Unix не понимали, вроде людей из Berkeley и AT&T, занялись работой над этой ОС). Но, к сожалению, на самом деле это не так. Решения, принятые создателями Research Unix относительно некоторых аспектов системы, не всегда, в исторической перспективе, удачные, всё ещё нас преследуют. Один из примеров этого — часть атрибутов файла, возвращаемых системным вызовом stat() и похожими вызовами, содержащая так называемый «номер устройства» («device number») файловой системы, в которой находится файл. Рассуждения о причинах того, почему всё устроено именно так, выходят за рамки данного материала, а вот о самом «номере устройства» мы поговорим.


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

[Перевод] Кунг-фу стиля Linux: разбираемся с последовательными портами

6 месяцев 2 недели ago
Раньше последовательные порты были буквально повсюду. И они, в каком-то смысле, никуда и не делись, так как многое, что подключается к компьютеру по USB, на самом деле, выглядит для системы как последовательный порт. Проблема тут заключается в том, что в наши дни всё в мире завязано на компьютерные сети. Конечно, можно купить терминальный сервер, который преобразует последовательный порт в интерфейс Ethernet. Но это совсем не интересно. Здесь я хочу рассказать о том, как пробрасывать последовательные порты по сети с использованием существующих Linux-инструментов. Решение это не идеальное, оно оказывается работоспособным далеко не всегда, но если оно работает, то работает оно хорошо.


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

AD + Freeradius + Google Authenticator. Установка с нуля для Cisco Anyconnect и не только

6 месяцев 3 недели ago
Итак, у нас встала задача включить двухфакторную аутентификацию для Cisco AnyconnectVPN и некоторых других пакетов. Общими у всех задач есть одно – они умеют аутентифицироваться в Radius.

Существует большое количество платных решений (например Cisco DUO), но – платное не значит лучше и зачем платить больше?
Читать дальше →
ded_Pihto

Использование быстрых клавиш в командной строке Linux (BASH)

6 месяцев 3 недели ago

Эта статья посвящена наиболее часто используемым комбинациям клавиш при работе в командной строке Linux (в основном в командном интерпретаторе bash).

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

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

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

Читать далее
LinuxCertifiedInstructor

Bedrock Linux: лего-набор для создания идеального linux-дистрибутива

6 месяцев 3 недели ago


С момента появления Linux достаточно скоро возникло множество дистрибутивов: Slack, RedHat, Debian, SUSE и т. д. Тогда же возникла и проблема выбора дистрибутива, ведь каждый из них имеет свои особенности и преимущества, которые делают его особенным. RedHat и Debian наиболее стабильные и консервативные из дистрибутивов, Ubuntu заточен на удобство и имеет прекрасный пользовательский интерфейс, Gentoo — свобода выбора и гибкость.

У каждого пользователя Linux были моменты, когда ему не хватало некоторых функций, реализованных в других дистрибутивах. Многим в свое время не понравилось, что Debian перешел на systemd и они создали на его основе новый дистрибутив — Devuan. Некоторые перешли на Gentoo, где пользователь может создать среду с двумя системами инициализации: как с openrc, так и с systemd.

В разных дистрибутивах этот вопрос решается по-разному. Установка пакета, который отсутствует в штатном репозитории, решается с помощью docker-контейнеров, или использованием систем самодостаточных пакетов snap и flatpak. Можно даже ставить RPM пакеты на системах с пакетным менеджером DEB. В Gentoo имеется поддержка RPM и DEB пакетов. Все это работает, однако плохо масштабируется и не очень стабильно.

Создатели Bedrock Linux пошли дальше и создали полноценный мета-дистрибутив. В нем возможно использование не только пакетов, но и компонент различных Linux дистрибутивов, как кубиков Лего. В одном окружении можно создать систему из нескольких Linux OS, например установку дополнительных пакетов Ubuntu поверх базовых компонент Debian и Arch. Установочный скрипт доступен для следующих платформ.

  • aarch64;
  • armv7hl;
  • armv7l;
  • mips64el;
  • mips64;
  • mips;
  • mipsel;
  • ppc64;
  • ppc64le;
  • ppc;
  • s390;
  • x86_64;
  • x86;
Читать дальше →
ruvds

[Перевод] Как мы раскрыли 24-летний баг в ядре Linux

6 месяцев 3 недели ago

Захватывающий детективный рассказ о поиске и исправлении трудноуловимого и при этом весьма странного бага, который неведомым образом ускользал от обнаружения на протяжении долгих лет взросления системы Linux. В начале описывается предыстория и технологическая база компании, в которой этот баг постигло разоблачение, после чего автор подробно демонстрирует все предпринятые для его раскрытия шаги.
Читать дальше →
Bright_Translate

Linux, suspend to RAM и ИБП

6 месяцев 3 недели ago

В случае периодических, но достаточно кратковременных, отключений электроэнергии и наличии недорого ИБП с 1-2 аккумуляторами на 7 А.ч, не всегда есть смысл выключать компьютер пока не дадут свет. Особенно если вам долго и сложно поднимать рабочее окружение. Ниже будут приведены замеры потребления мощности для конкретного десктопа и стратегия работы с ИБП при нестабильном электричестве.

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

CentOS 7 и контроллер HPE B320i

7 месяцев ago

Понадобилось на днях установить старенький CentOS 7 на старенький ProLiant 360e Gen8. Задача уже экзотическая, но мало ли - вдруг кому-то пригодится, Maintenance updates для 7-ки обещаны еще до июня 2024. Сперва опишу проблему, далее будет пошаговое руководство.

Читать далее
imichael

Отлаживаем ядро из командной строки с bpftrace

7 месяцев ago

Это очередная статья из цикла «BPF для самых маленьких» (0, 1, 2) и первая из серии практических статей про трассировку Linux современными средствами.


Из нее вы узнаете о программе и языке bpftrace — самом простом способе погрузиться в мир BPF с практической точки зрения, даже если вы не знаете про BPF ровным счетом ничего. Утилита bpftrace позволяет при помощи простого языка прямо из командной строки создавать программы-обработчики и подсоединять их к огромному количеству событий ядра и пространства пользователя. Посмотрите на КПДВ ниже… поздравляю, вы уже умеете трейсить системные вызовы при помощи bpftrace!


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


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

Что лучше: дистрибутив Linux в яблочном стиле или нормальный хакинтош?

7 месяцев ago

Дистрибутив Trenta OS для публичного тестирования обещают выпустить в начале 2021 года

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

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

Выход есть: свободная и универсальная система Linux поддерживает любой GUI, в том числе «яблочный». Есть особые дистрибутивы с интерфейсом в стиле macOS или iOS — специально для пользователей с повышенными эстетическими запросами. И для тех, кто стремится вырваться из «огороженного сада» Apple, не теряя при этом чувство прекрасного.
Читать дальше →
host_m
Checked
2 минуты 48 секунд ago
habrahabr.ru/linux/
Настройка Linux – Вечный кайф
Подписаться на лента habrahabr.ru/linux/