networkadminru | Unsorted

Telegram-канал networkadminru - NetworkAdmin.ru

4722

Авторский блог про сетевое и системное администрирование. Сайт: networkadmin.ru Реклама: @dad_admin Биржа: https://telega.in/c/networkadminru

Subscribe to a channel

NetworkAdmin.ru

🖥 Неочевидные возможности ethtool для работы с сетевыми интерфейсами

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

▪️ Проверка состояния интерфейса


ethtool eth0


Покажет: скорость, дуплекс, поддержку offload-функций, драйвер, версию прошивки и т.д.

▪️ Управление скоростью и режимом. Принудительная установка скорости 100 Мбит/с в full-duplex:


ethtool -s eth0 speed 100 duplex full autoneg off


Можно использовать для тестов или если автосогласование работает некорректно.

▪️ Offload-функции (ускорение или отладка)

Проверить поддержку:


ethtool -k eth0


Отключить контрольную сумму (будет полезно для отладки):


ethtool -K eth0 tx off rx off


Также можно управлять GRO, LRO, TSO и другими функциями.

▪️ Диагностика линка

Проверка кабеля и физики:


ethtool --test eth0
ethtool -t eth0 offline


А команда:


ethtool eth0 | grep detected


покажет, есть ли линк и его скорость.

▪️ Статистика и дропы пакетов


ethtool -S eth0


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

▪️ Управление очередями и ring buffer. Посмотреть текущие значения:


ethtool -g eth0


Изменить глубину очереди при интенсивной нагрузке:


ethtool -G eth0 rx 4096 tx 4096


▪️ Блокировка Wake-on-LAN. Если не используете WoL — отключите:


ethtool -s eth0 wol d


#network #ethtool

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

👩‍🎨 Шпаргалка по debsums

▪️ Основные ключи

Проверить все пакеты:


debsums


Показать только измененные файлы:


debsums --changed


Проверять только конфиги (/etc):


debsums --config


Только измененные конфиги:


debsums --config --changed


Показать отсутствующие файлы пакета:


debsums --missing


Игнорировать отсутствующие файлы (проверять только существующие):


debsums --ignore-missing


Проверка конкретного пакета


debsums nginx


▪️ Примеры

Найти какие конфиги менялись руками:


debsums --config --changed


Проверить целостность пакета OpenSSH:


debsums openssh-server


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

#linux #audit

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

Чтобы рабочие будни были веселее

#юмор

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

Степаныч, выкидывай этот верхний ящик. Мне лежать то как? 🐈

#юмор

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

🏃 PowerShell шпаргалки для linux админа

Админы, привыкшие к bash и linux, часто недооценивают powershell. А зря - это также неплохая оболочка, которая умеет не только выполнять команды, но и работать с объектами, сервисами и API windows. Ниже несколько полезных сценариев, которые пригодятся, если админите и linux, и windows.

▪️ Мониторинг процессов и портов. Аналог ps aux | grep и ss -tulpn:


# Процессы по имени
Get-Process | Where-Object { $_.ProcessName -like "*chrome*" }

# Открытые TCP-порты
Get-NetTCPConnection | Where-Object { $_.State -eq "Listen" }


▪️ Массовая работа с файлами. Аналог find + xargs:


# Найти все *.log файлы и удалить старше 7 дней
Get-ChildItem -Path "C:\Logs" -Filter *.log -Recurse |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-7) } |
Remove-Item -Force


▪️ Проверка доступности хостов. Аналог ping + for:


$hosts = "8.8.8.8","1.1.1.1","networkadmin.ru"
foreach ($h in $hosts) {
Test-Connection -ComputerName $h -Count 2 -Quiet |
ForEach-Object { "$h -> $($_ -replace 'True','OK' -replace 'False','Fail')" }
}


▪️ Работа с сервисами. Аналог systemctl:


# Проверить статус службы
Get-Service -Name "Spooler"

# Перезапустить службу
Restart-Service -Name "Spooler"


▪️ Сетевые запросы и API. Аналог curl:


Invoke-RestMethod -Uri "https://api.ipify.org?format=json"


▪️ Сбор информации о системе. Аналог lshw и df -h:


# Системная информация
Get-ComputerInfo | Select-Object CsName, WindowsVersion, OsArchitecture

# Диски
Get-PSDrive -PSProvider FileSystem


#powershell #windows

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

🎆 Удобная веб-панель для управления linux серверами

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

▪️ Установка и запуск. В большинстве систем Cockpit есть прямо в репозиториях.

debian/ubuntu:


apt install cockpit -y
systemctl enable --now cockpit.socket


RHEL/centOS/fedora:


dnf install cockpit -y
systemctl enable --now cockpit.socket


После этого панель доступна по HTTPS на порту 9090: https://IP-сервера:9090

Авторизация выполняется через обычный системный логин и пароль.

📍 Возможности Cockpit

Мониторинг ресурсов (CPU, RAM, диски, сеть) в реальном времени
Управление сервисами systemd (запуск, остановка, перезапуск)
Просмотр логов journald
Управление пользователями и правами
Настройка сетевых интерфейсов и firewall
Работа с дисками, RAID и LVM
Подключение Docker/Kubernetes для управления контейнерами
Возможность администрировать несколько серверов через одну панель

📍 Почему это удобно?

Минимальная настройка: поставил и сразу работает.
Не требует сторонних агентов - все идет через systemd и встроенные механизмы.
Легко интегрируется с SELinux, firewalld и другими системными компонентами.

#linux #cockpit

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

Успех гарантирован

#юмор

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

🖼️ Отправка сообщений в WhatsApp из скрипта

Пост для тех, кому необходимо интегрировать отправку уведомлений в WhatsApp прямо из скрипта. Отличным решением будет Mudslide - консольный клиент, построенный на Node.js и библиотеке Baileys, работающий через API WhatsApp Web.

⚙️ Установка:


npm install -g mudslide


Или загрузите готовый бинарник для Windows/Linux.

▪️ Авторизация:


npx mudslide login


Сканируйте QR-код в WhatsApp - и вы в системе.

▪️ Примеры команд:


mudslide send 79123456789 "Привет"
mudslide send-image 79123456789 ./image.jpg
mudslide send-file me ./doc.pdf
mudslide send-location me 55.752121 37.617664


Инструмент удобно использовать в автоматизации, мониторинге и оповещениях.

#whatsapp

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

Сразу видно, мастер своего дела

#юмор

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

🔓 Как защититься от MAC-спуфинга и ARP-атак в сети?

Локальные сети уязвимы к атакам, основанным на подмене MAC-адресов и ARP-ответов. Это позволяет злоумышленнику внедриться в трафик, перехватить сессии, пароли, или даже организовать MITM-атаку. Разберёмся, как это работает и как защититься.

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

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

▪️ Пример: ПК «думает», что MAC-адрес шлюза принадлежит атакующему. Всё, что идёт в интернет, сначала попадает к злоумышленнику.

▪️Как защититься?

1️⃣ Использовать статические ARP-записи. Особенно на критичных устройствах (серверы, шлюзы). Например:


arp -s 192.168.1.1 00:11:22:33:44:55


2️⃣ Включить динамическое обнаружение ARP-атаки. Многие коммутаторы и firewall (например, Mikrotik, Cisco, pfSense) поддерживают ARP Watch или ARP Inspection.

3️⃣ Включить DHCP Snooping + Dynamic ARP Inspection (DAI). Работает на уровнях доступа: фильтрует поддельные ARP-пакеты.

4️⃣ Фиксировать MAC-адреса вручную (Port Security). Ограничьте количество MAC-адресов на порту и задайте статические.

5️⃣ Мониторинг ARP-таблицы. Утилиты arpwatch, arping, ettercap или Wireshark помогут выявить подозрительные изменения.

6️⃣ Шифровать трафик. Используйте HTTPS, SSH, VPN — даже если ARP-спуфинг произойдёт, трафик будет зашифрован.

#networksecurity #macspoofing

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

📈 Тестируем пропускную способность сети

До сих пор не знаете о iperf? Одном из самых популярных инструментов для измерения пропускной способности сети. Iperf - это кроссплатформенная утилита, работающая в режиме клиент-сервер. Вы можете запустить сервер на Linux и тестировать подключение с Windows, Android и наоборот. При запуске выбирается один из режимов:

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

⚙️ Установка и запуск

📱 На Linux:


apt install iperf3
iperf3 -s


По умолчанию сервер слушает порт 5201 TCP — не забудьте открыть его в файрволле.

