Подмена DNS через DHCP-опции: контролим резолвинг имен в сети без перенастройки клиентов
Один из способов — настроить DHCP-сервер так, чтобы он «подменял» DNS через опции DHCP.
Как это работает?
DHCP-клиенты получают от сервера IP-адрес, шлюз и другие параметры, включая список DNS-серверов (опция 6).
Если настроить DHCP так, чтобы он выдавал нужный IP DNS-сервера, клиенты начнут использовать его автоматически.
Пример настройки DHCP-сервера ISC DHCPd для подмены DNS:
Здесь клиентам будет раздаваться DNS с IP
Ограничения и нюансы:
⏺ Некоторые устройства или ОС игнорируют DHCP-опцию 6 и используют жестко прописанные DNS.
⏺ На Wi-Fi часто есть свои DHCP или DNS-релеи, учитывайте это.
⏺ В некоторых случаях можно комбинировать с DHCP-опцией 252 (WPAD) для автоматической настройки прокси.
Иногда нужно заставить все устройства в сети использовать конкретный 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-сервер или фильтр).Ограничения и нюансы:
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤6
Microsoft выявила кибератаку с ВПО под видом антивируса Касперского
Microsoft сообщила об атаке группы Turla на иностранные посольства в Москве.
Атака позволяла обходить шифрование и перехватывать данные жертв через сети провайдеров.
Microsoft считает это первой известной такой операцией на уровне провайдеров.
Microsoft сообщила об атаке группы Turla на иностранные посольства в Москве.
Злоумышленники устанавливали вредонос ApolloShadow, маскируя его под антивирусы «Лаборатории Касперского». Цель — дипломаты в Москве.
Атака позволяла обходить шифрование и перехватывать данные жертв через сети провайдеров.
Microsoft считает это первой известной такой операцией на уровне провайдеров.
🦄7👍6🔥2😁2❤1
Мониторинг серверов без Prometheus: Netdata за 10 минут
Если нужно быстро понять, чем живёт сервер, без сложных развёртываний Prometheus и Grafana, выручает Netdata.
Это лёгкий агент, который ставится за пару минут и сразу показывает метрики в браузере в реальном времени.
Установка на Ubuntu или Debian сводится к одной команде:
Через минуту можно открыть в браузере страницу https://<IP>:19999 и увидеть графики загрузки CPU по ядрам, использование памяти и swap, активность дисков и сетевых интерфейсов, а также список самых прожорливых процессов.
⏺ Netdata сам определяет и начинает мониторить популярные сервисы — веб‑сервера вроде Nginx и Apache, базы данных MySQL и PostgreSQL, контейнеры Docker или Kubernetes, а также systemd‑юниты.
Конфигурация хранится в /etc/netdata/, а изменения применяются мгновенно без остановки сервиса.
Для настройки достаточно поправить конфиг health_alarm_notify.conf и перезапустить Netdata.
Так за десять минут можно получить понятный и детализированный real‑time мониторинг, не нагружая инфраструктуру лишними сервисами.
Если нужно быстро понять, чем живёт сервер, без сложных развёртываний Prometheus и Grafana, выручает Netdata.
Это лёгкий агент, который ставится за пару минут и сразу показывает метрики в браузере в реальном времени.
Установка на Ubuntu или Debian сводится к одной команде:
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
Через минуту можно открыть в браузере страницу https://<IP>:19999 и увидеть графики загрузки CPU по ядрам, использование памяти и swap, активность дисков и сетевых интерфейсов, а также список самых прожорливых процессов.
Конфигурация хранится в /etc/netdata/, а изменения применяются мгновенно без остановки сервиса.
Система умеет присылать уведомления о проблемах на почту или в мессенджеры — Telegram, Slack, Discord и другие.
Для настройки достаточно поправить конфиг health_alarm_notify.conf и перезапустить Netdata.
Так за десять минут можно получить понятный и детализированный real‑time мониторинг, не нагружая инфраструктуру лишними сервисами.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥6❤3
Слежение за дисками через smartd и e-mail нотификации
Как не проспать умирающий HDD или SSD
Многие сбои в серверах происходят из‑за внезапной смерти дисков.
Но на самом деле «внезапных» отказов почти не бывает — SMART заранее показывает, что диск скоро выйдет из строя. Главное — вовремя отследить.
Для этого есть smartmontools и сервис smartd, который может проверять диски и присылать уведомления.
Установка:
Пример конфига /etc/smartd.conf:
• -H проверяет общее состояние диска
• -m — куда слать уведомления
• -M exec запускает скрипт для алерта
Проверить вручную можно так:
Актуальные параметры: количество переназначенных секторов, ошибки чтения/записи, температура.
Настрой smartd на все диски сервера и сделай пересылку уведомлений на рабочую почту.
Многие сбои в серверах происходят из‑за внезапной смерти дисков.
Но на самом деле «внезапных» отказов почти не бывает — 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
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
KSM активно сканирует страницы в памяти, сравнивает их содержимое и объединяет идентичные. При изменении страницы одним из процессов создаётся её копия, что гарантирует целостность данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3
SSH Jump Host: один вход - доступ ко всей сети
Когда в инфраструктуре десятки серверов, но наружу хочется показать только один, на помощь приходит Jump Host (он же bastion).
Такой подход решает сразу несколько задач:
1️⃣ Сокращает поверхность атаки — из интернета доступен только один хост.
2️⃣ Упрощает доступ — не нужно помнить десятки IP-адресов и логинов.
3️⃣ Позволяет централизовать контроль — на бастионе можно вести логи всех подключений.
Подключение настраивается через ~/.ssh/config с помощью ProxyJump:
Теперь ssh internal-01 автоматически пойдёт через bastion без лишних команд.
Для повышения безопасности часто добавляют двухфакторную аутентификацию на самом bastion, настраивают fail2ban для защиты от переборов паролей, а также используют auditd или session-logging, чтобы видеть действия пользователей и вести аудит.
В итоге имеем одну точку входа, строгий контроль и удобство администрирования без лишних дыр в сети.
Когда в инфраструктуре десятки серверов, но наружу хочется показать только один, на помощь приходит Jump Host (он же bastion).
Это промежуточный сервер, через который безопасно заходят внутрь сети.
Такой подход решает сразу несколько задач:
Подключение настраивается через ~/.ssh/config с помощью ProxyJump:
Host bastion
HostName 203.0.113.10
User admin
Host internal-*
ProxyJump bastion
User root
Теперь ssh internal-01 автоматически пойдёт через bastion без лишних команд.
Для повышения безопасности часто добавляют двухфакторную аутентификацию на самом bastion, настраивают fail2ban для защиты от переборов паролей, а также используют auditd или session-logging, чтобы видеть действия пользователей и вести аудит.
В итоге имеем одну точку входа, строгий контроль и удобство администрирования без лишних дыр в сети.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤3🤨2
Разработчик запустил код на сервере, меняя только комментарии в Python-скрипте
На CTF UIUCTF 2025 участник сумел выполнить свой код на сервере, имея возможность изменять лишь содержимое комментариев в Python-скрипте.
Старые версии CPython допускали уязвимость с нулевым байтом (\0) в комментариях, но на соревновании использовали уже исправленную версию.
⏺ Решение — воспользоваться тем, что Python может запускать ZIP-архивы с файлом main.py, даже если файл имеет расширение .py.
Участник встроил такой архив внутрь комментария, обойдя ограничения.
На CTF UIUCTF 2025 участник сумел выполнить свой код на сервере, имея возможность изменять лишь содержимое комментариев в Python-скрипте.
Скрипт создавался с учётом запрета на символы новой строки, а цель — получить содержимое файла с флагом.
Старые версии CPython допускали уязвимость с нулевым байтом (\0) в комментариях, но на соревновании использовали уже исправленную версию.
Участник встроил такой архив внутрь комментария, обойдя ограничения.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥3
isc-dhcp-server с динамическим обновлением DNS
Обычно DHCP раздаёт IP, а DNS приходится прописывать вручную.
Для этого нужен isc-dhcp-server с поддержкой DDNS (Dynamic DNS) и настроенный Bind. В связке они обновляют записи A и PTR без участия админа.
Пример из dhcpd.conf:
А в keys.conf хранится TSIG-ключ, которым DHCP будет подписывать запросы к Bind.
После этого любой клиент, получая IP, тут же появляется в DNS.
Удобно для тестовых сетей, лабораторий и даже в проде, если нужно быстро находить машины по имени.
Обычно DHCP раздаёт IP, а DNS приходится прописывать вручную.
Но можно сделать так, чтобы при выдаче адреса клиенту он автоматически регистрировался в зоне Bind.
Для этого нужен isc-dhcp-server с поддержкой DDNS (Dynamic DNS) и настроенный Bind. В связке они обновляют записи A и PTR без участия админа.
Пример из dhcpd.conf:
ddns-update-style interim;
ddns-domainname "lab.local";
ddns-rev-domainname "in-addr.arpa.";
zone lab.local. {
primary 127.0.0.1;
key dhcpupdate;
}
zone 0.168.192.in-addr.arpa. {
primary 127.0.0.1;
key dhcpupdate;
}
include "/etc/bind/keys.conf";
А в keys.conf хранится TSIG-ключ, которым DHCP будет подписывать запросы к Bind.
После этого любой клиент, получая IP, тут же появляется в DNS.
Удобно для тестовых сетей, лабораторий и даже в проде, если нужно быстро находить машины по имени.
❤7👍7
Какой параметр команды tcpdump нужен, чтобы показать полный пакет без усечения?
Anonymous Quiz
26%
-s 0
40%
-v
20%
-X
14%
-w
🤨9❤4
Проверка скорости дисков без fio и dd
Многие тестируют диски через fio или dd, но в продакшне эти утилиты не всегда доступны (или их просто нельзя ставить).
Хорошая новость — скорость и поведение диска можно оценить встроенными инструментами Linux.
iostat (часть пакета sysstat) показывает нагрузку на диски в реальном времени:
Здесь видно количество операций чтения/записи, среднюю задержку (await) и процент занятости диска (%util).
dstat даёт обзор: CPU, память, диски, сеть — всё в одной таблице:
perf позволяет копнуть глубже и оценить, как работают системные вызовы I/O:
Так можно понять, сколько реально времени уходит на обработку операций, не нагружая систему тестами “в лоб”.
Многие тестируют диски через fio или dd, но в продакшне эти утилиты не всегда доступны (или их просто нельзя ставить).
Хорошая новость — скорость и поведение диска можно оценить встроенными инструментами Linux.
iostat (часть пакета sysstat) показывает нагрузку на диски в реальном времени:
iostat -dx 1
Здесь видно количество операций чтения/записи, среднюю задержку (await) и процент занятости диска (%util).
dstat даёт обзор: CPU, память, диски, сеть — всё в одной таблице:
dstat -cdmn --disk-util
perf позволяет копнуть глубже и оценить, как работают системные вызовы I/O:
perf stat -e block:block_rq_issue,block:block_rq_complete dd if=/dev/zero of=testfile bs=1M count=100
Так можно понять, сколько реально времени уходит на обработку операций, не нагружая систему тестами “в лоб”.
❤8🔥2
Ловим утечки памяти в системных демонах без остановки сервиса
Иногда перезапуск сервиса — роскошь, особенно на продакшене.
Если подозреваешь утечку памяти у системного демона, можно провести диагностику без даунтайма.
1️⃣ Быстрый снимок памяти процесса
Покажет, сколько всего памяти занято, и как распределены сегменты. Запусти несколько раз с интервалом — смотри на рост.
2️⃣ Детализация по типам памяти
Удобно видеть RSS/PSS/USS и их изменения, чтобы понять, реальная ли это утечка, а не кеш ОС.
3️⃣ Глубокий анализ на лету
С помощью SystemTap можно отследить, какие функции выделяют память, и сопоставить с ростом потребления.
Так что фиксируй метрики в лог и смотри тренд. Если рост стабилен, а GC/освобождение не происходит — это утечка.
Иногда перезапуск сервиса — роскошь, особенно на продакшене.
Если подозреваешь утечку памяти у системного демона, можно провести диагностику без даунтайма.
pmap -x <PID> | grep total
Покажет, сколько всего памяти занято, и как распределены сегменты. Запусти несколько раз с интервалом — смотри на рост.
smem -p -P <PID>
Удобно видеть RSS/PSS/USS и их изменения, чтобы понять, реальная ли это утечка, а не кеш ОС.
sudo stap -e 'probe process("имя_процесса").function("*alloc*") { println(probefunc()) }'
С помощью SystemTap можно отследить, какие функции выделяют память, и сопоставить с ростом потребления.
Так что фиксируй метрики в лог и смотри тренд. Если рост стабилен, а GC/освобождение не происходит — это утечка.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤7👍4🔥3
Вышел Debian 13 «Trixie»
9 августа 2025 вышла новая версия Debian 13 на базе ядра Linux 6.12 LTS с обновлёнными рабочими столами GNOME 48, KDE Plasma 6.3 и Python 3.13.
Дистрибутив поддерживает множество архитектур, включая AMD64, ARM64 и RISC-V. Обновления будут выходить до 2030 года.
Основные изменения:
⏺ Добавлен официальный порт для 64-битного RISC-V.
⏺ Удалены устаревшие архитектуры mipsel и mips64el.
⏺ Решена проблема 2038 года с временем.
⏺ /tmp теперь по умолчанию на tmpfs для снижения износа накопителей.
⏺ Обновлён инсталлятор с поддержкой удалённой загрузки HTTP Boot.
⏺ Включены современные методы защиты ядра (Intel CET, ARM PAC).
⏺ Обновлён пакетный менеджер APT с улучшенным интерфейсом и поддержкой снапшотов.
⏺ Обновлены ключевые приложения: LibreOffice, GIMP, PostgreSQL, nginx, Docker.
9 августа 2025 вышла новая версия Debian 13 на базе ядра Linux 6.12 LTS с обновлёнными рабочими столами GNOME 48, KDE Plasma 6.3 и Python 3.13.
Дистрибутив поддерживает множество архитектур, включая AMD64, ARM64 и RISC-V. Обновления будут выходить до 2030 года.
Основные изменения:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17❤3
Минимальный набор метрик, которые надо снимать с любого сервера
В любой инфраструктуре важно иметь базовый мониторинг ключевых показателей, чтобы вовремя заметить проблемы и не довести до простоя.
Вот минимальный список метрик, которые должны быть всегда под контролем:
1️⃣ CPU Load — нагрузка на процессор показывает, насколько сервер загружен и не «тормозит» ли из-за перегрузки.
2️⃣ I/O Wait — время ожидания ввода-вывода сигнализирует о проблемах с дисками или сетью.
3️⃣ Swap Usage — использование swap говорит о нехватке оперативной памяти, что сильно снижает производительность.
4️⃣ Network Errors — ошибки на сетевых интерфейсах (потеря пакетов, сбои) влияют на доступность и скорость.
Как быстро настроить сбор этих метрик через node_exporter
node_exporter — это простой агент от Prometheus, который собирает данные о системе и отдаёт их по HTTP.
⏺ Устанавливаем node_exporter:
⏺ Запускаем и включаем сервис:
⏺ По умолчанию метрики доступны на порту 9100 (https://<server_ip>:9100/metrics).
⏺ В Prometheus добавьте этот хост в targets для сбора метрик.
В любой инфраструктуре важно иметь базовый мониторинг ключевых показателей, чтобы вовремя заметить проблемы и не довести до простоя.
Вот минимальный список метрик, которые должны быть всегда под контролем:
Как быстро настроить сбор этих метрик через node_exporter
node_exporter — это простой агент от Prometheus, который собирает данные о системе и отдаёт их по HTTP.
sudo apt update
sudo apt install prometheus-node-exporter
sudo systemctl enable --now prometheus-node-exporter
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤6
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Linux управляет Dirty Pages через параметры vm.dirty_ratio и vm.dirty_background_ratio, регулирующие, сколько памяти можно использовать под такие страницы.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤3
Трюки с SSH для продуктивности
SSH — это не только удалённый терминал, но и мощный инструмент для повышения эффективности работы.
1️⃣ Мультиплексирование соединений (ControlMaster): Обычно при каждом новом SSH-подключении создаётся отдельное соединение — это тормозит и требует ресурсов.
ControlMaster позволяет использовать одно главное соединение для нескольких сессий, ускоряя подключение.
Как настроить:
Добавьте в ~/.ssh/config:
Теперь новые подключения к одному серверу будут использовать уже открытое соединение, а не создавать новое.
2️⃣ Проброс портов (Port Forwarding): SSH умеет «прокидывать» порты, что полезно для безопасного доступа к внутренним сервисам:
• Локальный проброс: доступ к удалённому порту через локальный
Теперь на вашей машине localhost:8080 будет перенаправлен на server:80.
• Удалённый проброс: наоборот, проброс с сервера на клиент
• Динамический проброс (SOCKS Proxy):
Создаёт SOCKS5-прокси на локальном порту 1080, который можно использовать в браузере.
3️⃣ ProxyJump (перескакивание через bastion): Если сервер доступен только через промежуточный bastion, удобно использовать ProxyJump вместо ручных туннелей:
В ~/.ssh/config:
Теперь достаточно одной команды ssh internal-server, и соединение пройдёт через bastion автоматически.
SSH — это не только удалённый терминал, но и мощный инструмент для повышения эффективности работы.
Рассмотрим три полезных фишки: мультиплексирование, проброс портов и ProxyJump.
ControlMaster позволяет использовать одно главное соединение для нескольких сессий, ускоряя подключение.
Как настроить:
Добавьте в ~/.ssh/config:
Host *
ControlMaster auto
ControlPath ~/.ssh/cm-%r@%h:%p
ControlPersist 10m
Теперь новые подключения к одному серверу будут использовать уже открытое соединение, а не создавать новое.
• Локальный проброс: доступ к удалённому порту через локальный
ssh -L 8080:localhost:80 user@server
Теперь на вашей машине localhost:8080 будет перенаправлен на server:80.
• Удалённый проброс: наоборот, проброс с сервера на клиент
ssh -R 9090:localhost:3000 user@server
• Динамический проброс (SOCKS Proxy):
ssh -D 1080 user@server
Создаёт SOCKS5-прокси на локальном порту 1080, который можно использовать в браузере.
В ~/.ssh/config:
Host internal-server
HostName internal.example.com
User user
ProxyJump [email protected]
Теперь достаточно одной команды ssh internal-server, и соединение пройдёт через bastion автоматически.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍6❤3🤩1
Какой гипервизор является «bare-metal» (тип 1)?
Anonymous Quiz
7%
VirtualBox
52%
VMware ESXi
6%
Docker
35%
KVM
🤔13👍3❤2🔥2
Минимизация простоя при обновлении ядра: kexec и live-patching
Обновление ядра Linux обычно требует перезагрузки, что приводит к простою сервисов.
Kexec — позволяет загрузить новое ядро поверх текущей системы, минуя BIOS и загрузчик. Это значительно ускоряет процесс перезагрузки.
Для использования:
⏺ Установите kexec-tools.
⏺ Подготовьте загрузку нового ядра командой kexec -l /boot/vmlinuz-....
⏺ Запустите перезагрузку через systemctl kexec или kexec -e.
Таким образом, перезагрузка проходит быстрее, минимизируя простой.
Live-patching — обновление ядра без перезагрузки. Патчи применяются к работающему ядру, что позволяет не останавливать сервисы.
Популярные решения:
• kpatch (Red Hat)
• kgraft (SUSE)
• Canonical Livepatch (Ubuntu)
Live-patching обычно используется для критических обновлений безопасности и требует поддержки со стороны ядра и дистрибутива.
Преимущества live-patching — полное отсутствие простоев, однако настройка сложнее и может требовать лицензий.
Обновление ядра Linux обычно требует перезагрузки, что приводит к простою сервисов.
Чтобы сократить это время, применяют два основных инструмента — kexec и live-patching.
Kexec — позволяет загрузить новое ядро поверх текущей системы, минуя BIOS и загрузчик. Это значительно ускоряет процесс перезагрузки.
Для использования:
Таким образом, перезагрузка проходит быстрее, минимизируя простой.
Live-patching — обновление ядра без перезагрузки. Патчи применяются к работающему ядру, что позволяет не останавливать сервисы.
Популярные решения:
• kpatch (Red Hat)
• kgraft (SUSE)
• Canonical Livepatch (Ubuntu)
Live-patching обычно используется для критических обновлений безопасности и требует поддержки со стороны ядра и дистрибутива.
Преимущества live-patching — полное отсутствие простоев, однако настройка сложнее и может требовать лицензий.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍5
Давайте разберем один из частых вопросов, который может быть задан на собеседовании и как на него отвечать.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤3