Admin Guides | Сисадмин
11.4K subscribers
1.23K photos
19 videos
34 files
558 links
Обучающий канал по ОС Linux & Windows для начинающих и действующих администраторов.

Админ, реклама: @Ak_Mihail
Биржа: https://telega.in/c/admguides

РКН: https://kurl.ru/nQejS
Download Telegram
Разработчик потратил на Replit $600+, но сервис удалил базу данных несмотря на запреты

Джейсон Лемкин вложил в ИИ-платформу Replit более $600, используя её для вайб-кодинга.

Сервис удалил его базу данных, хотя Лемкин запретил любые изменения без согласия.


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

Лемкин считает, что такие ИИ-инструменты пока нестабильны и требуют постоянного контроля.
5👍2
Построение отказоустойчивого DHCP через Kea и HA-режим

Если вы всё ещё используете классический ISC DHCP, самое время обратить внимание на Kea от ISC.

Это DHCP-сервер нового поколения, который поддерживает как IPv4, так и IPv6, имеет полноценный REST API, масштабируется горизонтально и умеет работать в отказоустойчивом режиме.

В отличие от старого ISC DHCP, Kea может синхронизировать lease’ы между двумя серверами почти в реальном времени.

Поддерживаются разные режимы работы:

Load-balancing (Active-Active) – оба сервера обслуживают клиентов
Hot-standby (Active-Standby) – один сервер активен, второй в резерве
Partner-down – сценарий, когда один сервер считается временно недоступным

Вот пример простой конфигурации HA-модуля (kea-ctrl-agent + ha-hooks):

{
"ha-server": {
"mode": "load-balancing",
"this-server-name": "dhcp1",
"peers": [
{
"name": "dhcp1",
"url": "https://192.168.1.10:8000/",
"role": "primary"
},
{
"name": "dhcp2",
"url": "https://192.168.1.11:8000/",
"role": "secondary"
}
],
"auto-failover": true
}
}


В режиме load-balancing оба сервера делят пул между собой и сразу же переключаются в случае отказа одного из них. Всё это можно мониторить и управлять через HTTP-запросы.

Ключевые преимущества Kea:

• JSON-конфигурация, удобная для автоматизации
• Управление через curl или kea-shell
• Интеграция с MySQL/PostgreSQL
• Поддержка хуков, логирование, экспорт метрик в Prometheus

Примеры команд управления через API:

Проверить статус HA-кластера:

curl -X POST -H "Content-Type: application/json" \
-d '{ "command": "ha-heartbeat" }' \
https://127.0.0.1:8000/


Перевести сервер в ручной режим:

curl -X POST -H "Content-Type: application/json" \
-d '{ "command": "ha-maintenance-start" }' \
https://127.0.0.1:8000/


Получить список lease’ов:

curl -X POST -H "Content-Type: application/json" \
-d '{ "command": "lease4-get-all" }' \
https://127.0.0.1:8000/
9👍3
💬 Вопрос на собеседовании для сисадмина

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


Вопрос: Что такое Transparent Huge Pages (THP) в Linux и как они влияют на производительность?

Ответ: Transparent Huge Pages (THP) — это механизм Linux, автоматически объединяющий обычные страницы памяти (обычно по 4 KB) в более крупные страницы (обычно по 2 MB), чтобы сократить накладные расходы на управление памятью и ускорить доступ.

Проверить текущее состояние THP можно командой:

cat /sys/kernel/mm/transparent_hugepage/enabled


Отключить, если они мешают:

echo never > /sys/kernel/mm/transparent_hugepage/enabledЯ
Please open Telegram to view this post
VIEW IN TELEGRAM
👍155
Локальный Docker Registry в своей сети

Для ускорения работы CI/CD, уменьшения зависимости от внешних сервисов и повышения контроля над Docker-образами часто поднимают собственный приватный Docker Registry.

Docker Registry — это сервис хранения и распространения контейнерных образов. 


Официальный публичный реестр — Docker Hub, но для внутреннего использования лучше иметь локальный, чтобы экономить трафик, ускорять загрузки и обеспечивать безопасность.

Быстрый старт

Запускаем официальный образ Registry:

