Л
Лига сисадминов
17.07.2026 06:48 · 👁 813
Управляем LXC в Proxmox через CLI
Proxmox обладает множеством отличных возможностей, которые делают его идеальным для запуска стека виртуализации хоть дома, хоть в энтерпрайзе. Он позволяет использовать как виртуальные машины, так и LXC-контейнеры. LXC — отличный способ запускать сервисы с минимальным потреблением ресурсов. Управлять LXC-контейнерами можно через веб-интерфейс. Однако, по мере того как я привыкал к управлению LXC-контейнерами, я обнаружил, что существуют команды LXC, которые полезно знать, поскольку они могут изменить и сделать более удобным ваш повседневный подход к работе с контейнерами (все таки работать с LXC через Web UI слегка больно) . Утилита PCT — это встроенная команда, позволяющая управлять LXC-контейнерами в Proxmox. Рассмотрим несколько команд PCT, которые могут существенно помочь в управлении контейнерами.
https://telegra.ph/7-komand-Proxmox-LXC-kotorye-izmenili-moj-podhod-k-upravleniyu-kontejnerami-07-16
#ит_статьи #devops #proxmox # lxc #pct
Л
Лига сисадминов
16.07.2026 06:45 · 👁 1.1K
Выставляем любой сервис на порт или сокет с помощью systemd.
Обычно это нужно для того, чтобы быстро прокинуть скрипты или legacy-приложения в сеть без необходимости писать для них собственный сетевой стек или поднимать тяжелые веб-серверы. Такое решение отлично подходит для создания легковесных сетевых заглушек, shell-скриптов или организации безопасного проксирования трафика силами встроенных инструментов Linux.
https://telegra.ph/Vystavlyaem-lyuboj-servis-na-port-ili-soket-s-pomoshchyu-systemd-07-12
#ит_статьи #devops #linux #shell #systemd #network
Л
Лига сисадминов
15.07.2026 06:37 · 👁 1.3K
Эфемерный TMPFS для скриптов
Возможно вы сталкивались с проблемой, когда при внезапном падении или kill -9 shell-скрипт оставляет за собой кучу мусора в /tmp.
Классический подход с решением через trap и rm -rf тут пасует: сигнал SIGKILL просто не дает скрипту времени на очистку ресурсов.
Но есть решение изящнее и надежнее - изолированные пространства имен ядра и приватное монтирование TMPFS. Идея тут в том, чтобы привязать время жизни временных файлов напрямую к жизненному циклу самого процесса. Скрипт умер - файлы стерлись на уровне ядра, автоматически.
Сегодня разберём как это настроить с помощью unshare, обойти ограничения шебанга и заворачивать отдельные файлы в «невидимые» директории.
https://telegra.ph/EHfemernyj-TMPFS-dlya-skriptov-07-12
#ит_статьи #devops #linux #shell #kernel #tmpfs
Л
Лига сисадминов
14.07.2026 06:41 · 👁 1.5K
Как использовать Podman для тестирования и симуляции сети
В сегодняшней статье посмотрим, как с помощью Podman создавать изолированные сетевые окружения для тестирования, симулировать условия работы сети и проверять поведение распределенных приложений.
https://telegra.ph/Kak-ispolzovat-Podman-dlya-testirovaniya-i-simulyacii-seti-07-12
#ит_статьи #devops #network #podman #containers #linux #python
Л
Лига сисадминов
13.07.2026 06:48 · 👁 1.6K
Linux Routing - Load Balancing
Итак, недавно я усвоил еще один урок: давным-давно ядро Linux умело нормально балансировать маршруты (веса nexthop), используя кэш маршрутизации, чтобы запоминать, какое соединение связано с каким маршрутом. Затем эту реализацию кэша выпилили и заменили отправкой отдельных пакетов случайным образом по каждому указанному маршруту (примерно так же я поначалу подходил к балансировке OpenVPN между несколькими потоками). Это, однако, ломало состояние соединений и порядок пакетов, так как два линка маршрута могли вести в совершенно разные места.
После этого разработчики ядра Linux решили внедрить базовый алгоритм хэширования, который бы всегда связывал поток соединения с одним и тем же хопом маршрутизации. Это очень ограниченная форма балансировки нагрузки, поскольку один и тот же адрес источника и назначения всегда будет преобразовываться в один и тот же хэш, который каждый раз будет соответствовать одному и тому же пути маршрутизации (это будет ограничивать еще сильнее, если вы используете исходный NAT).
Оказывается, есть еще один трюк, позволяющий получить более динамически распределенную балансировку маршрутизации в Linux. Он заключается в использовании таблицы mangle в iptables и маркировке нового состояния соединения (connmark), чтобы таблица conntrack могла сохранять и восстанавливать заданные метки пакетов. Затем вы можете установить правило ip rule, чтобы перехватывать эти метки межсетевого экрана и привязывать их к другой таблице маршрутизации. В дополнение к этому, вы можете использовать случайный алгоритм или алгоритм остатка от деления (modding), чтобы равномерно устанавливать разные метки, что дает вам еще большее разнообразие маршрутизации!
$ipt -t mangle -A PREROUTING -i lan -m mark --mark 0x0 -j CONNMARK --restore-mark
$ipt -t mangle -A PREROUTING -i lan -m statistic --mode nth --every 2 --packet 0 -m mark --mark 0x0 -j MARK --set-mark 8
$ipt -t mangle -A PREROUTING -i lan -m statistic --mode nth --every 1 --packet 0 -m mark --mark 0x0 -j MARK --set-mark 9
$ipt -t mangle -A PREROUTING -i lan -m mark ! --mark 0x0 -j CONNMARK --save-mark
echo "8 vpna" >> /etc/iproute2/rt_tables
echo "9 vpnb" >> /etc/iproute2/rt_tables
ip rule add fwmark 8 table vpna
ip rule add fwmark 9 table vpnb
Теперь вы можете добавить свои правила маршрутизации для VPN-туннелей в обе новые таблицы маршрутизации ip, например, vpna и vpnb!
#ит_заметки #linux #networking #routing #loadbalancing #iptables
Л
Лига сисадминов
12.07.2026 08:05 · 👁 1.7K
Куда класть секреты?
Каждые несколько недель я натыкаюсь в соцсетях на один и тот же вопрос - то ли ради охватов, то ли из искреннего любопытства: Как элегантно управлять секретами?
Цель этого поста - показать подход senior-инженера к работе с секретами как в личных, так и в enterprise проектах.
https://telegra.ph/Kuda-klast-sekrety-07-12
#ит_статьи #devops #kubernetes #security #secrets
Л
Лига сисадминов
11.07.2026 08:06 · 👁 1.8K
Обработка статус-кодов выхода для условных команд в subshell
Совсем недавно при деплое изменений через GitHub Actions пайплайн упал вот с такой максимально загадочной ошибкой:
Error: Process completed with exit code 1.
И больше ничего! Ни единой подсказки! А это значило только одно - мне придется самому лезть в эту кроличью нору. О том, что в итоге пришлось сделать и будет сегодняшняя статья.
https://telegra.ph/Obrabotka-status-kodov-vyhoda-dlya-uslovnyh-komand-v-subshell-07-11
#ит_статьи #devops #bash #linux #subshell #cicd #troubleshooting
Л
Лига сисадминов
10.07.2026 10:07 · 👁 1.9K
Docker может обходить UFW через port binding — проверьте у себя
Если в вашем docker-compose.yml порты объявлены так:
ports:
- "5432:5432"
…это привязка к 0.0.0.0 - то есть порт торчит наружу на всех интерфейсах. Проблема в том, что Docker прописывает свои правила прямо в iptables, в обход UFW. Ваш файрвол честно «закрыт», а порт на самом деле открыт всему интернету.
Проверить просто. Посмотрите, на каких интерфейсах реально слушается порт внутри ОС::
ss -tlnp | grep 5432
# или через docker: docker port <container_name>
Если в выводе 0.0.0.0:5432 вместо 127.0.0.1:5432 - порт открыт наружу.
Исправление - одна строка (явно укажите localhost, чтобы Docker слушал только loopback-интерфейс, и порт оставался доступным только внутри хоста):
ports:
- "127.0.0.1:5432:5432"
Docker будет слушать только на loopback, и порт останется доступным только с хоста.
Почему сканеры не помогут
Паттерн "5432:5432" без явного 127.0.0.1: - это слепое пятно для Trivy, Checkov, Semgrep и Snyk. Ни один из них не флагует такой биндинг как эксплойз. Рассчитывать на CI-сканеры в этом случае нельзя - проверять нужно глазами или кастомным правилом.
#ит_заметки #devops #linux #docker #firewall #ufw
Л
Лига сисадминов
10.07.2026 06:41 · 👁 1.9K
Быстрая массовая загрузка IP-адресов (IPv4, IPv6) в наборы nftables с таймаутами
На мой взгляд, одна из лучших фич в Linux nftables - это именованные наборы (named sets). Именованный набор позволяет ссылаться на группу значений (например, IP-адресов) из одного или нескольких правил, не вшивая эти значения прямо в само правило. Что еще круче - элементам набора можно задавать индивидуальные таймауты. Это удобный способ создавать самоочищающиеся наборы, который я уже использовал в своем примере с port knocking в nftables несколько лет назад.
https://telegra.ph/Bystraya-massovaya-zagruzka-IP-adresov-IPv4-IPv6-v-nabory-nftables-s-tajmautami-07-09
#ит_статьи #linux #nftables #network #firewall #security
Л
Лига сисадминов
09.07.2026 06:41 · 👁 2K
Потестил инструмент для инвентаризации и аудита Proxmox, и он меня впечатлил
Я вижу огромное количество инструментов, которые создаются якобы для решения тех или иных проблем в экосистеме Proxmox. За последние пару лет я перепробовал множество разных утилит для Proxmox, и лишь единицы смогли меня по-настоящему удивить. Тем не менее, недавно я наткнулся на инструмент под названием PVEViewer, и он показался мне особенным. Давайте разберем этот инструмент для инвентаризации и аудита, который, на мой взгляд, будет супер-интересен как для домашних лабораторий на базе Proxmox VE Server, так и для продакшн-сред. И посмотрим, почему.
https://telegra.ph/Potestil-instrument-dlya-inventarizacii-i-audita-Proxmox-i-on-menya-vpechatlil-07-08
#ит_статьи #devops #proxmox #pveviewer #tools