NetworkAdmin.ru
الذهاب إلى القناة على Telegram
Авторский блог про сетевое и системное администрирование. Сайт: networkadmin.ru Реклама: @dad_admin Биржа: https://telega.in/c/networkadminru
إظهار المزيد4 726
المشتركون
لا توجد بيانات24 ساعات
-47 أيام
+230 أيام
أرشيف المشاركات
4 725
👤 Как перенести пользователей между серверами с сохранением UID, групп и паролей
Иногда возникает необходимость перенести локальных пользователей с одного linux-сервера на другой - при миграции, клонировании окружений или настройке тестовой копии. Но важно не просто скопировать имена, а сохранить UID, GID, пароли и групповые принадлежности, чтобы избежать конфликтов и сохранить доступы.
🌟 Что нужно сохранить
/etc/passwd - основная информация о пользователях /etc/shadow - пароли пользователей /etc/group - группы /etc/gshadow - пароли групп (редко) /home/ - директории пользователей и их данные (если нужно)1️⃣ Фильтрация нужных пользователей. На проде часто много системных аккаунтов. Чтобы перенести только нужных людей, можно отфильтровать пользователей с UID > 1000 (или 500 - зависит от дистрибутива):
awk -F: '$3 >= 1000 && $3 < 60000 { print $1 }' /etc/passwd
2️⃣ Экспорт записей. Выполните на исходном сервере:
#пользователей
awk -F: '$3 >= 1000 && $3 < 60000' /etc/passwd > users.passwd
#пароли
awk -F: 'NR==FNR{a[$1]; next} $1 in a' users.passwd /etc/shadow > users.shadow
#группы
awk -F: '$3 >= 1000 && $3 < 60000' /etc/group > users.group
awk -F: 'NR==FNR{a[$1]; next} $1 in a' users.passwd /etc/gshadow > users.gshadow
Скопируйте файлы users.passwd, users.shadow, users.group, users.gshadow на новый сервер.
3️⃣ Импорт на новом сервере. На новом сервере:
Сначала делаем резервные копии оригинальных файлов:
cp /etc/passwd /etc/passwd.bak
cp /etc/shadow /etc/shadow.bak
cp /etc/group /etc/group.bak
cp /etc/gshadow /etc/gshadow.bak
Затем добавляем новые записи (убедитесь, что нет конфликтов UID/GID):
cat users.passwd >> /etc/passwd
cat users.shadow >> /etc/shadow
cat users.group >> /etc/group
cat users.gshadow >> /etc/gshadow
4️⃣ Копирование домашней директории
rsync -avz /home/ user@newserver:/home/
Не забудьте про владельцев:
chown -R username:groupname /home/username
Проверка
getent passwd имя_пользователя
id имя_пользователя
su - имя_пользователя
🌟 Если вы переносите пользователей с sudo-доступом, убедитесь, что их записи присутствуют в /etc/sudoers или /etc/sudoers.d/.
#linux #users
🧑💻 NetworkAdmin4 725
📄 Разделение логов по уровням и сервисам с systemd-journald
Если вы работаете на современном дистрибутиве linux, то почти наверняка используете systemd, а значит - и journald для сбора логов. Это система логирования, которая умеет куда больше, чем просто показывать логи командой journalctl. Сегодня - о том, как удобно фильтровать и разделять логи по уровню важности (info, warning, error и т.д.) и сервисам, чтобы быстро находить нужную информацию.
▪️ Фильтрация логов по юниту. Чтобы посмотреть логи конкретного сервиса:
journalctl -u nginx.service
Добавьте -b для вывода только с текущей загрузки:
journalctl -u ssh.service -b
▪️ Логи по уровню важности. Вы можете указать минимальный уровень важности:
journalctl -p err # Только ошибки и критичнее
Список уровней (от менее к более важным):
0: emerg 1: alert 2: crit 3: err 4: warning 5: notice 6: info 7: debugПример: показать все warning и выше от sshd:
journalctl -u ssh.service -p warning
▪️ Ограничение по времени. Чтобы не утонуть в огромных логах:
journalctl --since "1 hour ago"
journalctl --since "2025-09-18" --until "2025-09-19 03:00"
▪️ Разделение логов по каталогам. По умолчанию journald пишет в /run/log/journal (в RAM), если /var/log/journal отсутствует. Чтобы сохранять логи между перезагрузками:
mkdir -p /var/log/journal
systemd-tmpfiles --create --prefix /var/log/journal
systemctl restart systemd-journald
▪️ Настройка persist-логирования и лимитов. В файле /etc/systemd/journald.conf можно настроить:
Storage=persistent
SystemMaxUse=500M
RuntimeMaxUse=100M
MaxRetentionSec=7day
После правок - перезапустите journald:
systemctl restart systemd-journald
▪️ Глубокие фильтры. Вывести только ошибки от ядра:
journalctl _TRANSPORT=kernel -p err
Фильтр по PID:
journalctl _PID=1234
По имени бинарника:
journalctl _COMM=nginx
#logs #systemd
🧑💻 NetworkAdmin4 725
🚫 Блокировка стран по IP
Если нужно ограничить доступ к сервису из определенных стран (например, через iptables или nginx), потребуется актуальный список IP-сетей по географии.
Готовые списки можно взять отсюда. Например, список сетей России здесь
Каждая строка - отдельная подсеть, удобно парсить скриптами.
🛠 Пример скрипта: создаем IP whitelist через ipset
#!/bin/bash
# Удаляем старый список (если был)
ipset destroy whitelist 2>/dev/null
# Создаем новый
ipset create whitelist hash:net
# Скачиваем нужные страны (пример: некоторые страны СНГ)
wget -O netwhite http://www.ipdeny.com/ipblocks/data/countries/{ru,kz,by,uz,kg,am,az,ge,tj}.zone
# Добавляем подсети в ipset
for ipnet in $(cat netwhite); do
ipset add whitelist $ipnet
done
# Проверка
ipset save whitelist > whitelist-export.txt
echo "IP-сети загружены в ipset"
Теперь подключаем список к iptables:
iptables -A INPUT -m set --match-set whitelist src -p tcp --dport 80 -j ACCEPT
⚠️ Важно: если сетей больше ~2000, не загружайте их напрямую в iptables - используйте ipset, иначе правила займут много памяти и ресурсов.
▪️ Альтернатива - готовые конфиги под разные сервисы
Сервис: https://www.ip2location.com/free/visitor-blocker
Можно сразу получить правила под apache, nginx, iptables, mikrotik и другие.
#iptables #ipset
🧑💻 NetworkAdmin4 725
🐶 Фейковый root в linux: зачем он нужен и когда пригодится
Наткнулся на утилиту с говорящим названием -
fakeroot. Оказывается, она довольно старая и есть в стандартных репозиториях большинства дистрибутивов. Программа запускает окружение, в котором приложения думают, что работают с root-доступом. На самом деле вы остаетесь обычным пользователем, а fakeroot просто перехватывает системные вызовы (через LD_PRELOAD) и подменяет информацию.
▪️ Установка:
sudo apt install fakeroot
Запускаем:
fakeroot
В консоли появляется как будто бы root@host, и все поведение напоминает работу с sudo su.
▪️ Пример
touch test.txt
ls -la test.txt
Внутри fakeroot получите:
-rw-r--r-- 1 root root 0 ...
Выйдя из него:
-rw-r--r-- 1 username username 0 ...
То есть реально файл принадлежит обычному пользователю, но fakeroot создаёт иллюзию root-доступа.
❓ Зачем это вообще нужно?
Основное назначение - создание архивов и пакетов, содержащих файлы от имени root, без необходимости работать под настоящим root.
Например, вы собираете .deb-пакет с системными файлами или конфигами, которые в реальной установке должны принадлежать root. С помощью fakeroot вы можете задать нужные владельцы/права без прав суперпользователя.
🌟 Также будет полезно, если:
📍 Вы хотите пропустить ошибки доступа к файлам при архивации/копировании;
📍 Программа ругается на отсутствие root-доступа, но для вашей задачи это некритично;
📍 Вы работаете на CI/CD или в изолированном окружении без root-доступа
#fakeroot #linux
🧑💻 NetworkAdmin4 725
По мере того, как сети становятся сложнее и масштабнее, организации сталкиваются с растущими трудностями в поддержании точной, динамичной и безопасной сетевой инвентаризации.
Устаревшие системы, гибридные инфраструктуры и развивающиеся угрозы безопасности усложняют решение таких задач.
Готовые решения существуют, и, как всегда, есть различные “но”, вынуждающие либо идти на компромиссы или вложения дополнительных ресурсов, либо же раздувать штат соответствующих специалистов для увеличения охвата текущих задач по сетевой инфраструктуре.
В первой части статьи мы рассказали о нашей идеологии в инструментарии для поддержки и конфигурирования сети.
В этой части мы хотим детальнее рассказать о реализованных нами решениях по поднятым вопросам и размышлениям и поделиться результатами.
Прочитать можно здесь:⬇️
https://dzen.ru/a/aJx4knpIYn5Ct87m
4 725
🤢 HDD или SSD? Как быстро определить тип диска в linux
Если вы не уверены, установлен ли в вашем сервере SSD или классический жесткий диск, вот простой способ это проверить без сторонних утилит:
cat /sys/block/sda/queue/rotational
1
cat /sys/block/sde/queue/rotational
0
Значение 1 означает HDD (с вращающимся шпинделем), 0 - SSD (без вращения).
🌟 Как это работает?
Это файловый интерфейс к параметрам устройств в Linux. Поле rotational говорит ядру, как обращаться с устройством:
HDD - запросы стараются упорядочивать, чтобы сократить перемещения головки.
SSD - доступ равномерный, очередь не критична.
Поэтому для SSD оптимизация очереди часто не нужна - это влияет на планировщик ввода-вывода.
❓ А что в виртуалках?
Виртуальные машины чаще всего по умолчанию видят виртуальные диски как HDD, даже если физический диск - SSD. Проверка rotational внутри VM может вернуть 1.
Пример: Proxmox. Чтобы "объяснить" виртуалке, что она на SSD:
📍 В настройках диска активируйте опцию SSD Emulation.
📍 После этого значение rotational станет 0.
Это не критично, но желательно - для корректной работы планировщика в гостевой ОС.
❓ Trim в VM: работает или нет? Появляется логичный вопрос: если включить SSD-эмуляцию, будет ли работать TRIM в виртуалке?
Нет, сам по себе флаг SSD не включает поддержку TRIM.
Чтобы TRIM работал в гостевой ОС:
📍 Виртуальный диск должен поддерживать discard.
📍 Должна быть включена поддержка в гипервизоре (например, в proxmox - флаг Discard).
📍 Гостевая ОС должна использовать файловую систему, поддерживающую TRIM (ext4, btrfs и т.д.) и выполнять его (например, через fstrim или discard в /etc/fstab).
#linux #storage
🧑💻 NetworkAdmin4 725
🛡 Как корректно отслеживать и логировать выполнение Ansible-плейбуков
Если вы регулярно работаете с Ansible - важно не только писать рабочие плейбуки, но и контролировать, когда, кем и как они были запущены. Особенно, если в вашей инфраструктуре Ansible используется как часть CI/CD или централизованного управления.
1️⃣ Включаем логирование в конфиге Ansible. В файле
/etc/ansible/ansible.cfg (или в локальной копии ansible.cfg) пропишите:
[defaults]
log_path = /var/log/ansible.log
Ansible начнет писать все свои действия в указанный файл. Убедитесь, что у пользователя, запускающего Ansible, есть права на запись.
2️⃣ Используйте теги и переменные для понятности. Добавляйте теги к задачам:
- name: Установка nginx
apt:
name: nginx
state: present
tags:
- web
- nginx
Это поможет фильтровать задачи в логах, запускать только нужные части и документировать назначение.
3️⃣ Логируйте переменные, хосты, результаты. Для отладки - полезно писать значения переменных в лог:
- name: Показываем значение переменной
debug:
var: some_variable
Также можно логировать hostname, пользователя и дату запуска, добавляя кастомную задачу:
- name: Логируем запуск
shell: echo "{{ ansible_date_time.iso8601 }}: {{ inventory_hostname }} - {{ ansible_user }}" >> /var/log/ansible_run.log
4️⃣ Используйте Ansible Callback Plugins. Для более глубокого логирования можно подключить callback-плагины.
Например, json или yaml:
[defaults]
stdout_callback = yaml
А если хотите логировать в файл в формате JSON, можно использовать:
[defaults]
callback_whitelist = json
stdout_callback = json
log_path = /var/log/ansible-json.log
5️⃣ Храните вывод выполнения с ansible-playbook. При запуске:
ansible-playbook site.yml | tee -a /var/log/ansible-run-$(date +%F-%T).log
Так у вас будет отдельный лог под каждое выполнение.
6️⃣ Интеграция с CI/CD и мониторингом. Если Ansible запускается через GitLab, Jenkins, Drone и прочее - обязательно сохраняйте артефакты выполнения и возвращайте статус завершения. Также можно отправлять результаты выполнения в телегу через webhook после ansible-playbook.
#ansible #security
🧑💻 NetworkAdmin4 725
✨ Как работает LACP и зачем использовать агрегирование каналов
Когда одного сетевого интерфейса мало - приходит время объединять их в «команду». Это называется агрегация каналов, и один из самых популярных способов реализовать ее - протокол LACP (Link Aggregation Control Protocol).
LACP - часть стандарта IEEE 802.3ad. Он позволяет объединить несколько физических интерфейсов в один логический (LAG - Link Aggregation Group), который операционная система и приложения видят как один.
🌟 Зачем это нужно?
📍 Повышение пропускной способности; 📍 Повышение отказоустойчивости (если один порт отваливается - остальные продолжают работать); 📍 Балансировка нагрузки между портами.🌟 Как это работает
📍 LACP автоматически обнаруживает, какие интерфейсы можно объединить 📍 Обе стороны (свитч и хост) договариваются, какие порты войдут в LAG 📍 Если кабель выпал или порт упал - он просто исключается из группы, ничего не рушится▪️ Настройка в Linux. Пример для двух интерфейсов ens33 и ens34: 1️⃣ Устанавливаем ifenslave (если нужно):
sudo apt install ifenslave
2️⃣ Настраиваем bonding-мод LACP (mode 4): В /etc/network/interfaces или аналогичном конфиге:
auto bond0
iface bond0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
bond-slaves ens33 ens34
bond-mode 802.3ad
bond-miimon 100
bond-lacp-rate fast
bond-xmit-hash-policy layer3+4
3️⃣ Важно! На свитче тоже нужно включить LACP на соответствующих портах (обычно называются channel-group или LAG в интерфейсе).
⭐️ Несколько нюансов:
📍 LACP работает только при поддержке с обеих сторон (сервер + свитч) 📍 LAG не удваивает скорость для одного TCP-соединения, но позволяет нескольким соединениям распределяться по разным каналам 📍 Лучше всего работает с хешированием по Layer3+4 (IP + порт)#network #LACP 🧑💻 NetworkAdmin
4 725
📈 Как сымитировать нагрузку в linux без сторонних утилит
Иногда при настройке мониторинга на малонагруженных серверах нужно протестировать графики и дашборды, добавив искусственную нагрузку. Устанавливать отдельные утилиты вроде
stress или stress-ng не всегда хочется. К счастью, это можно сделать встроенными средствами - через dd, sha1sum, yes, /dev/zero, /dev/urandom и другие.
▪️ Нагрузка на диск и CPU одновременно. Сжимаем случайные данные и пишем во временный файл:
while true; do
dd if=/dev/urandom count=30M bs=1 | bzip2 -9 > /tmp/tempfile
rm -f /tmp/tempfile
done
/dev/urandom → нагрузка на диск bzip2 -9 → нагрузка на CPU count=30M - объем данных -9 - максимальная степень сжатияИзменяйте параметры, чтобы регулировать силу нагрузки. ▪️ Только диск: оценка скорости записи. Быстрое тестирование производительности диска:
sync; dd if=/dev/zero of=/tmp/tempfile bs=1M count=1024; sync
Вывод покажет, с какой скоростью пишутся 1 ГБ данных.
▪️ Только CPU: простейшие варианты.
Нагрузка на одно ядро:
dd if=/dev/zero of=/dev/null
Параллельная нагрузка на несколько ядер:
cpuload() {
dd if=/dev/zero of=/dev/null &
dd if=/dev/zero of=/dev/null &
}
cpuload; read; pkill dd
Либо:
sha1sum /dev/zero
Для нескольких ядер:
seq 4 | xargs -P0 -n1 timeout 10 sha1sum /dev/zero
▪️ Простая нагрузка в пространстве ядра
seq 4 | xargs -P0 -n1 timeout 10 yes > /dev/null
Запускается yes, который генерирует бесконечный вывод. Отлично грузит CPU в режиме ядра.
▪️ Загрузка памяти. Скрипт на Python, резервирующий 1 ГБ RAM:
python3 -c 'a="a"*1024**3; input()'
Можно менять объем, изменяя 1024**3.
#linux #monitoring
🧑💻 NetworkAdmin4 725
⚙️ Настройка DHCP-сервера и резервации IP-адресов
Когда устройств в сети становится больше десятка, раздача IP вручную перестает быть удобной. Решение - поднять свой DHCP-сервер, который будет автоматически раздавать адреса, DNS, шлюз и другие параметры клиентам. Но важно не просто «раздавать все подряд», а уметь закрепить конкретные IP-адреса за нужными устройствами (например, серверами, принтерами, VoIP). Это делается через резервации (DHCP reservations).
🐧 Настройка DHCP-сервера на Linux (например, ISC-DHCP)
1️⃣ Устанавливаем сервер:
sudo apt install isc-dhcp-server
2️⃣ Пример настройки /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;
option domain-name-servers 8.8.8.8;
option domain-name "home.lan";
}
# Резервация IP по MAC-адресу
host printer01 {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.1.10;
}
Теперь каждый раз принтер с указанным MAC-адресом будет получать именно 192.168.1.10.
🏠 На Windows Server (DHCP Role)
Откройте оснастку DHCP → Перейдите к своему пулу IP-адресов → ПКМ → New Reservation
Укажите имя, IP, MAC-адрес и тип клиента
🌟 Зачем нужны резервации:
Упрощают администрирование (IP-адреса не меняются) Удобны для мониторинга и firewall-правил Избавляют от конфликтов IP Полезны при интеграции с DNS (обратная зона)#network #DHCP 🧑💻 NetworkAdmin
4 725
🔔 Уведомления из консоли прямо на смартфон и десктоп
Иногда хочется, чтобы о важных событиях (бэкапы, алерты мониторинга, запуск задач) приходило пуш-уведомление прямо на смартфон. Без танцев с ботами и сторонними облаками. Есть отличный инструмент -
ntfy.sh.
🌟 Как это работает
Заходим в веб-приложение: https://ntfy.sh/app
Разрешаем уведомления, подписываемся на тему и получаем URL вроде: https://ntfy.sh/Stkclnoid6pLCpqU
Теперь отправим уведомление:
curl -d "Test Message" https://ntfy.sh/Stkclnoid6pLCpqU
Уведомление мгновенно прилетит в веб-интерфейс или в мобильное приложение (Android/iOS).
▪️ Интеграция с системой мониторинга (например, Zabbix). Zabbix умеет отправлять Webhook-запросы. Достаточно в настройках создать новый метод оповещения и использовать такой скрипт:
var params = JSON.parse(value),
msg = params.Message,
url = params.URL,
req = new CurlHttpRequest();
req.AddHeader('Content-Type: text/plain');
req.Post(url, msg);
Указываем в URL свой ntfy-адрес, а в сообщении - макрос {ALERT.MESSAGE}.
▪️ Пример: уведомления о результате бэкапа
rsync -a /mnt/data user@10.10.10.10:/backups/srv01 \
&& curl -H prio:low -d "Backup OK" https://ntfy.sh/Stkclnoid \
|| curl -H prio:high -H tags:warning -d "Backup FAILED" https://ntfy.sh/Stkclnoid
Ntfy - полностью open-source. Вы можете установить сервер у себя (есть готовые пакеты и образы в Docker) и использовать его как закрытую систему уведомлений.
➕ Небольшая пачка плюсов:
Поддержка push-уведомлений на мобильные и десктопы; Безопасность: можно хостить у себя; Простая интеграция через curl; Поддержка приоритетов, тэгов, вложений, подписок; Бесплатно.#monitoring #bash 🧑💻 NetworkAdmin
4 725
🏠 Повышение производительности Windows с помощью Sysinternals Tools
Когда windows начинает тормозить, а «диспетчер задач» мало что говорит - на помощь приходят sysinternals tools. Это набор от microsoft, разработанный ещё Марком Руссиновичем, и он до сих пор незаменим для администраторов.
🔗 Скачать все разом
Ключевые инструменты, которые реально помогают увидеть и устранить узкие места в системе:
▪️ Process Explorer. Улучшенный «Диспетчер задач». Показывает дерево процессов, какие DLL они используют, как именно загружают систему. Можно отследить, кто блокирует файл, кто грузит ЦП, кто жрет RAM.
📍 Альтернатива taskmgr
📍 Ищем паразитные процессы и утечки памяти
📍 Убиваем вирусы, которые не видит антивирус
▪️ Process Monitor (Procmon). Показывает все, что происходит: файловые операции, работа с реестром, сеть. Идеально, когда приложение «виснет», но не пишет ошибок.
📍 Отладка медленных запусков программ
📍 Отслеживание, куда приложение пытается записать
📍 Найти, кто трогает подозрительный файл
▪️ RAMMap. Показывает, куда на самом деле уходит ОЗУ. Иногда в диспетчере — пусто, а система тормозит. RAMMap покажет все по сегментам: кэш, драйверы, standby, modified и т.д.
▪️ Autoruns. Разбираемся с автозагрузкой: служба, планировщик, драйверы, контекстное меню, расширения проводника. Можно безопасно отключить мусор без сторонних твикеров.
📍 Удалить нежелательные утилиты из автозагрузки
📍 Быстро выявить вирус или майнер
▪️ TCPView. Если тормозит сеть - можно посмотреть, какие процессы установили соединения, какие порты открыты, куда идет трафик.
▪️ Disk Usage (du.exe). Утилита в стиле unix du - покажет, какие каталоги занимают больше всего места. Особенно полезно при очистке диска.
du -q -l 1 C:\Users\admin
Все утилиты можно использовать без установки, просто скачать и запускать по мере надобности. А некоторые - использовать прямо из PowerShell, если положить их в %PATH%.
#windows #sysinternals
🧑💻 NetworkAdmin4 725
4 725
📍 Как не перезапустить не тот сервер: утилита molly-guard
Если вы когда-нибудь случайно выполнили reboot или shutdown не на том сервере - вы знаете, насколько это больно. Особенно, когда в консоли много сессий, и все на одинаковых хостах типа prod01, prod02, db01... Чтобы подстраховаться от таких ошибок - есть простейшее, но гениальное решение:
molly-guard. После установки утилита подменяет стандартные команды reboot, shutdown, poweroff. При их запуске появляется запрос на подтверждение имени хоста. Ошиблись терминалом - команда не выполнится.
▪️ Установка:
# apt install molly-guard
▪️ Пример:
# reboot
W: molly-guard: SSH session detected!
Please type in hostname of the machine to reboot:
>
Вводим имя хоста вручную. Только после этого произойдёт перезагрузка.
🌟 Небольшой совет: сразу после установки можно прописать ее в список стандартного ПО для всех серверов. Минимум настроек - максимум пользы.
#linux #mollyguard
🧑💻 NetworkAdmin4 725
🔒 Использование VLAN в домашних и офисных сетях
Многие думают, что VLAN - это только для крупных корпоративных сетей, но на практике он может оказаться крайне полезным и в небольшом офисе или даже дома. Виртуальные локальные сети позволяют разделить трафик по логике, повысить безопасность и упростить администрирование.
VLAN (Virtual LAN) - это способ логического разделения одной физической сети на несколько изолированных друг от друга сегментов. Устройства в разных VLAN не видят друг друга, пока не настроен маршрутизатор.▪️ Сценарии для дома: 📍 Разделение умного дома и основной сети — изоляция IoT-устройств (камеры, лампочки, чайники) от домашней Wi-Fi-сети с личными данными. 📍 Детская VLAN с ограничениями - создаем отдельный сегмент с фильтрацией сайтов и доступом по расписанию. 📍 Гостевая Wi-Fi - изолируем гостей от основной сети. ▪️ Сценарии для офиса: 📍 VLAN для бухгалтерии - выделенный сегмент с доступом только к 1С и серверам документов. 📍 VLAN для VoIP - стабильная телефония без помех от общего трафика. 📍 VLAN для видеонаблюдения - чтобы камеры не грузили общий канал. 📍 Разделение Wi-Fi по ролям (сотрудники, гости, администрация). ▪️ Как настраивать? 1️⃣ На свитче (управляемом): назначаем порты access (одна VLAN) или trunk (несколько VLAN). Пример на Cisco:
interface FastEthernet0/1
switchport mode access
switchport access vlan 10
2️⃣ На роутере: интерфейсы или саб-интерфейсы на разные VLAN.
Настройка маршрутизации между VLAN при необходимости.
3️⃣ На клиенте (Linux):
ip link add link eth0 name eth0.10 type vlan id 10
ip addr add 192.168.10.2/24 dev eth0.10
ip link set up eth0.10
Даже в домашних условиях VLAN дает возможность для наведения порядка, контроля и повышения безопасности в сети.
#vlan #security
🧑💻 NetworkAdmin4 725
🔝 Borg + Borgmatic: удобные и надежные бэкапы в linux
Обычные бэкапы - тема, о которой стоит напоминать регулярно. Сегодня расскажу о проверенной связке инструментов: Borg и его обертке Borgmatic. Это отличное решение, если вам нужен надежный и автоматизированный консольный бэкап без внешних агентов.
▪️ Borg - это утилита для создания резервных копий с поддержкой: дедупликации данных (экономия места), шифрования, работы по SSH без установки агентов, монтирования архива через FUSE для удобного просмотра содержимого.
Установка:
apt install borgbackup
▪️ Borgmatic - это python-обертка над borg, позволяющая описывать бэкап в YAML-конфиге - никаких длинных команд и скриптов. Все в одном месте.
Установка:
pip3 install borgmatic
⭐️ Преимущества использования Borgmatic:
несколько целевых репозиториев для хранения бэкапов; автоматические дампы баз данных (PostgreSQL, MySQL, MongoDB, SQLite); хуки до и после запуска (удобно для остановки сервисов); отправка уведомлений (в том числе по ошибке); централизованное хранение параметров и секретов (через переменные среды).▪️ Пример конфигурации:
location:
source_directories:
- /etc
- /var/www
repositories:
- user@backupserver:repo.borg
retention:
keep_daily: 7
keep_weekly: 4
keep_monthly: 6
hooks:
before_backup:
- systemctl stop nginx
after_backup:
- systemctl start nginx
Если уже используете borg, переход на borgmatic - это чистое удобство. Упрощенная автоматизация, гибкость и читаемость настроек.
#linux #backup
🧑💻 NetworkAdmin
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