🏠 На Windows:


winget install iperf3


Для любителей графики есть GUI-приложение на основе iperf, но для оригинальной консольной версии лучше скачать архив с официального сайта.

▪️ Запуск теста с клиента:


iperf3 -c <IP-адрес сервера>


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

▪️ Логирование и интеграция с мониторингом. Iperf поддерживает вывод логов, в том числе в формате JSON:


iperf3 -c <IP> --logfile log.txt -J


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

⭐️ тесты iperf создают реальную нагрузку на канал. Во время замеров может страдать работа сервисов, поэтому в продакшене применять с осторожностью. Также при автоматизации тестов стоит помнить: приоритизация трафика исказит реальную картину.

▪️ Полезные параметры iperf3

1️⃣ Изменить продолжительность теста (по умолчанию 10 секунд):


iperf3 -c <IP> -t 60


2️⃣ Передать заданный объём данных вместо ограничения по времени:


iperf3 -c <IP> -n 100M


3️⃣ Запустить тест в несколько потоков для более полного использования канала:


iperf3 -c <IP> -P 4


Параметры одинаково работают на всех платформах. Вы можете поднять сервер на Windows и тестировать подключение с Linux - и наоборот.

#iperf #networktools

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

👩‍💻 Как развернуть Kubernetes-кластер на bare-metal сервере

Если облако не ваш выбор, а хочется полного контроля над железом - Kubernetes на bare-metal отличный вариант. В этом посте будет описан базовый путь, как развернуть свой кластер на физических серверах с нуля.

⭐️ Что потребуется:

Один мастер-узел (control plane)
Один или более worker-узлов
Ubuntu Server 22.04+ (или другой поддерживаемый дистрибутив)
Сеть с доступом между узлами (ssh + порты k8s)
root или sudo-доступ


1️⃣ Подготовка ОС. На всех узлах:


sudo apt update && sudo apt upgrade -y
sudo apt install -y curl apt-transport-https ca-certificates software-properties-common


Выключаем swap (Kubernetes его не любит):


sudo swapoff -a
sudo sed -i '/swap/d' /etc/fstab


2️⃣ Установка container runtime (например, containerd)


sudo apt install -y containerd
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml > /dev/null
sudo systemctl restart containerd


3️⃣ Установка kubeadm, kubelet и kubectl


curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
sudo add-apt-repository "deb http://apt.kubernetes.io/ kubernetes-xenial main"
sudo apt update
sudo apt install -y kubeadm kubelet kubectl
sudo apt-mark hold kubeadm kubelet kubectl


4️⃣Инициализация мастер-узла. На мастер-ноде:


sudo kubeadm init --pod-network-cidr=10.244.0.0/16


После успешной инициализации:


mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config


5️⃣ Установка сетевого плагина (например, Flannel)


kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml


6️⃣ Подключение worker-нод. На каждом worker-узле выполните команду, которую выдал kubeadm init, например:


sudo kubeadm join 192.168.0.10:6443 --token abcdef.1234567890abcdef \
--discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


▪️ Проверка статуса кластера. На мастер-ноде:


kubectl get nodes
kubectl get pods --all-namespaces


#kubernetes #baremetal

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

🗂 Ротационные бэкапы с экономией места: rsync + hardlink

На сервере делаются ежедневные резервные копии, но не хочется тратить кучу места на дублирование одних и тех же файлов? Есть отличный способ - использовать rsync с жёсткими ссылками (hardlinks) для дедупликации. Это позволяет хранить полные снепшоты, при этом экономя место.

🌟 Суть подхода

Бэкапы выглядят как отдельные директории (backup-2025-05-13, backup-2025-05-12), но все неизмененные файлы - это просто ссылки на одни и те же иноды.

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

▪️ Структура и логика

Пример каталогов:


/backups/
├── daily.0 ← сегодня
├── daily.1 ← вчера
├── daily.2
└── daily.3


daily.0 - свежий бэкап.
daily.1, daily.2, ... - предыдущие снепшоты.

При каждом новом запуске:

старые бэкапы смещаются на +1 (daily.2 → daily.3)
daily.0 создаётся как --link-dest от daily.1

▪️ Скрипт ротационного бэкапа


#!/bin/bash

SRC="/home/user"
DEST="/backups"
MAX=7 # сколько дней хранить

