fa
Feedback
NetworkAdmin.ru

NetworkAdmin.ru

رفتن به کانال در Telegram

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

نمایش بیشتر
4 725
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-47 روز
+230 روز
آرشیو پست ها
Первое cобеседование в DevOps: этапы, сложные моменты и профессиональные секреты IT-рекрутера Этот эфир — для тех, кто только
Первое cобеседование в DevOps: этапы, сложные моменты и профессиональные секреты IT-рекрутера Этот эфир — для тех, кто только заходит в профессию. Только живой разговор на понятном языке и рабочие фишки от рекрутера, который каждый день смотрит резюме и проводит интервью. О чём поговорим: 🕒 6 секунд на резюме — как ATS-системы отсеивают кандидатов ещё до того, как их увидел человек. 🛠 Техническое собеседование — что реально спрашивают у новичков? 📉 Поведенческие вопросы — разбираем психологию интервьюера и учимся говорить о себе без вранья. 💰 Зарплатные ожидания: почему не стоит бояться называть цифру первым. ✍️ Тестовое задание: как не попасть в ловушку, решая реальные бизнес-задачи под видом тестового. 📅 Когда: 26 февраля в 19:00 мск 📍 Формат: Онлайн 👉🏻Регистрация на вебинар

⭐️ Windows Storage Spaces: зеркалирование и RAID без стороннего ПО В Windows есть встроенный механизм программного хранения данных - Storage Spaces. По сути, это аналог Linux LVM + software RAID, который позволяет объединять диски в пул и создавать на их основе отказоустойчивые тома без стороннего ПО и RAID-контроллеров. ▪️ Как это работает. Архитектура состоит из трех уровней: 1. Physical disks - физические диски (HDD/SSD, SATA/NVMe, USB тоже поддерживаются). 2. Storage Pool - пул хранения, в который объединяются диски. 3. Virtual Disk (Space) - логический диск с заданным уровнем отказоустойчивости. На уровне Virtual Disk выбирается тип защиты данных. ▪️ Основные режимы Simple - без отказоустойчивости (аналог RAID0). Максимальная скорость и объем. Two-way mirror - зеркалирование данных на два диска (аналог RAID1). Three-way mirror - зеркалирование на три диска (для критичных данных). Parity - распределенная четность (аналог RAID5/6, зависит от конфигурации). ▪️ Плюсы Storage Spaces встроено в Windows (Server и Pro-версии); не требует перезагрузки при добавлении дисков; поддерживает hot-swap; можно расширять пул на ходу; работает поверх обычных дисков без контроллера. ▪️ Практические моменты - Зеркала отлично подходят для VM, файловых серверов и рабочих станций. - Parity экономит место, но хуже по записи, особенно на мелких I/O. - Для системных дисков чаще используют зеркало, а не parity. - Управлять можно через GUI или PowerShell (Get-StoragePool, New-VirtualDisk). ▪️ Когда это хорошее решение небольшой сервер или NAS на Windows; тестовые и офисные инфраструктуры; когда нет аппаратного RAID, но нужна отказоустойчивость. #storage #raid 🧑‍💻 NetworkAdmin

Cloud-Init в Proxmox: автоматическое создание виртуальных машин Если вы часто вручную создаете виртуальные машины в Proxmox, эту рутину легко автоматизировать с помощью Cloud-Init, который поддерживается в Proxmox из коробки. Cloud-Init позволяет при создании ВМ автоматически задать: ▪️ пользователей, пароли и SSH-ключи ▪️ hostname ▪️ сетевые настройки и DNS ▪️ первичное обновление пакетов Без Cloud-Init все это пришлось бы настраивать вручную в каждой новой виртуалке. ▪️ Как это работает 1️⃣ Подготавливаем базовую ВМ. Устанавливаем ОС и нужные пакеты, обязательно ставим cloud-init:

