NetworkAdmin.ru
Відкрити в Telegram
Авторский блог про сетевое и системное администрирование. Сайт: networkadmin.ru Реклама: @dad_admin Биржа: https://telega.in/c/networkadminru
Показати більше4 725
Підписники
Немає даних24 години
-57 днів
Немає даних30 день
Архів дописів
4 723
📝❓ Хотите научиться эффективно мониторить серверы и приложения с помощью одного из самых мощных инструментов?
⏰ Присоединяйтесь к открытому вебинару 30 апреля в 20:00 мск и погрузитесь в Prometheus — инструмент, который поможет вам оперативно выявлять проблемы, контролировать метрики и отслеживать состояние ваших сервисов.
💪 Вы освоите основы работы с Prometheus, научитесь настраивать мониторинг с нуля, работать с экспортерами, анализировать метрики через язык запросов PromQL и строить дашборды в Grafana.
👉 Регистрируйтесь и получите скидку на большое обучение «DevOps-практики и инструменты»: https://otus.pw/5wQo/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
4 723
🖥 Секреты удобной работы в терминале
Если вы проводите много времени в терминале - переход на zsh и настройка Oh My Zsh может серьёзно упростить и ускорить вашу работу. Это не просто замена bash, а настоящий рабочий инструмент с автодополнением, подсветкой синтаксиса, git-индикацией и кучей других плюшек.
⚙️ Установка Zsh и Oh My Zsh
sudo apt install zsh # или brew install zsh на macOS
chsh -s $(which zsh) # сделаем zsh шеллом по умолчанию
⚙️ Установка Oh My Zsh:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
▪️ Темы и кастомизация. Тема "agnoster" или "powerlevel10k" - удобная и информативная, особенно для работы с Git.
Powerlevel10k:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k
И укажите в .zshrc:
ZSH_THEME="powerlevel10k/powerlevel10k"
🌟 Полезные плагины Oh My Zsh. В .zshrc:
plugins=(git z sudo zsh-autosuggestions zsh-syntax-highlighting)
git - алиасы вроде gst (git status), gco (git checkout) z - умное перемещение по папкам (находит нужную по частичному совпадению) sudo - быстрое добавление sudo при повторе команды с ESC+ESC zsh-autosuggestions - автоподсказки по истории zsh-syntax-highlighting - подсветка ошибок до нажатия Enter🌟 Полезные фишки и алиасы. Автодополнение для ssh, kubectl, docker, git Автоисправление команд (grpe → grep) Алиасы можно описывать прямо в .zshrc:
alias gs='git status'
alias ll='ls -alF'
alias ..='cd ..'
#zsh #linux #terminal
🧑💻 NetworkAdmin4 723
✅ Имба: в сети обнаружили мегашпаргалку с самыми полезными нейросетями на все случаи жизни.
Сохраняем самое крутое:
🤩Claude 3.7 Sonnet — мастхев для программистов
🤩Same New — быстрая копия интерфейса сайта
🤩Openrouter — доступ ко всем ИИ
🤩Suno AI — своя музыка с нейросетью
Подпишись и находи для себя крутые нейросети бесплатно: https://t.me/+hoQ1aNrSFxdkMmU6
4 723
🛡 Отказоустойчивый DNS
Надежный DNS - это основа стабильной работы инфраструктуры. Если основной DNS падает, могут лечь и внутренние сервисы, и доступ к внешним ресурсам. Один из проверенных способов построения отказоустойчивой DNS-системы - связка Bind9 (авторитетный DNS) + Unbound (рекурсивный кеширующий DNS).
🌟 Архитектура:
Bind9 отвечает за авторитетные зоны — внутренние домены, PTR-записи, сервисные SRV и т.д. Unbound обрабатывает внешние запросы (Google, GitHub, NTP и прочее), кеширует и защищает от DNS-рекурсии. Между ними можно использовать dnsdist для балансировки и DDoS-защиты (опционально). Обе службы работают на разных портах (например, Bind на 1053, Unbound на 53).⚙️ Настройка Bind9 (авторитетный). Устанавливаем:
sudo apt install bind9
Конфигурация зоны:
zone "corp.lan" {
type master;
file "/etc/bind/zones/db.corp.lan";
allow-query { any; };
};
Слушаем нестандартный порт:
options {
listen-on port 1053 { any; };
recursion no;
};
⚙️ Настройка Unbound (рекурсивный + прокси к Bind9). Устанавливаем:
sudo apt install unbound
Базовый unbound.conf:
server:
interface: 0.0.0.0
access-control: 192.168.0.0/16 allow
verbosity: 1
# Кеширование и защита
cache-max-ttl: 86400
hide-identity: yes
hide-version: yes
# Проксирование запросов во внутренние зоны на Bind
local-zone: "corp.lan." transparent
forward-zone:
name: "corp.lan"
forward-addr: 127.0.0.1@1053
▪️ Отказоустойчивость. Устанавливаем второй DNS-сервер (с таким же конфигом Bind + Unbound).
Прописываем оба IP-адреса на клиентах или в DHCP:
DNS1: 192.168.1.10
DNS2: 192.168.1.11
Используем keepalived или VRRP для виртуального IP, если хотим активный кластер.
▪️ Безопасность и дополнения: Активируйте DNSSEC в Unbound.
1. Используйте dnsdist для фильтрации, балансировки и rate-limit.
2. Следите за логами (/var/log/syslog или systemd-journald).
#DNS #Bind9 #Unbound
🧑💻 NetworkAdmin4 723
Как загнать IT-команду в ловушку?
Очень просто:
- полностью доверять все ключевые задачи двум единственным крутым специалистам
- не развивать остальную команду: держать прочих сотрудников на одном и том же уровне
- дождаться, пока асы разработки не выдержат нагрузки и уйдут
- finita la comedia!
Не дайте такому сценарию осуществиться.
Приходите на открытый вебинар «Как руководителю развивать команду: структурируем компетенции и гибкие навыки сотрудников».
Будет интересно: операционным директорам и IT-руководителям, менеджерам продуктов и проектов, тимлидам поддержки.
- Вы разберётесь, как повысить эффективность вашей бизнес-единицы
- Узнаете, как создать матрицу компетенций и составить индивидуальный план развития сотрудника
- Поймёте, как развивать всех сотрудников, чтобы не зависеть от отдельных специалистов
- Увидите, как подойти к развитию ваших сотрудников с точки зрения задач бизнеса
Спикеры:
Константин Кафтан, менеджер ИИ-продуктов в Wildberries
Галина Баранова, COO в Altasales, продюсер бизнес-форума «Продажи.Главное»
Бонус! Всем участникам – скидка 5% на любой курс и полезная инструкция «5 ключевых коммуникационных навыков для ИТ-команд»
23 апреля, 19:00 МСК, Бесплатно
Записаться на событие - https://otus.pw/v9vt/?erid=2W5zFJaLixY
Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
4 723
🟣 Кто и что устанавливал в системе за последние 7 дней
Если нужно быстро узнать, какие приложения, обновления или MSI-пакеты были установлены или удалены на Windows-системе за последнюю неделю - поможет встроенный журнал Reliability Monitor и небольшой PowerShell-скрипт.
Скрипт вытащит:
Установку/удаление MSI пакетов Установку/удаление приложений из Microsoft Store Установленные обновления Windows Пользователя, от имени которого происходили действия▪️ Вот сам скрипт:
$DaysAgo = (Get-Date).AddDays(-7)
$RealiabilityFilter = "TimeGenerated > '$DaysAgo' and (SourceName='Microsoft-Windows-WindowsUpdateClient' or SourceName='MsiInstaller')"
Get-CimInstance -ClassName Win32_ReliabilityRecords -Filter $RealiabilityFilter |
Select-Object TimeGenerated, ProductName, User, Message |
Out-GridView
Скрипт использует данные из журнала Win32_ReliabilityRecords и отфильтровывает события только по установке/удалению софта. Отображение в Out-GridView - удобно и наглядно для быстрого анализа.
Отличный инструмент, если нужно быстро понять, что происходило с системой в плане установки ПО.
#windows #audit #security
🧑💻 NetworkAdmin4 723
🖥GitOps практики. Развертываем сервис через ArgoCD
На открытом уроке рассмотрим:
- основные концепции GitOps;
- принципы работы ArgoCD;
- пошаговое развертывание сервиса с использованием ArgoCD.
После занятий вы будете знать:
- Что такое ArgoCD и как оно работает;
- Как установить и настроить ArgoCD;
- Как происходит развертывание и управление сервисами с помощью ArgoCD.
👉 Регистрация и подробности о курсе DevOps Advanced
https://otus.pw/FhZd/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
4 723
🔼 Тюнинг сетевого стека Linux
Настройка сетевого стека в Linux - тема специфичная и непростая. В сети полно материалов, но большинство из них просто копируют друг друга, а рекомендации часто устаревшие. Ниже актуальная на сегодня подборка параметров, которые стоит учитывать при настройке сервера. Основной акцент - на управление памятью и таймаутами. Оперативки сейчас много, так что имеет смысл использовать это преимущество.
▪️ Полезные параметры sysctl
📍 Максимум осиротевших сокетов (TCP orphans). Каждый такой сокет съедает ~64 КБ памяти. Увеличиваем лимит, если сервер мощный:
net.ipv4.tcp_max_orphans = 65536
📍 Сокращаем FIN-WAIT-2. Позволяет быстрее очищать соединения, которые "зависли":
net.ipv4.tcp_fin_timeout = 10
📍 Настройка KeepAlive-проверок. Полезно для "выметания" неактивных соединений:
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5
📍 Диапазон локальных портов. Расширяем диапазон для исходящих соединений:
net.ipv4.ip_local_port_range = 10240 65535
📍 Увеличиваем очередь входящих соединений. Особенно важно на серверах с высокой нагрузкой:
net.core.somaxconn = 16384
📍 Буферы по умолчанию. Прокачиваем rmem и wmem для эффективной работы сокетов:
net.core.rmem_default = 851968
net.core.wmem_default = 851968
net.core.rmem_max = 12582912
net.core.wmem_max = 12582912
📍 Конфигурация TCP Congestion Control. Выбираем алгоритм, подходящий под вашу нагрузку. По умолчанию:
net.ipv4.tcp_congestion_control = cubic
📍 Отключаем TCP syncookies. Если нет необходимости в защите от SYN-флудов, можно отключить:
net.ipv4.tcp_syncookies = 0
📍 Включаем защиту от TIME_WAIT атак. Обязательно при большом количестве соединений:
net.ipv4.tcp_rfc1337 = 1
📍 Безопасность ICMP и redirect’ов. Для серверов, которые не являются маршрутизаторами:
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.all.send_redirects = 0
Дополнительно - игнорировать ICMP echo-запросы (ping):
net.ipv4.icmp_echo_ignore_all = 1
❗️ Стоит учитывать
Параметры вроде tcp_mem, tcp_rmem, tcp_wmem зависят от объема оперативной памяти и автоматически настраиваются при загрузке. Их можно регулировать вручную при необходимости, но в большинстве случаев дефолтных значений достаточно.#linux #sysctl #TCP 🧑💻 NetworkAdmin
4 723
Раз уж залезла, глянь ошибку из лога, может чего подскажешь..
#юмор
🧑💻 NetworkAdmin
4 723
⬇️ Развертывание DHCP-сервера на Linux с Kea
Если вам нужен гибкий и высокопроизводительный DHCP-сервер для управления IP-адресами в сети, стоит обратить внимание на Kea DHCP от ISC. В отличие от классического ISC DHCP, Kea предлагает:
Динамическое обновление конфигурации без перезапуска сервера Поддержку API RESTful для управления в реальном времени Работу с базами данных (MySQL, PostgreSQL, Cassandra) Поддержку DHCPv4 и DHCPv6Для примера, развернем DHCP-сервер Kea на Ubuntu/Debian и настроим его на раздачу IP-адресов. ⚙️ Установка Kea DHCP. На Debian/Ubuntu устанавливаем Kea из официальных репозиториев:
sudo apt update && sudo apt install -y isc-kea-dhcp4-server
На CentOS/RHEL Kea можно установить через EPEL:
sudo dnf install -y epel-release
sudo dnf install -y kea
▪️ Настройка DHCP-сервера Kea. Файл конфигурации Kea для DHCPv4: /etc/kea/kea-dhcp4.conf
Пример минимальной конфигурации:
{
"Dhcp4": {
"interfaces-config": {
"interfaces": [ "eth0" ]
},
"subnet4": [
{
"subnet": "192.168.1.0/24",
"pools": [
{ "pool": "192.168.1.100 - 192.168.1.200" }
],
"option-data": [
{ "name": "routers", "data": "192.168.1.1" },
{ "name": "domain-name-servers", "data": "8.8.8.8, 8.8.4.4" }
]
}
]
}
}
eth0 - сетевой интерфейс, с которого раздаются адреса 192.168.1.100 - 192.168.1.200 - пул IP-адресов 192.168.1.1 - шлюз по умолчанию 8.8.8.8, 8.8.4.4 - DNS-серверы▪️ Запуск и управление Kea DHCP. После настройки запускаем Kea DHCP:
sudo systemctl enable --now kea-dhcp4
sudo systemctl status kea-dhcp4
Проверяем логи для диагностики:
journalctl -u kea-dhcp4 --no-pager -n 50
Если нужно перезапустить DHCP-сервер после изменения конфигурации:
sudo systemctl restart kea-dhcp4
▪️ Проверка работы DHCP. Проверяем, какие клиенты получили IP-адреса:
cat /var/lib/kea/dhcp4.leases
Запросим новый IP с клиента:
dhclient -v eth0
Если адрес не выдается, смотрим активные порты Kea:
sudo ss -tulpn | grep kea
⭐️ Дополнительные возможности Kea
Подключение к MySQL или PostgreSQL для хранения аренды IP Настройка статических IP-адресов для MAC-адресов Работа с DHCPv6 для IPv6-сетей Динамическое управление через API RESTful#linux #DHCP #Kea 🧑💻 NetworkAdmin
4 723
👀 Контроль сетевого трафика в Linux с помощью eBPF и XDP
Современные нагрузки требуют высокой производительности сетевых решений, а классические инструменты вроде
iptables и nftables уже не всегда справляются. Здесь на сцену выходят eBPF (Extended Berkeley Packet Filter) и XDP (eXpress Data Path) - технологии для глубокой фильтрации и анализа трафика прямо в ядре Linux.
🌟 Что это такое?
eBPF - механизм в ядре Linux, позволяющий безопасно выполнять программы в режиме ядра без изменения исходного кода. Используется для фильтрации пакетов, мониторинга, трассировки и профилирования системы. XDP - подсистема ядра Linux, основанная на eBPF, позволяющая обрабатывать пакеты на самом раннем этапе их поступления в систему (на уровне драйвера сетевой карты).▪️ Как использовать eBPF и XDP для анализа трафика? Для работы с eBPF можно использовать утилиты bpftool и bcc (BPF Compiler Collection). 1️⃣ Установим необходимые пакеты:
sudo apt install -y bpfcc-tools linux-headers-$(uname -r) #на Debian/Ubuntu
sudo dnf install -y bpftool bcc #на RHEL/Fedora
2️⃣ Запустим мониторинг пакетов с eBPF:
sudo /usr/sbin/tc qdisc add dev eth0 clsact
sudo /usr/sbin/tc filter add dev eth0 egress bpf direct-action obj xdp_prog_kern.o
Это позволит анализировать выходящий трафик с интерфейса eth0.
3️⃣ Фильтрация пакетов с помощью XDP. Простейший eBPF-программы для отбрасывания пакетов (пример на C):
#include <linux/bpf.h>
int xdp_drop(struct __sk_buff *skb) {
return XDP_DROP; // Отбрасываем пакет
}
Компилируем и загружаем программу в XDP:
clang -O2 -target bpf -c xdp_drop.c -o xdp_drop.o
sudo ip link set dev eth0 xdp obj xdp_drop.o
Теперь весь трафик на интерфейсе eth0 будет блокироваться на уровне драйвера.
⭐️ Где применяют eBPF и XDP?
DDoS-защита - можно отбрасывать вредоносный трафик без нагрузки на процессор. Балансировка нагрузки - построение L4-L7 балансировщиков без iptables. Мониторинг сети - сбор детальной статистики по пакетам в реальном времени.Примеры таких решений: Cilium, Suricata, Falco, Katran (Facebook), XDP Firewall. #linux #eBPF #XDP 🧑💻 NetworkAdmin
4 723
❓ Да что вы знаете про DevOps?
Проверь себя – пройди тест по ДевОпс и узнай, можешь ли ты стать DevOps-инженером!
🫵 Ответишь успешно — пройдешь на курс «DevOps практики и инструменты» от Отус по специальной цене.
Освойте принципы и популярные инструменты DevOps-инженера, которые помогут повысить вашу востребованность и доход на онлайн-курсе «DevOps практики и инструменты» от OTUS.
Авторская программа подготовлена опытным инженером и завалидированная партнером Express42.
➡️ ПРОЙТИ ТЕСТ
💥 Бонусом за успешно пройденный тест получишь доступ на сайт курса к записям лучших открытых уроков.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
4 723
🚫 Как полностью удалить OneDrive из Windows 10/11
OneDrive предустановлен во всех версиях Windows 10 и 11, интегрирован в систему и запускается автоматически при входе в систему. По умолчанию OneDrive устанавливается отдельно для каждого пользователя в его профиле:
%localappdata%\Microsoft\OneDrive. Если OneDrive вам не нужен, его можно удалить, но важно сделать это для всех пользователей, включая будущие учетные записи.
▪️ Удаление OneDrive для всех пользователей
1️⃣ Остановите и удалите клиент OneDrive:
taskkill /f /im OneDrive.exe
%SystemRoot%\System32\OneDriveSetup.exe /uninstall
2️⃣ Удалите остатки файлов и папок:
rd "%UserProfile%\OneDrive" /Q /S
rd "%LocalAppData%\Microsoft\OneDrive" /Q /S
rd "%ProgramData%\Microsoft OneDrive" /Q /S
3️⃣ Очистите записи в реестре:
reg delete "HKEY_CURRENT_USER\Software\Microsoft\OneDrive" /f
reg delete "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\OneDrive" /f
▪️ Запрещение установки OneDrive для новых пользователей. Чтобы OneDrive не устанавливался автоматически при создании новых учетных записей, нужно удалить соответствующую запись из реестра шаблонного профиля Default:
reg load "HKU\Default" "C:\Users\Default\NTUSER.DAT"
reg delete "HKEY_USERS\Default\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v "OneDriveSetup" /f
reg unload "HKU\Default"
Теперь новые пользователи на этом компьютере не получат OneDrive в своих профилях.
#windows #OneDrive
🧑💻 NetworkAdmin4 723
✏️ Логи Nginx в JSON: удобство и гибкость
По умолчанию Nginx ведёт логи в текстовом формате, но уже давно умеет писать их в JSON. Однако, в большинстве конфигураций всё ещё используются старые текстовые логи. Если вы до сих пор не перешли на JSON, самое время это сделать – его проще анализировать вручную и обрабатывать в автоматизированных системах.
⚙️ Настройка JSON-логов в Nginx. Включить JSON-формат просто – достаточно добавить новую директиву
log_format в конфигурационный файл:
log_format json_combined escape=json '{'
'"time_local":"$time_local",'
'"remote_addr":"$remote_addr",'
'"remote_user":"$remote_user",'
'"request":"$request",'
'"status":"$status",'
'"body_bytes_sent":"$body_bytes_sent",'
'"request_time":"$request_time",'
'"http_referrer":"$http_referer",'
'"http_user_agent":"$http_user_agent"'
'}';
Добавляем в http { } или в настройки виртуального хоста:
access_log /var/log/nginx/access.log json_combined;
После перезапуска Nginx сервер начнёт записывать логи в JSON.
🌟 Почему это удобно?
Если вы используете Zabbix, ELK (Elasticsearch + Logstash + Kibana), Grafana или другие системы мониторинга – обработка JSON-логов упростится, так как для него уже есть готовые парсеры.Но даже в консоли JSON-логи обрабатывать намного удобнее с помощью jq: ▪️ Вывод всех логов в формате JSON:
jq '.' access.log
▪️ Список всех запрашиваемых URL:
jq '.request' access.log
▪️ Фильтр по коду ответа 404 (показывает всю запись):
jq '. | select(.status=="404")' access.log
▪️ Вывод только URL с кодом 404:
jq '. | select(.status=="404") | .request' access.log
▪️ Добавляем к URL ещё и время запроса:
jq '. | select(.status=="404") | .time_local, .request' access.log
▪️ Вывод значений без кавычек (флаг -r):
jq -r '.request' access.log
🌟 Дополнительные переменные для логов. К стандартным переменным можно добавить полезные параметры:
Метрики запроса и прокси-серверов:
$request_length – длина запроса $upstream_addr – адрес upstream-сервера $upstream_status – HTTP-ответ от upstream $upstream_response_time – время ответа backend'а $upstream_connect_time – время установки соединения с upstream $upstream_header_time – время получения HTTP-заголовков от upstreamБезопасность и TLS:
$server_name – имя виртуального хоста $ssl_protocol – используемый TLS-протокол $ssl_cipher – алгоритм шифрования#Nginx #JSON 🧑💻 NetworkAdmin
4 723
Что делать, если проект идёт через ж@пу? А команда не выполняет задачи, срывает сроки и все ходят с недовольной мордой?
Можно всех уволить, а можно начать читать канал Александра Наливайко, и научиться правильно создавать и управлять командами.
Александр уже 20 лет строит масштабные проекты, управляет командами 100+ человек и обладает универсальным методом, который можно применить практически в любой сфере.
А еще на канале можно почитать статьи на тему:
😡 Что делать, если начальник чудит?
🥸 Нужны ли внешние консультанты?
📝 Как правильно выстроить коммуникацию с коллегами
Подписывайся, и получи в подарок шаблоны писем для коммуникации на всех этапах проекта: @pmnavru
4 723
💎 Как правильно настроить SNMP для мониторинга сети
SNMP (Simple Network Management Protocol) - один из самых популярных протоколов для мониторинга сетевого оборудования, серверов и рабочих станций. Он позволяет получать данные о загрузке процессора, памяти, сетевых интерфейсах и многом другом. Однако, неправильная настройка SNMP может стать уязвимостью в системе. Разберем, как его правильно настроить.
1️⃣ Выбор версии SNMP. Существует три версии протокола:
SNMPv1 – устаревшая, передает данные в открытом виде (НЕ рекомендуется). SNMPv2c – улучшенная версия, но всё еще без шифрования. SNMPv3 – наиболее безопасная, поддерживает аутентификацию и шифрование (РЕКОМЕНДУЕТСЯ).Для безопасного мониторинга лучше взять SNMPv3 с аутентификацией и шифрованием. 2️⃣ Настройка SNMP на Linux. Установка SNMP-сервера (snmpd)
sudo apt install snmp snmpd -y # Для Debian/Ubuntu
sudo yum install net-snmp net-snmp-utils -y # Для CentOS/RHEL
Редактирование конфигурации (/etc/snmp/snmpd.conf)
📍 Оставляем только нужные OID и включаем SNMPv3:
agentAddress udp:161,udp6:[::1]:161
rocommunity public default -V systemonly
sysLocation "Server Room"
sysContact "admin@networkadmin.ru"
📍 Перезапускаем службу:
sudo systemctl restart snmpd
sudo systemctl enable snmpd
📍 Проверяем работу SNMP:
snmpwalk -v2c -c public 127.0.0.1
3️⃣ Настройка SNMP на Windows. Установка SNMP
Для Windows 10/11 и Windows Server:
Enable-WindowsOptionalFeature -Online -FeatureName SNMP
Затем включите службу в services.msc и настройте параметры в HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SNMP через реестр.
4️⃣ Ограничение доступа по IP и Firewall. Чтобы SNMP не стал уязвимостью, ограничиваем доступ к нему.
На Linux (iptables/firewalld):
iptables -A INPUT -p udp --dport 161 -s 192.168.1.0/24 -j ACCEPT
iptables -A INPUT -p udp --dport 161 -j DROP
На Windows:
New-NetFirewallRule -DisplayName "Allow SNMP" -Direction Inbound -Protocol UDP -LocalPort 161 -Action Allow -RemoteAddress 192.168.1.0/24
5️⃣ Мониторинг с помощью SNMP. Для сбора данных через SNMP можно использовать:
Zabbix LibreNMS Telegraf + InfluxDB + Grafana snmpwalk/snmpgetПример запроса данных с устройства:
snmpget -v2c -c public 192.168.1.1 .1.3.6.1.2.1.1.5.0
#SNMP #linux #windows #monitoring
🧑💻 NetworkAdmin4 723
🗑 Microsoft: старый ПК с Windows 10 нужно утилизировать, если его невозможно обновить до Windows 11
Microsoft выпустила чек-лист по подготовке к окончанию поддержки Windows 10 - это произойдёт 14 октября 2025 года. Если кратко, то пользователей ждёт развилка из двух дорог.
Первый путь - обновление до Windows 11, если «железо» ещё тянет.
Второй - расстаться с компьютером (утилизировать), если он не соответствует требованиям новой ОС.
---
Приму в дар вашу технику, не соответствующую новым требованиям Microsoft 😁
🧑💻 NetworkAdmin
4 723
👀 Анализ логов Windows с PowerShell и LogParser
1️⃣ Анализ логов через PowerShell. PowerShell позволяет извлекать события из журнала Windows через Get-WinEvent или Get-EventLog.
📍 Пример 1: Найти все неудачные попытки входа (Event ID 4625):
Get-WinEvent -LogName Security | Where-Object { $_.Id -eq 4625 } | Select-Object TimeCreated, Id, Message
📍 Пример 2: Вывести последние 10 ошибок из системного журнала:
Get-WinEvent -LogName System -MaxEvents 10 | Where-Object { $_.Level -eq 2 }
📍 Пример 3: Фильтрация по дате и пользователю:
$start = (Get-Date).AddDays(-1) # Логи за последние 24 часа
Get-WinEvent -LogName Security | Where-Object { $_.TimeCreated -ge $start -and $_.Message -match "admin" }
PowerShell удобен, но не всегда эффективен при анализе больших логов. Тут поможет LogParser.
2️⃣ LogParser: SQL-запросы к логам Windows. LogParser - инструмент от Microsoft, который позволяет выполнять SQL-запросы к журналам событий, файлам и даже реестру.
⚙️ Установка: Скачиваем LogParser с официального сайта Microsoft и устанавливаем.
📍 Пример 1: Вывести все ошибки из системного журнала:
LogParser.exe "SELECT TimeGenerated, EventID, Message FROM System WHERE EventType = 1" -i:EVT
📍 Пример 2: Найти неудачные попытки входа:
LogParser.exe "SELECT TimeGenerated, SID, Message FROM Security WHERE EventID = 4625" -i:EVT
📍 Пример 3: Вывести топ-10 процессов, потребляющих ресурсы:
LogParser.exe "SELECT TOP 10 Image, COUNT(*) AS Hits FROM 'C:\Windows\System32\winevt\Logs\Application.evtx' GROUP BY Image ORDER BY Hits DESC" -i:EVT
LogParser умеет анализировать не только логи, но и файлы CSV, IIS-логи, текстовые файлы и даже WMI-запросы.
#windows #logs
🧑💻 NetworkAdmin
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