# Сдвигаем старые бэкапы
for ((i=MAX-1; i>=0; i--)); do
if [ -d "$DEST/daily.$i" ]; then
mv "$DEST/daily.$i" "$DEST/daily.$((i+1))"
fi
done

# Создаём новый бэкап с дедупликацией
LINK=""
if [ -d "$DEST/daily.1" ]; then
LINK="--link-dest=$DEST/daily.1"
fi

rsync -aAX --delete $LINK "$SRC/" "$DEST/daily.0"


⭐️ Преимущества

- Каждый бэкап - полный, можно восстановить всё в конкретном состоянии.
- Экономия места - используется только дополнительное место для новых/изменённых файлов.
- Простота восстановления: rsync обратно или просто cp.


#linux #backup

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

📱 Скрипт для анализа занятости места в Linux

Иногда на сервере внезапно заканчивается свободное место - и начинается беготня по командам du, find, lsof, вспоминание синтаксиса и пляски с пайпами. А можно проще. Сохранить себе в закладки bash-скрипт topdiskconsumer, который соберёт всё нужное за тебя.

🌟 Что делает скрипт?

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

Далее собирает:

▪ Топ-20 самых крупных файлов
▪ Топ-20 самых "тяжёлых" директорий
▪ Топ-20 больших файлов старше 30 дней
▪ Топ-20 удалённых, но не освобождённых файлов (файлы с открытым дескриптором)

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

Скрипт не требует зависимостей, стороннего ПО или установки. Всё - стандартные утилиты: find, du, sort, lsof. Примеры:

▪️ Топ-20 директорий:


du -hcx --max-depth=6 / 2>/dev/null | sort -rh | head -n 20


▪️ Топ-20 файлов:


find / -mount -ignore_readdir_race -type f -exec du -h "{}" + 2>&1 \
| sort -rh | head -n 20


▪️ Старые и объёмные:


find / -mount -ignore_readdir_race -type f -mtime +30 -exec du -h "{}" + 2>&1 \
| sort -rh | head -20


🌟 По умолчанию отображается топ-20, но это можно изменить - задать своё значение в переменной intNumFiles в начале скрипта или передать флаг -l.

🌟 Посмотреть доступные опции:


./topdiskconsumer --help


Ссылка на GitHub 📱

#linux #bash

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

🕛 Проблема смены часового пояса в Windows Server 2019/2022

В Windows Server 2019 и 2022 есть неприятная особенность (или всё-таки баг?), из-за которой нельзя изменить часовой пояс через графический интерфейс. Даже с правами администратора попытка изменить настройки через классическую панель (timedate.cpl) или "Параметры" приводит к ошибке о недостатке разрешений.

✅ Решается это просто - через консоль:

С помощью tzutil:


tzutil /s "Russian Standard Time"


Или PowerShell:


Get-TimeZone -ListAvailable | Where-Object DisplayName -like "*Moscow*" | Set-TimeZone


Также можно запустить timedate.cpl с повышенными правами (Run as Administrator) и всё заработает как надо.

#WindowsServer #timezone

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

❌ Отключение лишних сервисов через systemd

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

1️⃣ Смотрим активные сервисы


systemctl list-unit-files --state=enabled


Команда покажет список всех юнитов, которые стартуют при загрузке. Также полезно посмотреть реально работающие процессы:


systemctl list-units --type=service


2️⃣ Отключение ненужного. Чтобы сервис не запускался при старте системы:


systemctl disable avahi-daemon.service


Чтобы остановить прямо сейчас:


systemctl stop avahi-daemon.service


Если сервис не нужен вообще - можно замаскировать, чтобы исключить случайный запуск:


systemctl mask avahi-daemon.service


(при этом запуск будет невозможен даже вручную, пока не сделаете unmask).

Примеры сервисов, которые часто не используются:

avahi-daemon.service - autodiscovery (не нужен на сервере)
bluetooth.service - если нет блютуза
ModemManager.service - если не используется мобильный модем
rpcbind.service - устаревший RPC, не нужен большинству

Далее уже зависит конкретно от Ваших потребностей и ситуации.

3️⃣ Проверка. После внесенных изменений убедитесь, что лишние службы не стартуют:


systemctl list-unit-files --state=enabled


#linux #systemd

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