apt install cloud-init
Можно использовать готовые cloud-образы: Debian - cloud.debian.org Ubuntu - cloud-images.ubuntu.com Astra Linux - dl.astralinux.ru Proxmox отлично поддерживает образы, подготовленные под OpenStack. 2️⃣ Делаем шаблон. Готовую ВМ переводим в шаблон через Convert to template. 3️⃣ Создаем новую ВМ из шаблона. Добавляем к ней диск CloudInit Drive. 4️⃣ Настраиваем Cloud-Init. В параметрах ВМ появляется раздел Cloud-Init, где можно индивидуально указать пользователя, ключи, сеть и DNS. При первом запуске настройки применяются автоматически. Инструкция в Wiki Proxmox: 🔗 Cloud-Init Support 🔗 Cloud-Init FAQ #proxmox #cloudinit 🧑‍💻 NetworkAdmin

💚 Шпаргалка по Nmap Сканеров сети хватает, но на практике почти всегда в итоге используется Nmap. Проблема одна - запомнить все ключи и режимы нереально. ▪️ Базовое сканирование (порты 1–1024). Быстрое сканирование без лишних деталей:

nmap 192.168.1.1
nmap 192.168.1.1 192.168.2.1
nmap 192.168.1.1-254
nmap 192.168.1.0/24
▪️ Сканирование всех портов

nmap 192.168.1.1 -p-
Ключ -p задает диапазон портов: -p 22, -p 21-100, -p http,https. Полный диапазон заметно увеличивает время проверки. ▪️ Хост не отвечает на ping. По умолчанию Nmap игнорирует такие хосты. Чтобы сканировать принудительно:

nmap 192.168.1.1 -Pn
▪️ Основные техники сканирования

nmap 192.168.1.1 -sS   # TCP SYN (по умолчанию)
nmap 192.168.1.1 -sT   # TCP connect
nmap 192.168.1.1 -sU   # UDP
Полный TCP + UDP (очень долго):

nmap 192.168.1.1 -sS -sU -p-
▪️ Поиск живых хостов без портов

nmap 192.168.1.0/24 -sn
Часто использую для быстрого списка хостов в сети. Просто вывести список IP:

nmap 192.168.1.1-15 -sL
▪️ ARP-сканирование в локалке

nmap 192.168.1.0/24 -PR
В локальных сетях работает быстрее пинга. Используется автоматически, даже если указан другой метод. ▪️ Определение сервисов и версий

nmap 192.168.1.1 -sV
Комплексная проверка (ОС, сервисы, скрипты, traceroute):

nmap 192.168.1.1 -A
Полезный прием: 1) сначала найти открытые порты 2) потом запускать -A только по ним

#!/bin/bash
ports=$(nmap -p- --min-rate=500 $1 | grep ^[0-9] | cut -d/ -f1 | tr '\n' ',' | sed 's/,$//')
nmap -p$ports -A $1
Запуск:

./nmap.sh 192.168.1.1
▪️ Скорость и агрессивность
-T0 paranoid -T1 sneaky -T2 polite -T3 normal (по умолчанию) -T4 aggressive -T5 insane
В локалке обычно используют -T4. Чем ниже режим - тем медленнее и менее заметен скан. #nmap #network 🧑‍💻 NetworkAdmin

Ленивый монтаж заказывали? #юмор 🧑‍💻 NetworkAdmin

👁 Мониторинг сети у провайдеров и в датацентрах Когда речь заходит о мониторинге сети на уровне провайдера или датацентра, обычных SNMP-графиков недостаточно. Нужно понимать кто, куда и сколько трафика гоняет. Для этого используют NetFlow и sFlow - технологии экспорта сетевых потоков. Статья больше ознакомительная, чем практичная. Для понимания как все устроено.
Что такое NetFlow NetFlow - технология Cisco, которая собирает статистику по каждому сетевому потоку: IP-адреса, порты, протокол, объём трафика, время жизни сессии.
Особенности: высокая детализация; хорош для биллинга, расследований, анализа атак; поддерживается большинством маршрутизаторов (NetFlow v5/v9, IPFIX); 🙅‍♂️ Минус - нагрузка на оборудование при больших объемах трафика.
Что такое sFlow sFlow работает по другому принципу - семплирование. Устройство отправляет не все потоки, а только выборку пакетов + счётчики интерфейсов.
Особенности: минимальная нагрузка на свитчи; отлично масштабируется; идеально для высоконагруженных сетей и DC; 🙅‍♂️ Минус - нет полной картины каждого соединения, только статистическая модель. На практике у провайдеров часто используются оба подхода. ▪️ Прием и анализ данных Flow-данные отправляются на коллекторы: nfdump / nfsen; pmacct; ElastiFlow (Elastic + NetFlow/sFlow); Zabbix / Grafana (через плагины). Типовые задачи: поиск топ-N потребителей трафика; обнаружение DDoS; анализ межсегментного трафика; контроль договорных лимитов. #networking #netflow 🧑‍💻 NetworkAdmin

