NetworkAdmin.ru
Kanalga Telegram’da o‘tish
Авторский блог про сетевое и системное администрирование. Сайт: networkadmin.ru Реклама: @dad_admin Биржа: https://telega.in/c/networkadminru
Ko'proq ko'rsatish4 726
Obunachilar
Ma'lumot yo'q24 soatlar
-47 kunlar
+230 kunlar
Postlar arxiv
4 726
🏠 Создание минималистичного образа Windows 11
Если вы хотите получить максимально легкий и чистый образ windows 11 - без мусора, предустановленных приложений и ненужных сервисов, то обратите внимание на nano11.
Это PowerShell-скрипт, который автоматизирует процесс сборки сильно урезанной версии Windows 11. Он использует встроенные средства DISM и oscdimg.exe, не требуя никаких внешних утилит. В результате получается компактный ISO-образ, идеально подходящий для тестирования, отладки или развертывания на виртуальных машинах.▪️ Возможности nano11: Создает минимальный ISO-образ Windows 11 Удаляет все предустановленные приложения и лишние компоненты Не поддерживает обновления и добавление языков (только базовая сборка) Подходит для VM и изолированных окружений Полностью открытый исходный код, можно модифицировать под свои задачи Репозиторий проекта 😺 #windows #powershell 🧑💻 NetworkAdmin
4 726
😢 Скрыть содержимое bash-скрипта с помощью shc
Если нужно показать работу скрипта, но не отдавать исходники - можно скомпилировать его в бинарник через shc. Инструмент преобразует .sh в C-код и собирает исполняемый файл, на выходе пользователь получит работающий бинарник, но не читаемый скрипт.
▪️ Установка (Debian/Ubuntu):
apt install shc gcc
▪️ Пример. Есть script.sh:
#!/bin/bash
v=$1
echo "Simple BASH script. Entered VARIABLE: $v"
Компилируем:
shc -f -r script.sh
Появятся script.sh.x (бинарник) и script.sh.x.c (сгенерированный C). Запуск:
./script.sh.x 123
# Simple BASH script. Entered VARIABLE: 123
▪️ Полезные опции:
-e DD/MM/YYYY - срок годности; после даты бинарник не запустится.
-m "msg" - сообщение при истечении срока.
Пример с истечением:
shc -e 31/12/2025 -m "Срок истек" -f -r script.sh
./script.sh.x # Выдаст сообщение о просрочке
📌 Важное замечание по безопасности shc - это обфускация, а не криптография. В конечном бинарнике содержимое может быть восстановлено (есть утилиты вроде UnSHc). Также секреты, записанные в скрипт, при выполнении будут лежать в памяти и их можно попытаться снять дампом. Это защита от случайного копирования, но не от целенаправленного анализа.#script #security 🧑💻 NetworkAdmin
4 726
PT NGFW за стеклом. Этап 9. Секреты модулей безопасности
Всем привет! На связи наше технологическое реалити-шоу, где мы показываем, как на самом деле устроена магия внутри PT NGFW.
🔥 В новом эпизоде мы заглянем в самое СЕРДЦЕ системы — ее модули безопасности.
🗓 19 НОЯБРЯ 2025
⏰ С 14:00 до 15:00 мск
Наш резидент, Евгений Кутумин, эксперт группы разработки, расскажет, как рождается та самая интеллектуальная защита, которая предвосхищает угрозы.
🎯 В фокусе этого выпуска:
▪️ Предотвращение вторжений: десятки тысяч сигнатур и проверка расшифрованного трафика 💪
▪️ Контроль приложений: глубокое распознавание более 4000 приложений, включая уникальные для России 🕵️
▪️ Свой антивирус — свои правила. Быстрый и вшитый в ядро для мгновенной реакции ⚡️
▪️ Песочница: лаборатория для анализа угроз. Подозрительный файл? Мы его изолируем и посмотрим, не подвергая вашу сеть риску, что он сделает 🧪
▪️ Анализ угроз: прямая интеграция с PT Threat Intelligence Feeds 🚀
Регистрируйтесь, чтобы узнать, как создается производительный российский NGFW!
4 726
🎥 Вебинар по DevOps: Gitlab CI как конструктор workflow
🧠 На вебинаре вы узнаете:
- Быстрый обзор Gitlab CI в сравнении с другими решениями.
- Как использовать особенности Gitlab для улучшения работы команды.
- Антипаттерны CI: обилие ручек, сабмодули и другие.
- Идеальный пайплайн деплоя инфраструктуры по мнению автора.
🚀 В результате вебинара вы:
- Вы получите понимание ключевых преимуществ Gitlab CI по сравнению с другими решениями.
- Научитесь использовать возможности Gitlab для повышения производительности команды.
- Избежите распространенных ошибок и антипаттернов в CI/CD.
- Сможете создать идеальный пайплайн деплоя инфраструктуры, соответствующий лучшим практикам.
🎁 Все участники вебинара получат специальные условия на полное обучение курса "DevOps практики и инструменты"
👉 Для участия зарегистрируйтесь: https://otus.pw/jmdR/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
4 726
⁉️ IPv6 в локальной сети: нужен ли он вообще
IPv6 давно перестал быть экзотикой в мире, но в локальной инфраструктуре (особенно в корпоративных и домашних сетях) его почти никто не использует. Причина простая - в локалках адреса не заканчиваются, да и пользы от IPv6 нет, если нет связи с интернетом, где он действительно нужен.
А вот проблем добавить он может:
требует отдельной настройки безопасности,
нужно следить за совместимостью сервисов,
а если забыть про firewall для IPv6, то появится открытая дыра, о которой даже не узнаете.
Если протокол вам не нужен, то его стоит отключить.
▪️ Как отключить IPv6 в linux
Сделать это можно тремя способами, в зависимости от ситуации.
1️⃣ Через sysctl. Добавьте строки в /etc/sysctl.conf:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
Примените изменения:
sysctl -p
2️⃣ Через параметры GRUB (глобально). Если система только настраивается - проще всего отключить IPv6 через загрузчик.
Откройте /etc/default/grub и добавьте в строку:
GRUB_CMDLINE_LINUX="... ipv6.disable=1"
(оставшиеся параметры не удаляйте, просто добавьте через пробел)
Обновите конфигурацию загрузчика:
update-grub # Debian/Ubuntu
dpkg-reconfigure grub-pc
grub-mkconfig -o /boot/grub/grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg # RHEL/CentOS
После этого - перезагрузка и проверка:
ip a
ss -tulnp
Если IPv6 отключен - адресов вида ::1 или fe80:: вы больше не увидите.
3️⃣ Отключение для конкретного интерфейса. Иногда нужно отключить IPv6 не глобально, а только на одном интерфейсе.
Добавьте в /etc/sysctl.conf:
net.ipv6.conf.eth0.disable_ipv6 = 1
или примените временно:
sysctl -w net.ipv6.conf.eth0.disable_ipv6=1
▪️ Примечание для Windows
На windows лучше IPv6 не отключать. По словам microsoft, это может вызвать проблемы с внутренними сервисами и сетевыми компонентами системы.
#IPv6 #network
🧑💻 NetworkAdmin4 726
🕘 Оптимизация загрузки системы
Один из частых вопросов: почему система грузится так долго? Для раскрытия этой тайны можно использовать встроенный инструмент
systemd-analyze, который покажет подробную статистику загрузки и поможет найти узкие места.
▪️ Базовый анализ времени загрузки. Простейшая команда:
systemd-analyze
Пример вывода:
Startup finished in 2.351s (kernel) + 8.512s (userspace) = 10.863s
kernel - время работы ядра до запуска systemd
userspace - запуск сервисов и инициализация systemd
итоговое время загрузки
▪️ Кто тормоз? Чтобы узнать, какие юниты грузились дольше всего:
systemd-analyze blame
Вывод отсортирован по времени запуска. На первых строках будут виновники торжества.
▪️ Граф зависимостей. Для наглядности можно построить диаграмму загрузки:
systemd-analyze critical-chain
Она покажет цепочку сервисов, которые напрямую влияют на общее время старта.
Для детального графа в SVG:
systemd-analyze plot > boot.svg
Файл можно открыть в браузере - это визуализация всех юнитов и их зависимостей.
▪️ Оптимизация
1️⃣ Отключить ненужные сервисы
systemctl disable bluetooth.service
systemctl disable cups.service
2️⃣ Использовать systemd-analyze blame для точечной оптимизации
Например, если дольше всего грузится NetworkManager-wait-online.service, можно сократить или отключить ожидание сети.
3️⃣ Параллелизация загрузки. systemd умеет запускать независимые сервисы параллельно, поэтому полезно проверять зависимости в systemd-analyze critical-chain.
4️⃣ Использовать mask для блокировки ненужных юнитов
systemctl mask service_name
#systemd #boot
🧑💻 NetworkAdmin4 726
🖥 Замер реальной пропускной способности сети в linux и windows
iperf3 - показывает реальную пропускную способность между двумя хостами, минуя влияние дисков, приложений и прочего. Ранее уже был пост - ссылка. Здесь продолжение, с реальным примером замера и полезными флагами.
▪️ Принцип работы
iperf3 работает по схеме клиент–сервер.
Один узел запускается в режиме сервера, второй - в режиме клиента.
Сервер принимает входящий трафик, а клиент его генерирует.
▪️ Пример замера
1️⃣ На сервере:
iperf3 -s
не забываем, что по умолчанию слушает порт 5201, он должен быть открыт.
2️⃣ На клиенте:
iperf3 -c 192.168.1.10
Результат:
[ 5] 0.00-10.00 sec 1.09 GBytes 935 Mbits/sec sender
[ 5] 0.00-10.00 sec 1.09 GBytes 935 Mbits/sec receiver
То есть реальная пропускная способность между хостами - ~935 Мбит/с.
▪️ Полезные опции
📍-R - измерение скорости в обратном направлении (reverse).
iperf3 -c 192.168.1.10 -R
📍-u - UDP-тест (по умолчанию TCP). Можно задать целевую скорость:
iperf3 -c 192.168.1.10 -u -b 500M
📍-f - единицы измерения (m для Mbits, M для MBytes):
iperf3 -c 192.168.1.10 -f m
📍 Быстрый тест "все в одном". Если у вас SSH-доступ к обеим сторонам:
iperf3 -s & ssh user@192.168.1.10 'iperf3 -c $(hostname -I | awk "{print \$1}") -P 4'
Скрипт запускает сервер локально и клиент удаленно, автоматически подключая IP.
#network #iperf3
🧑💻 NetworkAdmin4 726
🗓 Где искать все запланированные задания
Три основных механизма, которые могут использоваться в linux:
1️⃣ Cron - классика планировщика. Cron существует с начала времен UNIX, и до сих пор активно используется.
Где искать системные задания:
/etc/crontab
/etc/cron.d/
/etc/cron.hourly/
/etc/cron.daily/
/etc/cron.weekly/
/etc/cron.monthly/
Где искать пользовательские задания:
/var/spool/cron/crontabs
или просто:
crontab -u user01 -l
Каждый пользователь имеет свой отдельный список задач.
2️⃣ systemd timers - современная замена cron. Почти все современные дистрибутивы перешли на systemd timers.
Они более гибкие: умеют запускать сервисы с зависимостями, работать после событий, логировать в journal и даже поддерживают случайные задержки.
Посмотреть список таймеров:
systemctl list-timers
Все таймеры, включая неактивные:
systemctl list-timers --all
Подробнее о конкретном таймере:
systemctl status logrotate.timer
Примеры стандартных таймеров, установленных по умолчанию:
apt-daily.timer
fstrim.timer
logrotate.timer
anacron.timer
3️⃣ at - разовые задачи. Старый, но всё ещё полезный инструмент для единичных отложенных команд.
Идеален для задач вроде: выполни через 5 минут и забудь.
В Debian 11+ утилита не устанавливается по умолчанию, но в CentOS/RHEL она ещё есть:
apt install at
Проверить очередь задач:
atq
Добавить разовую задачу:
echo "shutdown -h now" | at -m 10:20
Задачи хранятся в:
/var/spool/cron/atjobs/
или /var/spool/at/
#cron
🧑💻 NetworkAdmin4 726
☁️ Как проверить обращения на TCP-порт 22 от клиента с нужного IP
Иногда нужно выяснить, было ли соединение на SSH-порт сервера (обычно 22) с конкретного адреса. Казалось бы, задача простая, но есть несколько подходов - как для активных соединений, так и для анализа постфактум.
▪️ Активные подключения. Если соединение активно прямо сейчас, смотрим его в списке сетевых сокетов.
Современный инструмент - ss:
ss -ntu | grep ':22'
Аналог - netstat:
netstat -ntu | grep ':22'
Еще один полезный вариант - lsof:
lsof -ni TCP:22
▪️ Логирование попыток подключения. Если интересуют прошлые соединения, а не только активные, то тут уже нужны логи.
SSH по умолчанию пишет в системный журнал (/var/log/auth.log или /var/log/secure), но для других сервисов можно включить логирование через firewall.
Пример для iptables:
iptables -N ssh_in
iptables -A INPUT -p tcp --dport 22 -j ssh_in
iptables -A ssh_in -j LOG --log-level info --log-prefix "--IN--SSH-- "
iptables -A ssh_in -j ACCEPT
Теперь все подключения на порт 22 будут попадать в syslog.
Хотите отдельный лог - добавьте правило в rsyslog.
На практике часто используют отдельные цепочки (INPUT, OUTPUT, FORWARD), куда добавляют правила для логирования нужных адресов и портов.
▪️ Альтернативный способ. Можно посмотреть информацию о соединениях напрямую в conntrack:
cat /proc/net/nf_conntrack | grep 'dport=22'
По сути, ss и netstat читают данные именно отсюда.
#network
🧑💻 NetworkAdmin4 726
👩💻 Всем программистам посвящается!
Вот 17 авторских обучающих IT каналов по самым востребованным областям программирования:
Выбирай своё направление:
🤔 InfoSec & Хакинг — t.me/hacking_ready
👩💻 Python — t.me/python_ready
👩💻 Linux — t.me/linux_ready
🖼️ DevOps — t.me/devops_ready
👩💻 Bash & Shell — t.me/bash_ready
🖥 Data Science — t.me/data_ready
🖥 SQL & Базы Данных — t.me/sql_ready
🤖 Нейросети — t.me/neuro_ready
👩💻 C/C++ — https://t.me/cpp_ready
👩💻 C# & Unity — t.me/csharp_ready
📱 GameDev — t.me/csharp_ready
👩💻 IT Новости — t.me/it_ready
👩💻 Java — t.me/java_ready
🐞 QA-тестирование — t.me/qa_ready
📖 IT Книги — t.me/books_ready
👩💻 Frontend — t.me/frontend_ready
📱 JavaScript — t.me/javascript_ready
👩💻 Backend — t.me/backend_ready
📱 GitHub & Git — t.me/github_ready
📁 IT Факты — t.me/it_facts
🖥 Design — t.me/design_ready
📌 Гайды, шпаргалки, задачи, ресурсы и фишки для каждого языка программирования!
4 726
🖥 Nmap - полезные сценарии
Nmap - это не только сканер портов, но и инструмент для быстрой диагностики сети. Небольшая подборка команд, которые часто выручали меня в работе.
▪️ Быстрый обзор хоста
nmap -Pn -sS -T4 10.20.1.5
SYN-скан, не пингуем сначала, быстрый тайминг.
▪️ Топ-портов и сервисы
nmap -sV --top-ports 100 10.20.1.0/24
Узнаем версии сервисов по 100 самым распространенным портам в подсети.
▪️ Полный TCP-портскан
nmap -p- -T4 10.20.1.5
Сканируем все 65535 TCP-портов.
▪️ UDP-быстрый скан
sudo nmap -sU --top-ports 50 10.20.1.5
UDP требует прав root и больше времени - выбирайте топ-порты.
▪️ OS и глубокая детекция
sudo nmap -A 10.20.1.5
Включает обнаружение ОС, версий, скрипты и traceroute.
▪️ NSE-скрипты для быстрого аудита
nmap --script ssl-enum-ciphers,http-title -p 443,80 10.20.1.5
Проверяем SSL-шифры и заголовок сайта.
▪️ Массовый вывод в файлы
nmap -sV -oA scans/site_scan 10.20.1.0/24
Создаст site_scan.nmap, .gnmap и .xml - будет удобно для отчетов.
▪️ Сканирование живых хостов
nmap -sn 10.20.1.0/24
Быстрый ping-scan, покажет кто в сети сейчас.
#nmap #network
🧑💻 NetworkAdmin4 726
🎥 Вебинар по DevOps: Организуем CD с помощью Ansible и GitLab CI
🎁 Все участники вебинара получат специальные условия на полное обучение курса "DevOps практики и инструменты"
👉 Для участия зарегистрируйтесь: https://otus.pw/FJr5/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
4 726
❌ Ограничение процессов по CPU
Иногда необходимо жестко контролировать, какие ядра процесс может занимать, например, чтобы тяжелые задачи не забивали сервер или чтобы критичные сервисы не конкурировали за ресурсы. В linux это решается утилитой
taskset, которая позволяет как изменять affinity уже работающих процессов, так и запускать новые с заданными ограничениями.
1️⃣ Привязка уже запущенного процесса к выбранным ядрам. Для начала найдем PID процесса. Выберите любой удобный способ:
ps aux | grep myapp
pidof myapp
pgrep -f myapp
Посмотрим CPU в системе:
lscpu | grep -E 'CPU\(s\)|NUMA'
Пример вывода:
CPU(s): 8
NUMA node0 CPU(s): 0-7
Допустим, нам нужно посадить процесс на ядра 0–2. Для этого:
taskset -pc 0-2 1574
Пример результата:
pid 1574's current affinity list: 0-7
pid 1574's new affinity list: 0,1,2
Теперь процесс гарантированно не займет остальные ядра.
2️⃣ Запуск программы с ограничением по CPU. Это более практичный вариант: мы сразу запускаем процесс с нужными ограничениями. Но тут есть нюанс: taskset требует mask (битовой маски), а не списка ядер.
Как работает маска? Каждое ядро - это один бит: Ядро Маска 0 1 1 2 2 4 3 8 … … Например: ядра 1 и 2 = 2 + 4 = 6 → маска 0x06Пример запуска с ограничением на одно ядро. Запустить программу только на ядре 0:
taskset 1 gzip hugefile
(маска 1 = ядро 0)
Пример: запуск на ядрах 2 и 3
Маска: 4 + 8 = 12 = c
taskset c gzip hugefile
3️⃣ Как быстро узнать маску для нужных ядер. Если не хочется считать вручную, то есть хитрый трюк. Назначаем список ядер любому процессу:
taskset -pc 4-5 $(pidof systemd-journald)
А теперь смотрим его маску:
taskset -p $(pidof systemd-journald)
Пример:
pid 412's current affinity mask: 30
Вот и маска.
4️⃣ Наглядный тест с помощью xz. Архиватор xz умеет использовать несколько потоков, и его хорошо видно в htop. Создаем тестовый файл:
dd if=/dev/urandom of=/tmp/testfile bs=1M count=200
Запускаем xz только на ядрах 0 и 1 (маска 3):
taskset 3 xz -T2 /tmp/testfile
Смотрим в htop и процесс будет занимать строго эти два ядра.
#linux #taskset
🧑💻 NetworkAdmin4 726
Repost from Технотренды
⚡️ Запускаем крупный розыгрыш призов, где можно выиграть iPhone 17, игровые наушники, клавиатуру и мышь!
Без лишних слов, условия:
1. Подписка на:
— бизнестрендс
— Технотренды
— Блумберг
2. Нажать кнопку «Участвовать» снизу
Итоги будут опубликованы 15 ноября в 18:00 на наших каналах, желаем удачи!
4 726
🎤 Один ввод, а команды на всех хостах
Когда разворачиваешь кластер или нужно повторить одинаковые действия на нескольких серверах, очень помогает режим синхронизации панелей в tmux. С ним одна команда сразу выполняется во всех открытых панелях.
▪️ Установка
apt install tmux
▪️ Работа с панелями
1️⃣Запускаем tmux.
2️⃣Создаем несколько панелей:
Ctrl+B % - вертикальное разделение
Ctrl+B " - горизонтальное разделение
3️⃣Между панелями перемещаемся Ctrl+B + стрелки.
4️⃣В каждой панели подключаемся по SSH к своему хосту.
▪️ Включение синхронизации. В командной строке tmux (после Ctrl+B :) вводим:
:setw synchronize-panes
Теперь все, что вводите в активной панели, автоматически дублируется во все остальные.
Отключение производится той же командой.
▪️ Автоматизация
Если работаете с одним и тем же стендом регулярно, то можно написать конфиг для tmux или скрипт, который сразу запускает сессию и подключает нужные SSH-сессии.
#linux #terminal
🧑💻 NetworkAdmin4 726
Глубоко погрузился в проблему, детально изучил и решил ее
#юмор
🧑💻 NetworkAdmin
4 726
✏️ Шпаргалка по journalctl
journalctl - это инструмент работы с логами systemd.
▪️ Фильтрация по сервисам и юнитам. Посмотреть логи конкретной службы:
journalctl -u ssh
journalctl -u nginx -u php-fpm
Последние записи сервиса в реальном времени (аналог tail -f):
journalctl -u nginx -f
▪️ Ограничение по времени. Фильтрация по временным промежуткам:
journalctl --since "2025-10-01" --until "2025-10-15"
journalctl --since "1 hour ago"
journalctl --since yesterday
▪️ Поиск по ключевым словам. Просто используем grep:
journalctl -u ssh | grep "Failed password"
Или встроенный фильтр по приоритету (severity):
journalctl -p err -u ssh
(-p принимает диапазон: -p warning..crit)
▪️ Логи текущей загрузки
journalctl -b # текущая загрузка
journalctl -b -1 # предыдущая загрузка
journalctl -b -2 # еще раньше
▪️ Работа с логами как с файлами
Сохранить в файл:
journalctl -u nginx --since today > nginx.log
Экспорт в бинарный лог и перенос на другой сервер:
journalctl --vacuum-time=7d # удалить старше 7 дней
journalctl --vacuum-size=1G # ограничить объем
#systemd #journalctl
🧑💻 NetworkAdmin
Endi mavjud! Telegram Tadqiqoti 2025 — yilning asosiy insaytlari 