📌 Проверка изменений системных конфигов в Debian/Ubuntu

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


apt install debsums


❓ Что делает debsums

Утилита сравнивает MD5-суммы файлов из пакетов с эталонными значениями. Это помогает:

📍проверить целостность пакетов;
📍выявить модифицированные файлы;
📍понять, какие стандартные конфиги редактировались.


▪️ Пример: проверка конфигов. Особенно полезно искать изменения в конфигурационных файлах:


debsums --config --changed


Результат может быть таким:


/etc/ssh/ssh_config
/etc/default/ssh


То есть видно, что системные конфиги OpenSSH редактировались.

▪️ debsums проверяет:

файлы из базовой системы (/etc/default, /etc/pam.d, /etc/grub.d);
юниты systemd;
конфиги сервисов вроде nginx, mariadb, apache2.

#linux #audit

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

✉️ Отправка почты через curl

Многие для отправки писем из консоли ставят дополнительные утилиты вроде mailx или mutt. Но часто этого не нужно - все умеет curl.

▪️ Простейшая отправка письма


curl -v \
--url "smtp://smtp.networkadmin.ru:587" \
--mail-from "admin@networkadmin.ru" \
--mail-rcpt "user@domain.ru" \
--user "admin@networkadmin.ru:MySecurePass" \
--upload-file ~/letter.txt


Пример letter.txt:


From: "Admin" <admin@networkadmin.ru>
To: "User" <user@domain.ru>
Subject: Test mail from curl

Hello from curl!


Заголовки (From, Subject и др.) задаются прямо в файле, и можно указывать любые значения.

▪️ Как спрятать пароль

Хранить пароль в команде небезопасно. Вместо этого используем ~/.netrc:


machine smtp.networkadmin.ru login admin@networkadmin.ru password MySecurePass
machine smtp.another.ru login user@another.ru password StrongPass123


Теперь команда проще и безопаснее:


curl -v \
--url "smtp://smtp.networkadmin.ru:587" \
--mail-from "admin@networkadmin.ru" \
--mail-rcpt "user@domain.ru" \
--netrc \
--upload-file ~/letter.txt


▪️ Работа с шифрованием
📍 Требовать TLS:


curl --ssl-reqd ...


📍 Автоматически использовать TLS, если поддерживается:


curl --ssl ...


📍 Для SMTPS (порт 465) достаточно:


curl --url "smtps://smtp.networkadmin.ru" ...


▪️ Указание HELO/EHLO. Можно явно задать имя клиента:


curl --url "smtp://smtp.networkadmin.ru/myhost.domain.ru" ...


#SMTP #curl

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

⬆️ Netplan в ubuntu - альтернативный способ настройки сетей

Ubuntu давно перешла от классического /etc/network/interfaces к новому инструменту - netplan. Он появился начиная с ubuntu 17.10 и стал основным способом настройки сетевых интерфейсов.

❗️ Netplan - это уровень абстракции для сетевых конфигураций.

Использует YAML-файлы в /etc/netplan/.

Работает через рендереры:

systemd-networkd - для серверов и headless-систем.
NetworkManager - для десктопов.

Позволяет централизованно и декларативно описывать сеть.


▪️ Где лежат конфиги

