Обновить
512K+

Настройка Linux *

Вечный кайф

63,29
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Опыты в домашней лаборатории: динамически обновляем записи приватной зоны DNS в OpenWRT

Уровень сложностиСредний
Время на прочтение20 мин
Охват и читатели14K

Моя домашняя лаборатория подключена к интернету через маршрутизатор с прошивкой OpenWRT. Развертывая локальный ACME сервер, я понял, что, независимо от применяемого типа валидации запросов, ACME должен найти в DNS полное доменное имя сервера, для которого запрошен сертификат.

В размышлениях, где же стоит хостить свою приватную DNS зону, меня озарило: «Но у нас уже есть дома DNS-сервер в OpenWRT. Наверняка можно удаленно обновлять записи в его локальной зоне».

TL;DR: В итоге пришлось поставить BIND

Опыты в домашней лаборатории: Эмулируем arm64 OpenWRT роутер в Proxmox VE

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели25K

В моей домашней лаборатории основная платформа виртуализации - Proxmox VE. Так как это все же дом, к интернету она подключена вместе со всеми остальными устройствами через обычный роутер с прошивкой OpenWRT.  

В большинстве экспериментов я практикую подход "если что-то пойдет не так... разберемся, а потом просто перезапустим терраформ". В ходе очередного такого эксперимента мне понадобилось перенастроить пару вещей глубоко внутри OpenWRT роутера, и внезапно пришло понимание, что домашний роутер совсем не эфемерный ресурс. На вопрос: «Если я окирпичу роутер, то смогу ли я его оживить без отвертки, паяльника и, самое главное, без доступа в интернет?» ответ был «¯\_(ツ)_/¯».  

Раз такое дело, сначала нужно потренироваться на кошках, а значит, нам понадобится эмулятор маршрутизатора OpenWRT. Причем arm64 версия, так как пакетная база между arm и x86 может существенно отличаться. На просторах интернета я не встретил инструкции, которая бы заработала сразу и была бы легко автоматизируема. Надеюсь, данный гайд заработает у вас "из коробки", а сэкономленное время пойдет на эксперименты.

Читать далее

Большие и не очень технологии в маленьком доме

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели8K

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

Читать далее

Немного о NixOS. Часть 1. Общая информация и установка

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели76K

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

Читать далее

Тюнинг производительности Zabbix — наш опыт

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели20K

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

Тюнинг производительности — обязательная часть работы администратора Zabbix. При росте количества узлов, количества собираемых элементов данных и снижению интервалов их сбора резко возрастает шанс столкнуться с бутылочными горлышками в производительности. Ключевые метрики, которые напрямую влияют на производительность — количество узлов (разумеется, с наполняемыми элементами данных) и количество новых значений в секунду. Чем их больше и чем меньше интервал сбора данных — тем больше нагрузка на инсталляцию Zabbix в целом. При этом, элементы данных типа Zabbix Trapper и SNMP-трап особого вклада в нагрузку не вносят. Подробности под катом.

Затюнить производительность

Как настроить почтовый сервер в Debian и Ubuntu с ispmanager, чтобы защититься от спама

Уровень сложностиСредний
Время на прочтение11 мин
Охват и читатели17K

Собрал способы по созданию и настройке безопасного почтового сервера на операционной системе Linux Debian 11 bullseye. Основное внимание уделил инструментам борьбы со спамом — таким как Greylisting, DNSBL и SpamAssassin.

Статья также пригодится, если используете операционные системы Ubuntu 22.04.4 LTS (Jammy Jellyfish), Ubuntu 20.04 LTS (Focal Fossa) и Debian 10 (buster). 

В этой статье рассмотрим:

- Как установить Exim и Dovecot

- Создание почтового домена и электронной почты

- Настройка DNS, rDNS записи и smtp_banner

- Защита от спама

Читать

systemD с 0 до 1: библия сисадмина

Уровень сложностиСредний
Время на прочтение27 мин
Охват и читатели107K


Что бы кто ни говорил, systemD становится стандартом систем инициализацией в линуксе. И с 80% вероятностью все сервера будут с systemD. Не факт, конечно, есть и личные сервера, на которых может стоять хоть Gentoo, хоть Devuan, хоть NixOS.

Некоторые дистрибутивы хотят даже перейти с загрузчика Grub на systemd-boot! Потому знать, как работать с данной системой инициализации, должен каждый сисадмин и просто программист, ибо сейчас он практически везде.

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

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