Релизы тормозят из-за постоянных багов, несмотря на то, что команда работает на износ? Проблема, скорее всего, не в людях, а
+5
Релизы тормозят из-за постоянных багов, несмотря на то, что команда работает на износ? Проблема, скорее всего, не в людях, а в системе. Мы проведём QA‑аудит и покажем: 📍где теряются деньги; 📍сколько часов разработки уходят впустую; 📍почему баги попадают в продакшен; 📍какие решения дадут эффект. По итогу дадим дорожную карту улучшений с конкретными метриками. Поможем с внедрением. Результат: предсказуемые релизы, понятные KPI и контроль качества без ручного управления. От 60 000 ₽, от 3 недель. Запишись на бесплатную консультацию в нашем телеграм‑боте. #реклама О рекламодателе erid: 2W5zFJbaPqa

🤝 Автологин, автозагрузка и unit override в systemd ▪️ Автологин в консоль (getty) - иногда нужно, чтобы система автоматически логинилась в tty (например, для тестового стенда). Делается это через override для getty:
systemctl edit getty@tty1
Добавляем:
[Service]
ExecStart=
ExecStart=-/sbin/agetty --autologin user --noclear %I $TERM
Перезагружаем:
systemctl restart getty@tty1
▪️ Автозагрузка сервисов. В systemd нет автозапуска в классическом смысле - есть юниты и таргеты. Включить сервис при загрузке:
systemctl enable nginx
Проверить состояние:
systemctl is-enabled nginx
systemctl status nginx
Отключить автозапуск:
systemctl disable nginx
Фактически enable создает симлинк юнита в нужный *.target. ▪️ Unit override: меняем поведение безопасно. Править файлы в /lib/systemd/system - плохая идея. Обновления их перезапишут. Вместо этого используют override-файлы. Для этого создаем override:
systemctl edit nginx
Пример: увеличим лимит открытых файлов:
[Service]
LimitNOFILE=65536
Применяем изменения:
systemctl daemon-reexec
systemctl restart nginx
Посмотреть итоговую конфигурацию:
systemctl cat nginx
Systemd покажет базовый unit + все override. #systemd #linux 🧑‍💻 NetworkAdmin

🌐 Сети для всех — сообщество для тех, кто хочет разобраться в компьютерных сетях и системном администрировании. 👉 Наш Telegram-канал: https://t.me/Networks_anyone Внутри сообщества вас ждет: - практические задания и разборы - понятная теория без воды - видеолекции и примеры конфигураций - обсуждение реальных и нестандартных сетевых задач - помощь и живое общение с единомышленниками 🎓 Курсы команды «Сети для всех»: 1️⃣ Компьютерные сети (Cisco — введение) https://stepik.org/a/227855 2️⃣ Компьютерные сети (Cisco — продвинутый уровень) https://stepik.org/a/230932 3️⃣ Компьютерные сети (MikroTik — практическое администрирование) https://stepik.org/a/260615 👥 Более 300 студентов уже с нами — присоединяйтесь к сообществу и прокачивайте сети вместе с нами. Сети для всех — понятно, практично, по делу. #СетиДляВсех #NetworksForAll