Все настройки находятся в /etc/netplan/*.yaml.
По умолчанию обычно есть файл 01-netcfg.yaml или 50-cloud-init.yaml.

▪️ Примеры конфигураций
1️⃣ DHCP (получение адреса автоматически)


network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: true


2️⃣ Статический IP


network:
version: 2
renderer: networkd
ethernets:
ens33:
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]


3️⃣ Несколько IP на одном интерфейсе


network:
version: 2
ethernets:
ens33:
addresses:
- 192.168.1.101/24
- 192.168.1.102/24


4️⃣ Bonding (для отказоустойчивости и агрегации)


network:
version: 2
bonds:
bond0:
interfaces: [ens33, ens34]
parameters:
mode: balance-rr
addresses:
- 192.168.1.200/24
gateway4: 192.168.1.1


5️⃣ VLAN


network:
version: 2
vlans:
vlan100:
id: 100
link: ens33
addresses: [192.168.100.10/24]


▪️ Применение настроек

После изменения файлов:


sudo netplan apply


Для теста перед применением можно использовать:


sudo netplan try


(дает 120 секунд на подтверждение, если сеть отвалилась - конфиг откатывается).

#linux #netplan

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

🔫 Шпаргалка по systemctl status

Обычно мы проверяем состояние конкретной службы:


systemctl status mariadb


Но если запустить без указания сервиса:


systemctl status


то получим сводку по всей системе. Очень полезная штука

Что покажет systemctl status без аргументов:

State - общее состояние (например: running, degraded)
Failed - количество упавших юнитов
Uptime - время работы systemd
Версия systemd
Количество активных units
Дерево зависимостей сервисов в удобном виде


▪️ Как найти упавшие службы


systemctl list-units --failed


Посмотреть детали по конкретному юниту:


systemctl status <unit>
journalctl -u <unit>


Пример:


systemctl status


Вывод:


State: degraded
Failed: 1 units


Проверяем, что упало:


systemctl list-units --failed


например, systemd-modules-load.service.

Дальше копаемся в логах:


journalctl -u systemd-modules-load.service


▪️ Итоги

systemctl status → быстрый обзор состояния системы.
systemctl list-units --failed → список проблемных юнитов.
journalctl -u <unit> → подробные логи конкретной службы.

#linux #systemctl

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

⛔️ Ограничиваем ресурсы в Linux

Control Groups (или просто cgroups) - это фича ядра Linux, позволяющая ограничивать ресурсы, выделенные для процессов: CPU, память, диск, сеть и т.д.

⭐️ Пример: вы хотите, чтобы процесс stress не съедал всю память и CPU:


# Создаём cgroup
sudo cgcreate -g memory,cpu:/limitgroup

# Ограничим память до 500MB
sudo cgset -r memory.limit_in_bytes=$((500*1024*1024)) limitgroup

# Ограничим CPU (50% одного ядра)
sudo cgset -r cpu.cfs_quota_us=50000 limitgroup
sudo cgset -r cpu.cfs_period_us=100000 limitgroup

# Запускаем процесс внутри cgroup
sudo cgexec -g memory,cpu:/limitgroup stress --vm 1 --vm-bytes 700M --cpu 1


Процесс превысит лимит - будет убит OOM-килером.
Все параметры и статистику можно смотреть в /sys/fs/cgroup/.

#linux #cgroups

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

🎓 Новый поток DevOps Upgrade стартует 30 июня
И этот поток — с важными обновлениями, потому что мы знаем как трудно учиться летом:

🟢 Вводный модуль и тренинг по тайм-менеджменту
🟢 Повторные попытки сдачи практики
🟢 Больше работы с куратором и поддержка по сложным вопросам
🟢 Бесплатный перенос на следующий поток
🟢 Новая модель оплаты — перед каждым модулем, равными частями

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

📅 Учиться предстоит 9 месяцев: Ansible, Docker, Kubernetes, CI/CD, Terraform, мониторинг, портфолио, диплом, сертификации и поддержка на всех этапах.

💸 До 31 мая можно забронировать место на курсе за 10 000 ₽ 🔥

👉 Все подробности —по ссылке.

Читать полностью…

NetworkAdmin.ru

❓ Traceroute, Tracert и Tracepath - в чём разница и что выбрать

Когда нужно быстро определить маршрут до хоста, используются утилиты трассировки: traceroute, tracert и tracepath. Все они работают схожим образом - отправляют пакеты с увеличивающимся TTL и фиксируют ответы от промежуточных узлов. Но есть важные отличия.

▪️ traceroute (Linux). По умолчанию использует UDP, но можно переключиться на ICMP:


traceroute networkadmin.ru # UDP
traceroute -I networkadmin.ru # ICMP


UDP-пакеты могут блокироваться, и вы не получите ответ. Поэтому ICMP часто предпочтительнее в реальных условиях.

▪️ tracert (Windows). Использует только ICMP, без возможности выбора. Удобен и прост, но менее гибок.

▪️ tracepath (Linux). Аналог traceroute, тоже использует UDP, но дополнительно показывает MTU на каждом участке маршрута. Очень полезно при диагностике проблем с фрагментацией, особенно в VPN и туннелях.

🌟 Что выбрать?

- Если нужна универсальность и вы работаете в Linux - используйте traceroute -I.
- Если нужна информация о MTU - tracepath.
- В Windows - только tracert, но ICMP чаще проходит успешно.

#networktools

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

🌐 Microsoft Network Monitor: захват и анализ сетевого трафика в Windows

Network Monitor - бесплатная утилита от Microsoft для захвата сетевого трафика. Несмотря на отсутствие обновлений, инструмент отлично подходит для диагностики на серверах и рабочих станциях.

⚙️ Установка:


winget install Microsoft.NetMon


Или скачайте с официального сайта Microsoft.

▪️ Быстрый старт:

- Запустите от администратора.
- Создайте новую сессию (New Capture → Capture Settings).
- Выберите профиль парсера Windows.
- Нажмите Start для начала захвата.

▪️ Примеры фильтров:

Перехват SMTP-трафика:


TCP.Port == 25 or TCP.Port == 465 or TCP.Port == 587


Трафик к определенному IP:


IPv4.Address == 192.168.1.100


Захват только HTTP-запросов:


HTTP.Request


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

#networktools

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

🛡 Безопасный запуск подозрительных файлов: Windows Sandbox и Hyper-V

Приходит странный .exe в письме, скачали скрипт с форума, нужно проверить .bat - но лезть в боевую систему страшно? Windows уже давно предлагает удобные инструменты для таких задач: Windows Sandbox и Hyper-V.

Windows Sandbox - это изолированная среда, встроенная в Windows 10/11 Pro и Enterprise, запускаемая как обычное приложение. Каждая сессия создаёт чистую виртуальную Windows, которая полностью удаляется при закрытии. Идеально для тестирования вредоносных или сомнительных файлов.

▪️ Активация:


Панель управления → Программы → Включение компонентов Windows → Windows Sandbox


▪️ Особенности:

– Не требует настройки
– Работает поверх Hyper-V
– Доступ к сети (опционально)
– Поддержка копипаста между хостом и Sandbox
– Можно запускать EXE, MSI, BAT, PowerShell-файлы
– Всё, что вы сделали, исчезает после выхода из песочницы


Пример: получили подозрительный .exe? Копируете его в Sandbox, запускаете и смотрите поведение - система хоста в полной безопасности.

▪️ Кастомизация

Можно создавать .wsb-файлы для кастомных сессий. Пример конфигурации:


<Configuration>
<MappedFolders>
<MappedFolder>
<HostFolder>C:\test</HostFolder>
<ReadOnly>true</ReadOnly>
</MappedFolder>
</MappedFolders>
<Networking>Disable</Networking>
<LogonCommand>
<Command>explorer.exe</Command>
</LogonCommand>
</Configuration>


🌟 А если нужно больше контроля? Используйте Hyper-V

Hyper-V - полноценная система виртуализации. Позволяет запускать полноценные виртуалки с Windows или Linux, делать снапшоты, настраивать сеть, симулировать заражения. Подходит для постоянных стендов, C2-серверов, песочниц под малварь.

#windows #security

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

Развёртывание Linux по сети с PXE

Когда нужно установить Linux на множество серверов или ПК без USB-флешек и дисков, на помощь приходит PXE (Preboot Execution Environment) - загрузка ОС по сети. PXE позволяет запустить установщик Linux прямо из сети, что особенно удобно в дата-центрах, офисах и лабораториях.

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

Компьютер включается и запрашивает сетевой загрузчик по DHCP.
Сервер отвечает и передаёт загрузочный образ через TFTP.
Клиент загружает ядро Linux и переходит к установке системы.


🌟 Что нужно для развертывания PXE?

DHCP-сервер (для раздачи PXE-загрузчика)
TFTP-сервер (для передачи загрузочных файлов)
HTTP/NFS-сервер (для хранения установочных файлов)


1️⃣ Устанавливаем нужные пакеты. На PXE-сервере установим DHCP, TFTP и Apache (для раздачи образов):


sudo apt update && sudo apt install isc-dhcp-server tftpd-hpa apache2


2️⃣ Настраиваем DHCP для PXE. Редактируем /etc/dhcp/dhcpd.conf:


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;
next-server 192.168.1.10; # PXE-сервер
filename "pxelinux.0";
}


Перезапускаем DHCP:


sudo systemctl restart isc-dhcp-server


3️⃣ Настраиваем TFTP-сервер. Указываем папку для загрузки PXE-файлов в /etc/default/tftpd-hpa:


TFTP_DIRECTORY="/srv/tftp"
TFTP_OPTIONS="--secure"


Перезапускаем:


sudo systemctl restart tftpd-hpa


4️⃣ Загружаем PXELINUX. Скачиваем файлы для PXE:


sudo mkdir -p /srv/tftp
cd /srv/tftp
sudo apt install syslinux pxelinux
sudo cp /usr/lib/PXELINUX/pxelinux.0 .
sudo cp /usr/lib/syslinux/modules/bios/* .


Создаём каталог для меню:


mkdir -p /srv/tftp/pxelinux.cfg


5️⃣ Создаём загрузочное меню PXE. Создаём файл /srv/tftp/pxelinux.cfg/default:


DEFAULT menu.c32
PROMPT 0
TIMEOUT 100
ONTIMEOUT install

LABEL install
MENU LABEL Install Ubuntu 22.04
KERNEL ubuntu/vmlinuz
APPEND initrd=ubuntu/initrd.gz netboot=http://192.168.1.10/ubuntu/


6️⃣ Готовим установочные файлы. Загружаем образы на веб-сервер:


sudo mkdir -p /var/www/html/ubuntu
cd /var/www/html/ubuntu
wget http://archive.ubuntu.com/ubuntu/dists/jammy/main/installer-amd64/current/images/netboot/netboot.tar.gz
tar -xzf netboot.tar.gz


Перезапускаем Apache:


sudo systemctl restart apache2


7️⃣ Запускаем установку по сети. Теперь включаем клиентский компьютер, в BIOS включаем PXE-загрузку и выбираем сетевой интерфейс в качестве загрузочного устройства.

Клиент загрузится и начнёт установку Linux прямо из сети.

#linux #install

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

Интимная обстановка 🔞

#юмор

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

▶️ БЕСПЛАТНЫЙ МАСТЕР-КЛАСС «Linux: от основ к профессиональному использованию»

14 мая в 19:00 (МСК) | Онлайн | Бесплатно
✔️Регистрация

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

На нашем вебинаре мы:
▪️ Развеем мифы о сложности Linux и покажем, как начать работать с ним уверенно
▪️ Продемонстрируем практическое применение в реальных рабочих задачах
▪️ Расскажем о карьерных перспективах для специалистов, владеющих Linux
▪️ Дадим пошаговый алгоритм освоения системы

Особое внимание уделим:
✔ Работе с терминалом (основные команды и их применение)
✔ Решению типовых задач системного администрирования
✔ Возможностям для профессионального роста
 
Ведущий: Дмитрий Семьянов — действующий специалист по пентесту, куратор курса «Основы Linux».

Не пропустите! Регистрация здесь.
🚀 Трудности с регистрацией? Пишите @Codeby_Academy

Читать полностью…

NetworkAdmin.ru

Весна, хочется чего-то нового

#юмор

🧑‍💻 NetworkAdmin

Читать полностью…

NetworkAdmin.ru

💬 Что скрывает Linux Kernel: модули ядра и их влияние

Ядро Linux - это не монолит, в котором всё скомпилировано раз и навсегда. Оно устроено куда гибче. Большинство драйверов, подсистем и расширений — это загружаемые модули ядра (kernel modules), которые можно подключать и отключать "на лету", без перезагрузки системы.

🌟 Что такое модуль ядра?

Модуль ядра - это объектный файл (.ko), содержащий часть функциональности, которая может быть подключена к ядру динамически. Это может быть драйвер оборудования, файловая система, сетевая функциональность и даже механизмы безопасности (например, AppArmor или SELinux).

▪️ Как посмотреть, какие модули загружены?


lsmod


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

▪️ Как загрузить модуль вручную?


modprobe имя_модуля


Если вы знаете, какой драйвер нужен (например, vfat для FAT-файловых систем), вы можете подгрузить его в ядро прямо во время работы.

▪️ Как выгрузить ненужный модуль?


modprobe -r имя_модуля


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

▪️ Где лежат модули?
Обычно они находятся в /lib/modules/$(uname -r)/kernel/

Можно искать по названию:


find /lib/modules/$(uname -r) -type f -name '*имя*'


▪️ Почему это важно?
Модули ядра напрямую влияют на:

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


#linux #kernel #modules

🧑‍💻 NetworkAdmin

Читать полностью…
Subscribe to a channel