Почему нельзя парсить вывод ls(1)

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели24K

Команда ls(1) достаточно хорошо справляется с отображением атрибутов одного файла (по крайней мере, в некоторых случаях), но когда просишь у неё список файлов, возникает огромная проблема: Unix позволяет использовать в имени файла почти любой символ, в том числе пробелы, переносы строк, точки, символы вертикальной черты, да и практически всё остальное, что вы можете использовать как разделитель, за исключением NUL. Существуют предложения по «исправлению» этой ситуации внутри POSIX, но они не помогут в решении текущей ситуации (см. также, как правильно работать с именами файлов). Если в качестве стандартного вывода не используется терминал, в режиме по умолчанию ls разделяет имена файлов переносами строк. И никаких проблем не возникает, пока не встретится файл, в имени которого есть перенос строки. Так как очень немногие реализации ls позволяют завершать имена файлов символаи NUL, а не переносами строк, это не позволяет получить безопасным образом список имён файлов при помощи ls (по крайней мере, портируемым способом).

Читать далее

Настройка Git сервера с нуля

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели40K

Любой начинающий DevOps начинает своё знакомство с Git. Этот инструмент стал неотъемлемой частью рабочего процесса разработчиков по всему миру. Во многих курсах и руководствах по DevOps описывается настройка серверов через популярные платформы, такие как GitLab, а иногда и Gitea. Однако мне стало интересно попробовать другой путь — использовать встроенный в Git инструмент GitWeb.

Подробнее

Собираем полноценный NAS с 4 NVME дисками размером с небольшую книгу

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели72K

Увидев видео про эту плату, я подумал, что она по сути может быть полноценной медиа приставкой, файлопомойкой и торрентокачалкой одновременно и при этом занимать место размером с маленькую книгу формата А5 и кушать 5 ватт в простое, работая 24/7. Вкусно!

На самом деле несмотря на маркетинг, нормальная комплектация стоит порядка 175 долларов (а не 100, плюс доставка и растаможка) и диски, естественно не входят в эту цену. Речь идёт про плату CM3588 на базе системы на чипе RK3588. Маркетинговая страничкаспецификациявики. Комплектов на алике очень много вариантов (с корпусами и всякими доп. железками) - выбирайте очень аккуратно.

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

Что получилось, что не получилось?

Шпаргалка с командами для Windows, Linux и macOS (Терминал, VirtualEnv и Git)

Время на прочтение3 мин
Охват и читатели47K

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

В ней вы найдете основные команды для работы в терминале Windows, Linux и macOS. Также описаны базовые команды по работе с VirtualEnv и Git.

Смотреть команды

Проект инструментария по управлению каталогами Active Directory, Samba DC и FreeIPA. Часть 1: Постановка задачи

Время на прочтение7 мин
Охват и читатели10K

Привет, Хабр! Наша инициативная группа приступила к работе над интересным проектом, который претендует на определенную значимость в масштабе отечественной ИТ-индустрии. Речь идет об универсальном веб-инструментарии для централизованного управления разнородными службами каталогов для крупных холдингов и корпораций, будь то Microsoft Active Directory (MS AD), либо службы каталогов, основанные на Samba DC или FreeIPA. Разрабатываемое решение позволит осуществлять управление наиболее востребованными функциями из единой точки доступа вне зависимости от типа используемых в доменах служб каталогов.

Читать далее

Использование ModSecurity в Nginx — практика защиты проекта на WordPress

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели10K

ModSecurity, одно из наиболее популярных веб-приложений файрволов (WAF) в мире, помогает предотвращать различные виды атак на веб-приложения, включая SQL-инъекции, кросс-сайтовый скриптинг (XSS), фальсификацию межсайтовых запросов (CSRF) и другие угрозы. Инструмент работает как модуль для таких серверов, как Apache, Nginx и IIS. 

Альтернатива ModSecurity — многоуровневая система безопасности для блокировки атак на Linux-серверы BitNinja. Среди модулей платформы — WAF и AI-сканер. Специализируется на защите от SQL-инъекций, XSS, вирусов, Dos и использования форм сайта для спам-атак. BitNinja подойдет, если OpenSource-решение по какой-то причине не подходит. Подробнее о BitNinja в ispmanager расскажем в следующей статье. 

В этой статье рассмотрим:

1. Отключение ModSecurity в административной части сайта
2. Безопасные настройки php.ini
3. Защита PHPMyAdmin
4. Защита RoundCube
5. Защита WordPress