🔄 Копируем файлы между серверами без прямого SSH-доступа Иногда возникает задача быстро перекинуть файлы между двумя серверами, между которыми нет прямого SSH-доступа. Аутентификация не настроена, ключей нет, но при этом вы спокойно заходите по SSH на каждый из них со своей машины. Самые очевидные варианты обычно такие: 1️⃣ Копировать через себя Скачать данные с первого сервера локально, а потом залить их на второй. Работает всегда, но если у вас медленный канал или большой объем данных - вариант так себе. Иногда вместо себя используют промежуточный сервер с хорошим интернетом, но это тоже костыль. 2️⃣ Настроить SSH-доступ между серверами Создать ключи, раскидать их, включить парольную аутентификацию и т.д. Иногда это избыточно, иногда просто запрещено политиками безопасности. 3️⃣ Более простой способ - проброс SSH-агента (ssh-agent forwarding). Никаких изменений на серверах, все делается со своей рабочей машины. ▪️ Запускаем ssh-agent. ssh-agent уже входит в состав SSH-клиента. Запускаем его и сразу подгружаем переменные окружения:

eval $(ssh-agent)
Проверяем, что агент работает:

env | grep SSH_
▪️ Добавляем ключи. Загружаем свои SSH-ключи в агент:

ssh-add
Проверить, какие ключи добавлены:

ssh-add -l
▪️ Разрешаем проброс агента. Теперь нужно явно разрешить проброс агента для нужных серверов. Делается это в ~/.ssh/config:

Host 1.2.3.4
  ForwardAgent yes

Host srv-01
  ForwardAgent yes
Важно: включайте ForwardAgent только для конкретных хостов, а не глобально. ▪️ Подключаемся и проверяем

ssh root@1.2.3.4
Если проброс работает, на сервере появится сокет агента:

ls /tmp | grep ssh-
▪️ Копируем файлы напрямую между серверами. Теперь магия. С первого сервера можно подключаться ко второму, используя ваш локальный ключ, даже если между серверами нет настроенной аутентификации:

rsync -av /var/www/ root@5.6.7.8:/var/www/
Файлы копируются напрямую с сервера на сервер, без скачивания к вам и без настройки SSH-доступа между ними. ▪️ Что важно помнить про безопасность Когда вы заходите на сервер с включенным пробросом агента, пользователь root этого сервера получает доступ к вашему ssh-agent и может использовать его для подключений. Поэтому: не используйте agent forwarding на чужих или сомнительных серверах; не включайте его глобально; отключайте, когда он не нужен. #ssh #rsync 🧑‍💻 NetworkAdmin

⭐️ Простой бэкап конфигураций MikroTik без костылей Если нужно регулярно сохранять конфигурации MikroTik, есть аккуратный и удобный инструмент - Pupirka. Это небольшая утилита от Кирилла Васильева, которая делает ровно то, что нужно: подключается к устройству по SSH, выполняет экспорт конфигурации и складывает результат в структурированный каталог. Без самописных скриптов и хаоса. Работает все максимально просто. Скачиваете один бинарник под свою ОС, делаете его исполняемым и запускаете. При первом старте Pupirka сама создает рабочую структуру: каталоги для бэкапов, описаний устройств, логов, SSH-ключей и базовый JSON-конфиг. Для добавления MikroTik достаточно положить в каталог device JSON-файл с параметрами подключения: адрес, логин и пароль (или ключ). После этого один запуск и конфигурация устройства автоматически экспортируется. Бэкап сохраняется в отдельную папку устройства, а лог операции пишется рядом. По строке Backup complete легко понять, что все прошло успешно. Из приятного - поддержка хуков. Например, после каждого бэкапа можно автоматически отправлять конфиги в git-репозиторий. Это удобно для версионирования и аудита изменений. Хотя Pupirka чаще всего используют именно для MikroTik, она не ограничена только ими. В конфиге можно указать команду, вывод которой нужно сохранять. Фактически, инструмент можно применять и для сбора информации с серверов или сетевых устройств по SSH. Простой, понятный и практичный инструмент, именно то, что нужно для регулярных бэкапов сетевой инфраструктуры. Ссылка на GitHub 😺 #mikrotik #backup 🧑‍💻 NetworkAdmin

