LinuxCamp | DevOps
Обо мне: C/C++/Linux эксперт. Говорим про разработку, Linux, DevOps, сети и администрирование. Админ (реклама): @XoDefender Чат: @linuxcamp_chat Менеджер: @Spiral_Yuri Биржа: https://telega.in/c/linuxcamp_tg РКН: https://clck.ru/3RWA3C
Mostrar más📈 Análisis del canal de Telegram LinuxCamp | DevOps
El canal LinuxCamp | DevOps (@linuxcamp_tg) en el segmento lingüístico de Ruso es un actor destacado. Actualmente la comunidad reúne a 13 959 suscriptores, ocupando la posición 9 131 en la categoría Tecnologías y Aplicaciones y el puesto 47 183 en la región Rusia.
📊 Métricas de audiencia y dinámica
Desde su creación el невідомо, el proyecto ha mostrado un crecimiento acelerado, reuniendo a 13 959 suscriptores.
Según los últimos datos del 06 julio, 2026, el canal mantiene una actividad estable. En los últimos 30 días la variación de miembros fue de -98, y en las últimas 24 horas de -3, conservando un alto alcance.
- Estado de verificación: No verificado
- Tasa de interacción (ER): El promedio de interacción de la audiencia es 27.85%. Durante las primeras 24 horas tras publicar, el contenido suele obtener 10.66% de reacciones respecto al total de suscriptores.
- Alcance de las publicaciones: Cada publicación recibe en promedio 3 888 visualizaciones. En el primer día suele acumular 1 489 visualizaciones.
- Reacciones e interacción: La audiencia responde de forma activa: el promedio de reacciones por publicación es 23.
- Intereses temáticos: El contenido se centra en temas clave como linuxcamp, ядро, linux, диск, docker.
📝 Descripción y política de contenido
El autor describe el recurso como un espacio para expresar opiniones subjetivas:
“Обо мне: C/C++/Linux эксперт. Говорим про разработку, Linux, DevOps, сети и администрирование.
Админ (реклама): @XoDefender
Чат: @linuxcamp_chat
Менеджер: @Spiral_Yuri
Биржа: https://telega.in/c/linuxcamp_tg
РКН: https://clck.ru/3RWA3C”
Gracias a la alta frecuencia de actualizaciones (últimos datos recibidos el 07 julio, 2026), el canal mantiene la vigencia y un amplio alcance. La analítica demuestra que la audiencia interactúa activamente con el contenido, lo que lo convierte en un punto de referencia dentro de la categoría Tecnologías y Aplicaciones.
sudo apt install jq
С yq важно не путать версию на Go с устаревшей на Python, у них разные возможности. Быстрее всего взять готовый бинарник с официального репозитория:
sudo wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/local/bin/yq
sudo chmod +x /usr/local/bin/yq
Как использовать?
jq читает данные из файла или из пайпа, что удобно, когда работаешь с api. Например, чтобы вытащить значение поля name из json:
jq '.name' config.json
Если внутри массив, можно пройти по каждому элементу и взять только нужные значения. Такой приём часто используют для вытаскивания id:
jq '.[].id' data.jsonyq делает то же самое с yaml и к тому же понимает json. Если нужно узнать, какой образ используется в docker-compose.yml:
yq '.services.app.image' docker-compose.ymlМенять файлы тоже просто, добавляем -i и задаём новое значение, например, меняем порт:
yq -i '.services.app.ports[0] = "8080:80"' docker-compose.ymlПолезно помнить, что оба инструмента можно комбинировать с grep, awk и другими утилитами, а yq умеет работать с вложенными yaml-файлами, что упрощает правку сложных конфигов kubernetes. Вывод: С помомью jq и yq можно автоматизировать множество рутинных задач: от чтения конфигов в ci/cd до быстрой правки параметров без открытия редактора. Такой подход экономит время и позволяет обрабатывать данные прямо в командной строке, без лишних инструментов. LinuxCamp | #utils
«Открываю терминал — и зависаю...»
«Смотрю туториалы, но в голове каша»
«Хочу примеры, которые реально встречаются в работе»Знакомо? Этот курс — для вас. Что в нём ценного: ☑️ Практики больше, чем теории — будете работать, а не просто слушать ☑️ От первого запуска Linux до самостоятельного администрирования серверов ☑️ Разберём ошибки, чтобы больше их не повторять ☑️ В конце — уверенная работа в Linux и сертификат в портфолио
«Когда открыл курс, понял, за что плачу. Это система, с практикой, поддержкой и глубоким погружением. На ***пике за 3 000₽ — даже рядом не стояло»Кому подойдёт? 👉 Новичкам, которые боятся командной строки 👉 Самоучкам, у которых в голове хаос 👉 Тем, кому не хватает практики и уверенности 👉 Тем, кто хочет стартовать в DevOps ❗️За 58 часов теории и 41 час практики вы наведёте порядок в знаниях. Посмотрите пример занятий на сайте курса «Администрирование Linux» и присоединяйтесь к нам 25 августа 📌
Сори за перезалив 🗣LinuxCamp | #services
sudo install -m 0755 -d /usr/local/bin
curl -L https://github.com/bcicen/ctop/releases/download/v0.7.7/ctop-0.7.7-linux-amd64 -o /tmp/ctop
sudo install -m 0755 /tmp/ctop /usr/local/bin/ctop
ctop -v
Использование:
Чтобы просмотреть ресурсы всех контейнеров на локальном хосте, достаточно выполнить одну команду:
ctopВ интерфейсе можно переключаться между контейнерами стрелками, останавливать или перезапускать их, а также открывать логи прямо оттуда. Если нужно подключиться к удалённому Docker, можно указать адрес перед запуском:
DOCKER_HOST=tcp://remote-host:2375 ctop
Для тех, кто не хочет ставить бинарник на хост, есть запуск из контейнера:
docker run --rm -ti \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
quay.io/vektorlab/ctop:latest
Чем отличается от docker stats:
docker stats тоже показывает ресурсы, но только в виде списка с метриками. В ctop всё представлено в виде интерактивной таблицы с сортировкой, поиском, фильтрацией и возможностью управлять контейнерами прямо из интерфейса.
Это удобнее, когда нужно не просто увидеть цифры, а быстро действовать, не выходя из одной программы.
Вывод:
С помощью ctop можно в пару команд получить наглядную картину по всем контейнерам, переключаться между хостами и при необходимости управлять ими прямо из терминала. Такой способ полезен как при мониторинге и отладке, так и при повседневной работе с Docker.
LinuxCamp | #utils #devops #docker #bymaga
sudo apt install fail2ban
По умолчанию fail2ban готов к работе сразу после установки. Чтобы убедиться, что он запущен и будет стартовать автоматически при перезагрузке системы, можно выполнить:
sudo systemctl enable --now fail2ban
Базовая настройка:
Основные параметры fail2ban находятся в конфигурационном файле. Чтобы его изменить, сначала создайте копию стандартного файла, так безопаснее и проще для управления:
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Затем отредактируйте файл:
sudo nano /etc/fail2ban/jail.local
В самом верху задаются базовые настройки: сколько времени держать IP заблокированным (bantime), за какой промежуток времени подсчитывать неудачные попытки (findtime), и после скольких попыток банить (maxretry). Например:
[DEFAULT] ignoreip = 127.0.0.1 bantime = 3600 findtime = 600 maxretry = 5Здесь fail2ban будет банить IP на 1 час (3600 секунд), если за последние 10 минут (600 секунд) с него было 5 неудачных попыток входа. Отдельно включается защита SSH:
[sshd] enabled = true port = ssh logpath = %(sshd_log)sПосле внесения изменений нужно перезапустить fail2ban, чтобы они вступили в силу:
sudo systemctl restart fail2ban
Для проверки текущего состояния защиты SSH используется:
sudo fail2ban-client status sshd
Эта команда покажет, сколько IP-адресов сейчас заблокировано и сколько всего попыток было зафиксировано.
Вывод:
Использовать fail2ban рекомендуется вместе с другими подходами к защите сервера: строгой авторизацией только по ключам, изменением стандартного порта SSH, ограничением доступа с помощью firewall и регулярными обновлениями системы.
LinuxCamp | #utils
sudo apt install nethogs
Использование:
Запустить её можно вообще без параметров:
sudo nethogs
В этом случае она попытается определить интерфейс автоматически. Часто этого достаточно. Если ты точно знаешь, через какой интерфейс идёт трафик, чаще всего это eth0, но может быть ens18, enp0s3, wlan0, зависит от системы и типа подключения, то можешь указать его явно:
sudo nethogs eth0
После запуска ты увидишь список процессов, которые что-то скачивают или отдают. Указывается имя процесса, путь до исполняемого файла, пользователь, и скорость входящего/исходящего трафика.
Всё обновляется в реальном времени, можно наблюдать за сетевой активностью прямо на лету. Если не уверен, какой интерфейс использовать, глянь список всех с помощью команды:
ip aКоманда покажет список всех интерфейсов. Обычно нужный - это тот, где есть IP-адрес из подсети (например, 192.168.*.* или 10.*.*.*), и видно state UP. Вывод: Так можно удобно на сервере быстро понять, кто шумит. Или локально, если подозреваешь, что какая-то программа активно лезет в интернет. nethogs не показывает домены, IP-адреса или порты, а только процессы и их скорость. Но для локальной отладки этого обычно хватает с головой. LinuxCamp | #utils
docker run -p 8080:80 …
Или в docker-compose у тебя:
ports:
- "8080:80"
То Docker сам открывает порт всему интернету (0.0.0.0), даже если в ufw status его нет. Это значит, что любой человек из сети может достучаться до твоего контейнера и ufw это не остановит - Docker обходит его фильтры.
Как правильно защитить контейнер:
Лучше всего конечно вообще не открывать порт наружу, если в этом нет нужды. Безопасный вариант (локальный доступ):
docker run -p 127.0.0.1:8080:80 …
либо в docker-compose.yml:
ports:
- "127.0.0.1:8080:80"
Так сервис будет доступен только внутри сервера. Подходит для проксирования через nginx, который проксирует наружу, скрытых API и внутренних утилит, ssh-туннелей или VPN.
Вариант с открытым портом контейнера:
Если все-таки нужно по какой-то причине поднять контейнер на 0.0.0.0, то лучше закрыть эти порты с помощью правил. Docker поддерживает специальную цепочку DOCKER-USER, где ты можешь сам прописать фильтры:
# Разрешаем уже установленные соединения
sudo iptables -I DOCKER-USER -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
# Разрешаем только нужный порт (например, 8080)
sudo iptables -I DOCKER-USER -p tcp --dport 8080 -j ACCEPT
# Всё остальное режем
sudo iptables -A DOCKER-USER -j DROP
Важно: правила читаются сверху вниз, поэтому разрешающие вставляем перед правилом DROP.
Проверка:
ss -lntp | grep 8080 # Слушает ли портЕсли вывод пуст - порт больше не слушает «снаружи». Вывод: Docker по умолчанию открывает всё наружу, даже если UFW говорит, что порты закрыты. Если не нужен внешний доступ, не публикуй порты или публикуй на 127.0.0.1. Если доступ нужен - используй DOCKER-USER, чтобы жёстко ограничить доступ к нужным портам. LinuxCamp | #devops #docker #bymaga
sudo apt install autossh
Быстрый старт:
Достаточно заменить привычную команду ssh -L на autossh, добавив пару опций. Например, вместо:
ssh -L 5432:localhost:5432 user@111.111.111.111
Пишем:
autossh -M 0 -fN -L 5432:localhost:5432 user@111.111.111.111
Параметры тут важны. Флаг "-fN" означает запуск в фоне без запуска удалённой команды. Флаг "-M 0" отключает echo-порт, чтобы не мешал, — вместо него autossh будет использовать настройки keep-alive из SSH-конфига.
Надёжность через keep-alive:
Чтобы autossh действительно знал, когда туннель умер, нужно включить keep-alive. Добавьте в "~/.ssh/config":
Host * ServerAliveInterval 30 ServerAliveCountMax 3Теперь SSH будет каждые 30 секунд отправлять пинг на сервер. Если три пинга подряд не получат ответа, соединение считается мёртвым - и autossh запустит его заново. Примеры из практики: Обратный туннель (если сервер стоит за NAT или роутером):
autossh -M 0 -fN -R 2222:localhost:22 user@111.111.111.111
На VPS теперь можно выполнить ssh -p 2222 localhost — и попасть внутрь домашнего сервера, как будто он сам подключился. SOCKS-прокси с автопереподключением:
autossh -M 0 -fN -D 1080 user@111.111.111.111
Выставляете localhost:1080 в браузере - и получаете надёжный прокси, который не развалится при первой же потере Wi-Fi.
Автозапуск с systemd:
Если туннель нужен всегда (например, при старте сервера) — стоит обернуть autossh в systemd-сервис:
# /etc/systemd/system/db-tunnel.service
[Unit]
Description=Persistent SSH tunnel to prod DB
After=network-online.target
Wants=network-online.target
[Service]
User=deploy
ExecStart=/usr/bin/autossh -M 0 -N -L 5432:localhost:5432 deploy@db-host
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
Активировать можно одной командой:
sudo systemctl enable --now db-tunnel.service
Теперь туннель поднимется при загрузке сервера и будет перезапущен, если вдруг упадёт.
Вывод:
autossh незаметный, но жизненно важный инструмент. Просто заменяешь ssh на autossh, и туннель больше не рвётся. Настроил один раз - и забыл, что раньше ты делал это вручную.
LinuxCamp | #utils
¡Ya disponible! Investigación de Telegram 2025 — los principales insights del año 