Читать

Ближайшие события

Что такое PID 0

Время на прочтение17 мин
Охват и читатели67K

Как говорится, «не будите во мне ботана». Иногда кто-нибудь беспечно задаст мне, казалось бы, невинный вопрос — и я убиваю следующие несколько часов (в описываемом случае — дней), чтобы полноценно сформулировать ответ. Обычно всё это заканчивается с моей стороны очередной филиппикой на mastodon или в каком-нибудь приватном чате. Но на сей раз не буду этим ограничиваться и напишу целый пост.

Вот с какого невинного вопроса всё началось:

А почему UID начинаются с 0, но PID начинаются с 1?

Если совсем коротко: в Unix PID (идентификаторы процессов) начинаются именно с 0! PID 0 просто не отображаются в пользовательском пространстве через традиционные API.  PID 0 запускает ядро, а затем практически уходит на покой, только немного участвует в работе планировщика процессов и в управлении питанием. Кроме того, на просторах Интернета доминирует заблуждение о PID 0, всё из-за одного ошибочного утверждения в Википедии, которому уже 16 лет.

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

Но, конечно же, любой желающий может просто загуглить, что такое PID 0, верно? Зачем мне вообще всё это писать?

Читать далее

Альт Сервер Виртуализации 10. Как создать общую папку для виртуальных машин Линукс и Виндовс

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели22K

16 июня 2024 г.

Получается, что у 10-й платформы АльтЛинукса репозитарий один на все дистрибутивы, только набор программного обеспечения разный. Т.е. можно на текущий дистрибутив спокойно установить не устанавливаемое по умолчанию ПО. Только нужно точно знать, что требуется. И документация тоже подходит. Подходящий пример: установка на сервер виртуализации не типичной для него роли файлового сервера. И документация по серверу виртуализации в этом деле не поможет. Зато отлично подойдет документация по Альт Линукс Сервер 10. На текущий момент актуальной версией является версия 10.2.

Читаем и делаем: https://docs.altlinux.org/ru-RU/alt-server/10.2/html/alt-server/protocol.html

Ниже подробно разберем настройку доступности по сети для новой папки "NET", созданной по пути "/var" как для клиентов на ОС Линукс, так и для клиентов на ОС Виндовс.

Считаем, что сервер виртуализации уже установлен. Если нет, то можно воспользоваться пошаговой инструкцией по установке: АльтЛинукс Сервер виртуализации10.1 (Proxmox)

Для клиентов Линукс необходимо установить, настроить и запустить NFS-сервер

Для клиентов Виндовс необходимо установить, настроить и запустить Samba-сервер (SMB, если кратко)

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

Читать далее

Устанавливаем Home Assistant Supervised

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели94K

Сегодня мы будем устанавливать Home Assistant Supervised на Debian 12 по официальной инструкции. "Шо, опять?" - спросят многие. Да, но просто так устанавливать по инструкции скучно и обязательно столкнемся с проблемами, про которые даже не упоминается в инструкции.

Читать далее

Поднятие Redis сервера: Полное руководство

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели36K

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

Сегодня я расскажу вам:

Читать далее

Начинаем утреннюю зарядку для тех, кто смотрит нас вечером, или основы сбора логов в ОС Astra Linux Special Edition

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели33K

Всем привет! Меня зовут Михаил, я разработчик в команде, которая создает ОС Astra Linux.

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

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

Описанные выше пробелы в знаниях сообщества побудили меня подумать над тем, как помочь коллегам сориентироваться в непростом хитросплетении путей, по которым запись лога проходит от исходной программы до конечного файла. Так мне пришла идея написать цикл статей, посвященный логированию в операционной системе Astra Linux Special Edition.

Читать далее

Профилирование: что использовать для сбора информации о работе программы под Linux

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели13K

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

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

Больше

Под капотом загрузчика

Уровень сложностиСредний
Время на прочтение18 мин
Охват и читатели24K

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

Мы, сервисные инженеры, сталкиваемся с GRUB2 ежедневно. А вот когда стало любопытно посмотреть на загрузчик комплексно, то в интернете и в учебнике Linux нашли лишь несколько команд: как заново проинсталлировать загрузчик и обновить текущую конфигурацию. «А почему так мало?», — была наша первая мысль.  Решили восполнить пробел — так появилась эта статья. А для иллюстрации попросили нейросетку изобразить, «как выглядят эпичные проблемы с GRUB» -- вот что вышло.

Читать далее