🔍 Сканирование уязвимостей через Nmap NSE Nmap - это не только сканер портов. У него есть еще одна часть - NSE (Nmap Scripting Engine), которая позволяет выполнять сотни готовых скриптов для поиска уязвимостей, ошибок конфигурации и опасных сервисов. Все NSE-скрипты разбиты по категориям: vuln, safe, auth, default, discovery и другие. Для быстрого старта обычно используют стандартный набор:

nmap -sC -sV target
Эта команда запускает default-скрипты и определяет версии сервисов. Уже на этом этапе можно найти слабые места: анонимный FTP, открытые админки, устаревшие демоны. Для целенаправленного поиска уязвимостей применяется категория vuln:

nmap --script vuln target
Такой запуск проверяет сервисы на известные CVE: уязвимости в SMB, SSL, HTTP, базах данных и сетевых службах. Например, скрипты могут выявить MS17-010 (EternalBlue), слабые TLS-настройки или небезопасные HTTP-методы. Полезный прием - запуск скриптов для конкретного сервиса:

nmap -p 443 --script ssl-* target
Это помогает быстро оценить состояние TLS: версии протоколов, шифры, сертификаты. Важно понимать ограничения NSE. Это не полноценный vulnerability scanner, а инструмент первичной проверки. Он не эксплуатирует уязвимости и не гарантирует 100% точность, но отлично подходит для быстрого аудита и поиска очевидных проблем. ⚠️ Используйте NSE аккуратно: сканирование может быть заметно в логах и иногда создает нагрузку на сервисы. #nmap #security 🧑‍💻 NetworkAdmin

🖥 Ускоряем сетевые шары в локалке SMB/CIFS - это один из самых популярных протоколов для файловых шар в локальных сетях. По умолчанию он далеко не всегда работает быстро. Часто жалобы на медленную работу сетевых папок связаны не с дисками или сетью, а с настройками. Первое, на что стоит обратить внимание: версия протокола. SMB1 давно устарел и медленный, к тому же небезопасный. В современных системах стоит использовать SMB2 или SMB3. На samba это явно задается параметрами server min protocol = SMB2 и server max protocol = SMB3. Второй момент: размеры буферов и асинхронный ввод-вывод. В samba полезно включать: aio read size и aio write size socket options = TCP_NODELAY SO_RCVBUF=... SO_SNDBUF=... Это снижает задержки и повышает пропускную способность, особенно при работе с большими файлами. Для локальной сети важно отключать лишнее. Например, SMB signing нужен для недоверенных сетей, но в домашней или офисной локалке он дает заметный оверхед. Если безопасность позволяет - его можно выключить. Также стоит учитывать тип нагрузки. Много мелких файлов - одно поведение, большие архивы - другое. Иногда помогает включение sendfile или, наоборот, его отключение в зависимости от файловой системы. Со стороны клиента тоже есть нюансы. В linux можно монтировать шары с опциями vers=3.1.1, cache=loose, rsize и wsize. В windows проверить, не включен ли старый SMB1 ради совместимости. И напоследок банальное, но важное: гигабитная сеть, нормальный MTU и исправный DNS влияют на SMB не меньше, чем конфиги. Прежде чем тюнить samba, убедитесь, что сама сеть не узкое место. Правильно настроенный SMB в локалке легко выдает скорости, близкие к дисковым, без экзотики и лишних костылей. #smb #networking 🧑‍💻 NetworkAdmin

Беспощадный кастом #юмор 🧑‍💻 NetworkAdmin
Беспощадный кастом #юмор 🧑‍💻 NetworkAdmin

🌀 Как работает перезагрузка linux в эпоху systemd Раньше в linux было несколько классических способов перезагрузки системы: shutdown -r, reboot, halt. Сейчас вся эта разница по сути исчезла: в современных дистрибутивах всем управляет systemd. Если посмотреть внимательнее, окажется, что привычные команды - это всего лишь обертки:

whereis reboot
ls -la /usr/sbin/reboot
и аналогично для shutdown. В итоге обе команды являются символьными ссылками на /bin/systemctl. То есть не важно, что именно вы набрали - reboot, shutdown -r или systemctl reboot - запрос все равно уйдет в systemd. Иногда можно встретить рекомендации перезагружать сервер именно так:

systemctl reboot
Но на практике обычный ребут делает ровно то же самое, просто быстрее набирается. Возникает логичный вопрос: как systemctl понимает, что от него хотят - перезагрузку или выключение, если бинарник один и тот же? Все просто: при запуске программа знает имя, под которым ее вызвали. Это стандартный механизм execve. Например, в shell имя команды доступно через $0. Внутри systemctl есть проверка, которая определяет, был ли вызов через reboot, shutdown или напрямую. Кроме привычных команд, перезагрузку можно инициировать и через цели systemd:

systemctl start reboot.target
systemctl start ctrl-alt-del.target
По сути, эффект будет тем же самым, просто разными путями. И важный момент напоследок. Все эти способы все равно требуют запуска бинарника с диска. Если файловая система повреждена и systemctl не может выполниться, система может зависнуть и не перезагрузиться. В таком случае остаётся крайний вариант - обратиться напрямую к ядру:

echo b > /proc/sysrq-trigger
Это эквивалент жесткого нажатия кнопки reset: без graceful shutdown, но зато работает даже в самых тяжелых ситуациях. #systemd #reboot 🧑‍💻 NetworkAdmin

🛡 Простой контроль доступа к сервисам в linux В Linux есть простой и почти забытый механизм ограничения сетевого доступа к сервисам - TCP Wrappers. Сегодня его используют редко, потому что он сильно уступает по гибкости iptables и nftables, но инструмент до сих пор работает и иногда может быть полезен. Основан он на библиотеке libwrap и действует на уровне приложений, которые ее поддерживают. Суть проста: доступ контролируется через два файла: /etc/hosts.allow и /etc/hosts.deny. ▪️ Пример. Допустим, нужно закрыть SSH для всех, кроме нескольких локальных подсетей. Для этого в /etc/hosts.allow добавляем:

sshd : 10.10.0.0/24
sshd : 172.16.50.0/24
А в /etc/hosts.deny:

sshd : ALL
После этого подключение по SSH будет возможно только из указанных сетей. Никакие службы перезапускать не нужно, правила применяются сразу. Если кто-то попытается подключиться извне, в логах SSH появится запись:

journalctl -u ssh -n 10
sshd[814]: refused connect from 172.31.8.45 (172.31.8.45)
Можно дополнительно логировать все заблокированные подключения:

sshd : ALL \
: spawn /usr/bin/echo "$(/bin/date +"%%d-%%m-%%y %%T") SSH access blocked from %h" >> /var/log/libwrap
В итоге в /var/log/libwrap появится понятная запись:

21-01-26 10:03:05 SSH access blocked from 172.31.8.45
Важно: сервис обязан поддерживать libwrap. Проверить это можно так:

ldd /usr/sbin/sshd | grep libwrap
Очевидно, что полноценный файрвол будет более надежным решением. Но TCP Wrappers могут быть полезны в простых сценариях, как дополнительный уровень защиты или страховка на случай ошибки в правилах файрвола. Полезно хотя бы знать, что такой механизм существует и как он работает. #linux #security 🧑‍💻 NetworkAdmin

🌐 OSPF и BGP для небольших сетей Когда в сети появляется больше одного маршрутизатора, статические маршруты быстро превращаются в боль. Даже в небольших инфраструктурах нужен динамический роутинг. Здесь выручает FRRouting (FRR) - open-source стек маршрутизации для линукс.
FRRouting - это набор демонов маршрутизации, который превращает обычный линукс-сервер в полноценный маршрутизатор. Используется не только энтузиастами, но и в продакшене у провайдеров и дата-центров. Поддерживаемые протоколы: OSPFv2 / OSPFv3 BGP IS-IS RIP static routing VRF Для небольших сетей чаще всего интересны именно OSPF и BGP.
▪️ Почему FRR удобен для небольших сетей работает на обычном линукс без спецжелеза; конфигурация похожа на cisco (vtysh); можно автоматизировать через ansible; легко интегрируется с iptables/nftables и policy routing; отлично подходит для виртуалок и VPN-туннелей. ▪️ Простой пример: OSPF. Устанавливаем пакет и заходим в CLI:

