LinuxCamp | DevOps
Обо мне: C/C++/Linux эксперт. Говорим про разработку, Linux, DevOps, сети и администрирование. Админ (реклама): @XoDefender Чат: @linuxcamp_chat Менеджер: @Spiral_Yuri Биржа: https://telega.in/c/linuxcamp_tg РКН: https://clck.ru/3RWA3C
显示更多📈 Telegram 频道 LinuxCamp | DevOps 的分析概览
频道 LinuxCamp | DevOps (@linuxcamp_tg) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 13 959 名订阅者,在 技术与应用 类别中位列第 9 131,并在 俄罗斯 地区排名第 47 183 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 13 959 名订阅者。
根据 06 七月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -98,过去 24 小时变化为 -3,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 27.85%。内容发布后 24 小时内通常能获得 10.66% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 3 888 次浏览,首日通常累积 1 489 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 23。
- 主题关注点: 内容集中在 linuxcamp, ядро, linux, диск, docker 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Обо мне: C/C++/Linux эксперт. Говорим про разработку, Linux, DevOps, сети и администрирование.
Админ (реклама): @XoDefender
Чат: @linuxcamp_chat
Менеджер: @Spiral_Yuri
Биржа: https://telega.in/c/linuxcamp_tg
РКН: https://clck.ru/3RWA3C”
凭借高频更新(最新数据采集于 07 七月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
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
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