docker run -d -p 5000:5000 --restart=always --name registry registry:2


По умолчанию Registry доступен по HTTP на порту 5000.

Работа с локальным реестром

1️⃣Тегируем локальный образ для отправки:

docker tag myimage localhost:5000/myimage


2️⃣Отправляем образ:

docker push localhost:5000/myimage


3️⃣На других хостах забираем образ:

docker pull localhost:5000/myimage
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥2
Какой командой можно проверить статус SELinux?
Anonymous Quiz
22%
getenforce
62%
selinux --status
6%
checkselinux
10%
secheck
🤷143
Автоматический монт сетевых папок при старте: systemd .mount и .automount

Если сетевые диски нужно подключать при каждом старте системы — не обязательно лезть в /etc/fstab.

Современный способ — использовать systemd-юниты .mount и .automount.


.mount — это юнит для постоянного монтирования. Его имя строится по пути к точке монтирования. Например, для /mnt/share файл будет называться:

mnt-share.mount


Пример содержимого:

[Unit]
Description=Mount network share

[Mount]
What=//192.168.0.10/share
Where=/mnt/share
Type=cifs
Options=credentials=/etc/smb.cred,_netdev,vers=3.0

[Install]
WantedBy=multi-user.target


.automount — позволяет подключать ресурс только при обращении к нему. Это ускоряет загрузку, если сеть ещё не поднята.

mnt-share.automount


Пример:

[Unit]
Description=Automount network share

[Automount]
Where=/mnt/share

[Install]
WantedBy=multi-user.target


При первой попытке зайти в /mnt/share systemd автоматически поднимет mnt-share.mount.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥42
В Китае начнут выпускать стеклянные оптические диски на 360 ТБ

До конца 2025 года в Китае запустят массовое производство стеклянных оптических дисков ёмкостью до 360 ТБ.


Технологию разработал Уханьский центр оптоэлектроники.

Её описывают как «многомерное хранение с низкой стоимостью и сверхдолгим сроком службы».

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

За последние годы скорость чтения и записи стеклянных накопителей выросла в тысячу раз, а плотность хранения — в 100 раз, при этом цена снизилась. Массовое внедрение ожидается к концу 2025 года.
Please open Telegram to view this post
VIEW IN TELEGRAM
12🔥4
🗿17😐7🤷42😁2
Как сделать бэкап PostgreSQL с шифрованием и загрузкой в S3

Хранить бэкапы баз данных «как есть» небезопасно. Лучше их сразу шифровать и отправлять в облако.

Покажу простой способ через pg_dump, gpg и aws-cli.

1️⃣Устанавливаем нужные инструменты

sudo apt install postgresql-client gnupg awscli -y


2️⃣Делаем дамп базы

pg_dump -U dbuser -h localhost mydb > backup.sql


3️⃣Шифруем бэкап

Сначала создаём ключ GPG (если ещё нет):

gpg --gen-key


Затем шифруем файл:

gpg --output backup.sql.gpg --encrypt --recipient "[email protected]" backup.sql


4️⃣Загружаем в S3

aws s3 cp backup.sql.gpg s3://my-backup-bucket/postgres/$(date +%F).sql.gpg


5️⃣Автоматизируем через cron

Откроем планировщик:

crontab -e


И добавим задачу на каждый день в 3 ночи:

0 3 * * * pg_dump -U dbuser mydb | gpg --encrypt --recipient [email protected] | aws s3 cp - s3://my-backup-bucket/postgres/$(date +\%F).sql.gpg
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84
💬 Вопрос на собеседовании для DevOps-инженера

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


Вопрос: Что такое sidecar-контейнер в архитектуре Kubernetes и зачем он нужен?

Ответ: Sidecar — это дополнительный контейнер, который запускается вместе с основным контейнером в одном Pod’е и дополняет его функциональность. Sidecar используется для расширения возможностей приложения без изменения его кода.

Например, sidecar может обеспечивать логирование, проксирование трафика, обновление конфигурации, сбор метрик или управление сертификатами. Такой подход помогает реализовать принципы микросервисной архитектуры и повышает модульность и масштабируемость систем.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🔥3
Генерация конфигов с помощью Jinja2 и Python

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

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