apt install frr
vtysh
Минимальная настройка:

configure terminal
router ospf
 network 10.0.0.0/24 area 0
exit
write
После этого маршрутизаторы начнут автоматически обмениваться маршрутами внутри зоны. ▪️ BGP для своих префиксов. BGP в FRR часто используют: для мультихоминга; в VPN. Пример:

router bgp 65001
 neighbor 10.0.0.2 remote-as 65002
 network 192.168.100.0/24
exit
▪️ Где FRR особенно хорош небольшие офисы и филиалы; VPN на WireGuard/IPsec; тестовые стенды; self-hosted инфраструктура без дорогих маршрутизаторов. FRR хороший способ понять и использовать динамическую маршрутизацию без cisco, juniper и железных коробок. Для малых и средних сетей его возможностей более чем достаточно. #networking #frr 🧑‍💻 NetworkAdmin

Пришел в театр, чтобы отвлечься от работы, а тут.. #юмор 🧑‍💻 NetworkAdmin

🐧 Как искать проблемы через journalctl В современных дистрибутивах пингвина все системные логи по умолчанию собирает systemd-journald. Вместо десятков файлов в /var/log вы получаете единый журнал, с которым удобно работать через journalctl. Если сервер ведет себя странно, это первое место, куда стоит смотреть. ▪️ Просмотр логов

journalctl
Покажет весь журнал, начиная с самых старых записей. Для удобства почти всегда используют пейджер с прокруткой. ▪️ Логи текущей загрузки

journalctl -b
Полезно после падения или перезагрузки сервера. ▪️ Предыдущая загрузка

journalctl -b -1
Позволяет понять, что пошло не так до ребута. ▪️ Логи конкретного сервиса

journalctl -u nginx
journalctl -u ssh
Можно сразу увидеть ошибки запуска, рестарты и падения. ▪️ Фильтрация по времени

journalctl --since "2026-01-22 10:00" --until "2026-01-22 10:30"
▪️ Онлайн-просмотр (аналог tail -f)

journalctl -u docker -f
▪️ Только ошибки

journalctl -p err
journalctl -p warning
Можно комбинировать с -b и -u. ▪️ Кто писал в лог

journalctl _PID=1234
journalctl _COMM=sshd
▪️ Постоянное хранение логов. Если после перезагрузки логи пропадают:

mkdir -p /var/log/journal
systemctl restart systemd-journald
#systemd #journalctl 🧑‍💻 NetworkAdmin

Как поставить вывод терминала на паузу Есть одна старая, но очень полезная фишка терминала, про которую многие либо не знают, либо вспоминают слишком поздно. Ситуация знакомая: в bash запущен процесс, который постоянно пишет в stdout. Экран бесконечно обновляется, строки летят вниз, а вам нужно прочитать сообщение об ошибке, которое уже убежало вверх. Пытаетесь прокрутить терминал и каждый раз его тут же возвращает в самый низ. Раздражает. ▪️ Классический пример: просмотр логов в реальном времени:

tail -f /var/log/nginx/access.log
С tail это не критично, его можно просто остановить. Но есть куда более неприятные сценарии. Например, вы запустили Docker-контейнер не в -d, он активно пишет логи, где-то мелькнула ошибка, а остановить процесс нельзя - контейнер завершится. То же самое при сборке Dockerfile, запуске большого docker-compose или долгом скрипте с подробным выводом. ▪️ Решение, неожиданно простое: Ctrl + S - ставит вывод терминала на паузу. Новые строки перестают появляться, и вы спокойно можете прокрутить экран вверх и прочитать нужное место. Ctrl + Q - возвращает терминал в обычный режим, вывод продолжается. Это не фича bash, а управление потоком вывода (XON/XOFF), которое работает почти в любом терминале. Маленькая комбинация клавиш, которая закрывает реально раздражающую проблему и заметно упрощает жизнь в консоли. #linux #terminal 🧑‍💻 NetworkAdmin