Что такое Jinja2?

Jinja2 — это мощный шаблонизатор на Python, который позволяет создавать текстовые файлы (конфиги, скрипты, HTML) с переменными, условиями, циклами и фильтрами.

Ты пишешь шаблон с «плейсхолдерами», а Python-скрипт подставляет нужные значения.

Как это помогает?
Пишешь один шаблон конфигурации с параметрами вместо множества почти идентичных файлов.
Легко генерируешь конфиги с учётом особенностей каждого сервера или сервиса.
Можно интегрировать с системами управления (Ansible, Salt) или запускать автономно.

Шаблон nginx.conf.j2:

server {
listen {{ port }};
server_name {{ server_name }};

location / {
proxy_pass https://{{ backend }};
}
}


Python-скрипт для генерации:

from jinja2 import Environment, FileSystemLoader

env = Environment(loader=FileSystemLoader('./templates'))
template = env.get_template('nginx.conf.j2')

data = {
'port': 80,
'server_name': 'example.com',
'backend': '127.0.0.1:8080'
}

output = template.render(data)

with open('nginx.conf', 'w') as f:
f.write(output)
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍3👎1
Вышел Tails 6.18

В июле 2025 года вышла новая версия дистрибутива Tails 6.18 — системы для анонимного выхода в интернет на базе Debian 12 с рабочим столом GNOME 43.

Tails загружается с LiveCD/USB, все соединения идут через Tor, а неанонимный трафик блокируется.


В обновлении добавили поддержку сетевых мостов через WebTunnel — транспорта, имитирующего обычный веб-трафик для обхода блокировок, где obfs4 не работает. Также обновлены Tor Browser и Thunderbird.

Ранее проект успешно прошёл аудит безопасности — критических уязвимостей не обнаружено.
8👍3
Использование USB Rubber Ducky для автоматизации рутинных задач (и безопасности!)

USB Rubber Ducky — устройство, которое выглядит как обычная флешка, но при подключении имитирует клавиатуру и быстро вводит заранее запрограммированные команды.

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


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

Пример простого скрипта для Rubber Ducky (DuckyScript):

DELAY 1000
GUI r
DELAY 500
STRING powershell -NoProfile -Command "Get-EventLog -LogName System -Newest 20"
ENTER


Этот скрипт откроет окно «Выполнить» в Windows и быстро выведет последние системные логи
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥63👍3👎1
Как можно отследить, какой процесс занимает порт TCP 8080?
Anonymous Quiz
8%
tcpdump port 8080
20%
ps aux | grep 8080
63%
netstat -tnp | grep 8080
8%
lsof /dev/tcp/8080
🗿10👍4😁32🔥1
💬 Вопрос на собеседовании для сисадмина

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


Вопрос: Что такое HugeTLB и чем он отличается от Transparent Huge Pages (THP) в Linux?

Ответ: HugeTLB — это механизм в Linux, позволяющий вручную выделять большие страницы памяти (например, по 2 MB или 1 GB), чтобы снизить затраты на управление памятью и уменьшить TLB misses. В отличие от THP, HugeTLB требует явной настройки и не работает автоматически.

THP удобнее, так как система сама объединяет страницы, но может вызывать задержки при компактизации памяти. HugeTLB же обеспечивает более предсказуемую производительность, но требует от администратора заранее резервировать память и настраивать приложения под её использование.
Please open Telegram to view this post
VIEW IN TELEGRAM
8💊3
Подмена DNS через DHCP-опции: контролим резолвинг имен в сети без перенастройки клиентов

Иногда нужно заставить все устройства в сети использовать конкретный DNS-сервер — без ручной правки настроек на каждом клиенте. 


Один из способов — настроить DHCP-сервер так, чтобы он «подменял» DNS через опции DHCP.

Как это работает?

DHCP-клиенты получают от сервера IP-адрес, шлюз и другие параметры, включая список DNS-серверов (опция 6).

Если настроить DHCP так, чтобы он выдавал нужный IP DNS-сервера, клиенты начнут использовать его автоматически.

Пример настройки DHCP-сервера ISC DHCPd для подмены DNS:

subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
option routers 192.168.1.1;
option domain-name-servers 192.168.1.53;
}


Здесь клиентам будет раздаваться DNS с IP 192.168.1.53 (например, локальный DNS-сервер или фильтр).

Ограничения и нюансы:
Некоторые устройства или ОС игнорируют DHCP-опцию 6 и используют жестко прописанные DNS.
На Wi-Fi часто есть свои DHCP или DNS-релеи, учитывайте это.
В некоторых случаях можно комбинировать с DHCP-опцией 252 (WPAD) для автоматической настройки прокси.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍76
Microsoft выявила кибератаку с ВПО под видом антивируса Касперского

Microsoft сообщила об атаке группы Turla на иностранные посольства в Москве.

Злоумышленники устанавливали вредонос ApolloShadow, маскируя его под антивирусы «Лаборатории Касперского». Цель — дипломаты в Москве.


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

Microsoft считает это первой известной такой операцией на уровне провайдеров.
🦄7👍6🔥2😁21
Мониторинг серверов без Prometheus: Netdata за 10 минут

Если нужно быстро понять, чем живёт сервер, без сложных развёртываний Prometheus и Grafana, выручает Netdata.

Это лёгкий агент, который ставится за пару минут и сразу показывает метрики в браузере в реальном времени.

Установка на Ubuntu или Debian сводится к одной команде:

bash <(curl -Ss https://my-netdata.io/kickstart.sh)


Через минуту можно открыть в браузере страницу https://<IP>:19999 и увидеть графики загрузки CPU по ядрам, использование памяти и swap, активность дисков и сетевых интерфейсов, а также список самых прожорливых процессов.

Netdata сам определяет и начинает мониторить популярные сервисы — веб‑сервера вроде Nginx и Apache, базы данных MySQL и PostgreSQL, контейнеры Docker или Kubernetes, а также systemd‑юниты.

Конфигурация хранится в /etc/netdata/, а изменения применяются мгновенно без остановки сервиса.

Система умеет присылать уведомления о проблемах на почту или в мессенджеры — Telegram, Slack, Discord и другие. 


Для настройки достаточно поправить конфиг health_alarm_notify.conf и перезапустить Netdata.

Так за десять минут можно получить понятный и детализированный real‑time мониторинг, не нагружая инфраструктуру лишними сервисами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥63
Ставь 🔥, если за вайб-кодинг
😁24🤣9🔥43
Слежение за дисками через smartd и e-mail нотификации

Как не проспать умирающий HDD или SSD

Многие сбои в серверах происходят из‑за внезапной смерти дисков.

Но на самом деле «внезапных» отказов почти не бывает — SMART заранее показывает, что диск скоро выйдет из строя. Главное — вовремя отследить.

Для этого есть smartmontools и сервис smartd, который может проверять диски и присылать уведомления.

Установка:

sudo apt install smartmontools


Пример конфига /etc/smartd.conf:

/dev/sda -H -m [email protected] -M exec /usr/share/smartmontools/smartd-runner


• -H проверяет общее состояние диска
• -m — куда слать уведомления
• -M exec запускает скрипт для алерта

Проверить вручную можно так:

sudo smartctl -a /dev/sda


Актуальные параметры: количество переназначенных секторов, ошибки чтения/записи, температура.

Настрой smartd на все диски сервера и сделай пересылку уведомлений на рабочую почту.

Так ты узнаешь о проблемах до того, как система уйдёт в read-only или RAID развалится.
7👍5
💬 Вопрос на собеседовании для DevOps-инженера

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


Вопрос: Что такое Kernel Same-page Merging (KSM) и как он влияет на производительность и использование памяти в Linux?

Ответ: Kernel Same-page Merging (KSM) — это механизм deduplication памяти в ядре Linux, который позволяет выявлять одинаковые страницы в разных процессах и объединять их в одну копию, помечая её как копируемую при записи (Copy-On-Write). Это снижает общее потребление оперативной памяти, особенно в средах с большим количеством схожих виртуальных машин или контейнеров.

KSM активно сканирует страницы в памяти, сравнивает их содержимое и объединяет идентичные. При изменении страницы одним из процессов создаётся её копия, что гарантирует целостность данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3