TGViewer
Channel Public Channel
ServerAdmin.ru

ServerAdmin.ru

@srv_admin

Авторская информация о системном администрировании.

Информация о рекламе: @srv_admin_reklama_bot
Автор: @zeroxzed

Второй канал: @srv_admin_live
Сайт: serveradmin.ru

Ресурс включён в перечень Роскомнадзора
Subscribers
32.6K
Photos
1.3K
Videos
76
Links
3.3K

Showing posts older than #5478 · Back to latest

Older Posts 12 shown
Post #5475 8.27K
У меня уже год в закладках лежит сервис OpenCloud. Это платформа для обмена файлами, форк OwnCloud. Первый релиз вышел в феврале 2025 года. Я тогда его увидел, записал и решил подождать, чтобы посмотреть, что в итоге получится. Недавно в новостях проскочило, что вышла уже 6-я версия. Как-то бодро они релизы выпускают. Думаю, сейчас уже можно развернуть и посмотреть, что получилось.

При беглом обзоре продукта создаётся впечатление, что это что-то неплохое. Серверная часть написана на Go, фронтенд на Vue.js, клиентская на C++. То есть это как минимум должно работать быстро. Продукт метит в конкуренцию с NextCloud и с таким стеком он как минимум в скорости работы его победит. А по функциональности надо смотреть, что в итоге получилось.

На этапе тестового запуская я немного погрустнел. OpenCloud - многокомпонентная система. Все её составные части надо увязать между собой: сам OpenCloud, прокси сервер Traefik, сервис онлайн документов Collabora Online, сервис идентификации и доступа Keycloak и некоторые другие компоненты. Вручную всё это настраивать было бы совсем хлопотно. В репозитории есть Docker Compose файлы для всего этого хозяйства.

Пробую запускать. Клонирую к себе отдельный репозиторий с compose:

# git clone https://github.com/opencloud-eu/opencloud-compose

Дальше надо заполнить файл с переменными:

# cp .env.example .env

Я указал только пароль и основные директории, остальное не трогал:

INITIAL_ADMIN_PASSWORD=secret_password
OC_CONFIG_DIR=/mnt/opencloud_data/config
OC_DATA_DIR=/mnt/opencloud_data/data

У директорий должны быть полные права для id 1000:

# chown -R 1000:1000 /mnt/opencloud_data

Попробовал запустить, ничего не получилось. Сервер запущен, но непонятно, как к нему обращаться. Нет открытых для HTTP портов. Пошёл читать документацию. Оказывается, по умолчанию сервер документов запускается без веб сервера. Надо запускать вместе с Traefik. Ну и для полноты картины добавлю сразу Collabora:

# docker compose -f docker-compose.yml -f weboffice/collabora.yml -f traefik/opencloud.yml -f traefik/collabora.yml up -d

Если запускаете в тестовом окружении без настроенного домена, то Traefik запустится с тестовыми доменами. Вам нужно будет в свой hosts файл добавить записи:

192.168.137.29 cloud.opencloud.test
192.168.137.29 traefik.opencloud.test
192.168.137.29 keycloak.opencloud.test
192.168.137.29 collabora.opencloud.test
192.168.137.29 wopiserver.opencloud.test

192.168.137.29 - адрес сервера, на котором запущен OpenCloud. Теперь через браузер по адресу https://cloud.opencloud.test я смог зайти в веб интерфейс, используя учётку admin / secret_password, как я указал в compose.yml.

Для того, чтобы корректно работала связка хранилища файлов и collabora, необходимо оба самоподписанных сертификата от доменов cloud.opencloud.test и collabora.opencloud.test добавить в доверенные. Без этого онлайн редактирование документов не заработает, браузер будет ругаться.

Веб доступ у меня нормально заработал. Я сразу через браузер залил туда папочку 10 ГБ с 4000 файлов. И пошёл ставить десктопные приложения. Для macOS и Linux они есть прямо в репозитории, а для Windows почему-то только ссылка на установщик, который лежит в Microsoft Store. Как напрямую скачать и установить приложение, я не понял. Пришлось качать установщик, который потом сам откуда-то скачал приложение.

Этот момент не понравился и выглядит странно. Продукт европейский, но они почему-то сознательно или не очень, но привязались к магазину Microsoft.

Android приложение есть в Google Store и F-Droid. Я установил из Google Store. Приложение маленькое и простое.

Я себе всё установил и настроил. Получилась заметка об установке. О работе с приложениями и общем впечатлении расскажу в вечерней заметке, так как тут уже кончился лимит на объём.

В целом, продукт неплохой, но пока ещё сильно похож на прародителя - ownCloud Infinite Scale. Чего-то нового и необычного я в нём не увидел.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#fileserver
  • 👍 98
  • 👎 4
Post #5471 10.1K
Завершу тему с Loki и Mikrotik окончательным и максимально удобным решением, к которому я пришёл, и которое можно сохранить себе. Я в итоге применил Vector, про который я уже не раз упоминал и которым я пользуюсь для других задач. Мне этот сборщик, обработчик и отправитель логов нравится больше всего. На примере настройки ниже вы сами убедитесь в его удобстве.

Ставим Vector любым удобным для вас способом. Я выбираю пакеты:

# bash -c "$(curl -L https://setup.vector.dev)"
# apt install vector

Приводим конфигурацию /etc/vector/vector.yaml к следующему виду:

sources:
 syslog_udp:
  type: syslog
  address: 0.0.0.0:3514
  mode: udp

sinks:
 syslog_to_loki:
  type: loki
  inputs:
   - syslog_udp
  compression: none
  encoding:
   codec: json
  endpoint: http://192.168.137.30:3100
  labels:
   job: mikrotik


Перезапускаем Vector:

# systemctl restart vector

Сравните это с конфигурациями Alloy. Небо и земля по читаемости. Здесь я на вход принимаю syslog любых форматов. А на выходе выпускаю json. Хотя у Vector в документации на выходе есть формат syslog. Я сначала с ним пробовал, так как это выглядит логично. Но на практике итоговый результат с json лучше.

Теперь идём в Mikrotik в раздел System ⇨ Logging ⇨ Actions и добавляем новое действие. Я назвал его Loki, указал адрес и порт сервера, где установлен Vector, в качестве Remote Log Format выбрал BSD Syslog. После этого в разделе Rules добавил новое правило для логов System действие - Loki. Всё, в Микротике больше ничего делать не надо.

Можно идти в Loki и смотреть логи. Не нужно специально настраивать парсинг логов, добавлять дополнительные метки и т.д. Всё, что надо, уже есть. При такой настройке Vector вы получите в логах следующие поля:

▪️hostname
▪️source_ip
▪️message

Ну и некоторые другие, которые уже не так нужны. Главное, что есть эти. Теперь можно легко различать логи из единого потока по устройствам. И не нужно настраивать разные приёмники или как-то насыщать логи дополнительной информацией об отправителях. При других настройках, в том числе в Alloy, я не смог добиться автоматического парсинга этих полей. А в Vector заработало сразу, благодаря его внутреннему преобразованию syslog в json.

Рекомендую познакомиться с Vector, если ещё не доводилось пользоваться. Он берёт логи из любых источников, например из обычного файла, docker logs, journald, kafka, kubernetes logs, logstash и ещё 40 различных программ и кладёт их в кучу разных источников: loki, elasticsearch, prometheus, clickhouse, postgres, текстовый файл и ещё около 50-ти различных типов. То есть он может взять практически всё что угодно, отправлять куда угодно, попутно преобразовывая. И при этом у него отличная документация с примерами.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#loki #mikrotik
  • 👍 122
  • 👎 1
Post #5468 8.26K
Расскажу историю по мотивам утренней, как моя невнимательность и ошибки бесплатных СhatGPT и Qwen привели к тому, что я несколько часов ходил по кругу и не мог решить простейшую задачу. Думаю, это будет наглядным примером того, как не стоит сильно доверять ИИ даже в простых задачах.

Как я уже писал, у меня была задача - собирать логи Mikrotik в Loki. Первое, что я сделал - задал вопрос на эту тему ChtaGPT, чтобы в целом понять структуру задачи. Он ответил вполне логично, что можно взять устаревший Promtail, или современный и рекомендуемый Alloy. И сразу предложил к нему конфигурацию.

Я, уже наученный опытом использования конфигураций от ИИ, сразу же пошёл в документацию, чтобы самому собрать нужные параметры. Меня интересовали параметры для раздела loki.source.syslog. Я этот поисковой запрос вбил в Яндексе, в надежде сразу попасть в документацию, как это обычно бывает. И я действительно попал в документацию Grafana, только для продукта Agent, который был предшественником Alloy. У них одинаковая структура конфигурации, просто у Alloy намного больше параметров. Но визуально они не отличаются.

Я собрал конфиг для syslog на основе этой документации. Запустил, всё работает. Оправляю логи с Mikrotik и получаю ошибку парсинга. Я опять пошел в ИИ и спросил его, в чём ошибка и как решить. Он логично отвечает, что Alloy ожидает RFC5424, а получает RFC3164-подобный формат от Микротика.

И дальше он предлагает параметр, который решает эту проблему:

syslog_format = "rfc3164"

❗️Но вставляет его не в тот раздел конфигурации. Я добавляю, запускаю, получаю ошибку конфигурации на параметр syslog_format, якобы его не существует. Пишу это в ИИ и он мне на голубом глазу отвечает:

В Grafana Alloy нет параметра syslog_format (я привёл аналогию с другими инструментами — здесь это не работает).

Я возвращаюсь на вкладку документации для Agent, всё там проверяю и действительно не вижу этого параметра. Ну а дальше поехали всевозможные костыли, на которые я потратил кучу времени, но задачу таки решил через одно место.

И уже позже, когда я разбирался с метками на основе syslog полей, я попадаю в документацию Alloy и с удивлением вижу там:

The messages must be compliant with the RFC5424 syslog protocol or the RFC3164 BSD syslog protocol.

Это было как гром среди ясного неба. Я не понимаю, чем я вообще занимался и какую задачу решал. Сравнил две вкладки с документацией Agent и Alloy. Они очень похожи, так как последний является продолжением первого, просто для него добавились дополнительные параметры.

Сделать нужно было вот так:

loki.source.syslog "syslog_in" {
 listener {
  address = "0.0.0.0:1514"
  protocol = "udp"
  syslog_format = "rfc3164"
 }
 forward_to = [loki.process.syslog_process.receiver]
}

А ИИ предложил так:

loki.source.syslog "syslog_in" {
 listener {
  address = "0.0.0.0:1514"
  protocol = "udp"
}
 syslog_format = "rfc3164"
 forward_to = [loki.process.syslog_process.receiver]
}

Поставил параметр не в ту секцию. Когда получил ошибку на syslog_format, с какого-то перепугу заявил, что его не существует. А я из-за невнимательности поверил и решил, что его действительно нет.

Параллельно я этот же вопрос решал с Qwen и он тоже не дал рабочей конфигурации для Alloy.

Такая вот для меня поучительная история получилась. Не знаю, как работают платные версии, но бесплатные явно путаются и в некоторых сферах работают плохо. Я так понял, что тут наложилось то, что был Promtail, Agent и теперь появился Alloy. Все 3 программы решают одинаковые задачи, существовали одновременно, конфигурации похожи, поэтому получается путаница. Проще было с самого начала сделать всё самому. Это бы заняло 10-15 минут. А в итоге несколько часов потратил. Правда, многому научился. И получил в итоге самый удобный вариант, о котором напишу в следующей заметке.

☝️ По сути тут ошибся я сам, с себя ответственности не снимаю. С ИИ какой спрос? Он постоянно ошибается. В итоге наложилось одно на другое. ИИ мог бы помочь мне, но сделал ещё хуже - пустил по ложному следу.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#ai
  • 👍 105
  • 👎 4
Post #5466 7.36K
Вчера в очередной раз разбирался с Loki. Хочу в него собрать все необходимые мне логи, чтобы получить готовое универсальное решение. В основном всё уже разобрал, остался обычный формат syslog, чтобы собирать логи с сетевых устройств. Loki принимать напрямую syslog не умеет. Нужно использовать какое-то промежуточное звено. И выбор тут такой:

◽️Alloy или Promtail
◽️Vector или другой похожий сторонний софт
◽️Сбор логов в текстовый файл с помощью rsyslog и отправка

Решил использовать рекомендуемый самой Графаной Alloy. Конфигурация там простая. В общем случае достаточно будет такой:

loki.write "default" {
endpoint {
url = "http://192.168.137.30:3100/loki/api/v1/push"
}
external_labels = {}
}

loki.source.syslog "syslog_in" {
listener {
address = "0.0.0.0:1514"
protocol = "udp"
labels = { job = "syslog" }
}
forward_to = [loki.process.syslog_process.receiver]
}

loki.process "syslog_process" {
stage.labels {
values = {
remote_ip = "__syslog_connection_ip_address",
hostname = "__syslog_message_hostname",
app = "__syslog_message_app_name",
}
}

forward_to = [loki.write.default.receiver]
}


Принимаем логи по UDP на порт 1514, добавляем немного меток и отправляем в Loki. Кажется, всё просто, но на деле - нет. Если у вас устройство шлёт syslog формата RFC5424, то проблем не будет. Для тестов взял Mikrotik, так как мне важно собирать с них логи. И ничего не получилось. Alloy ожидает логи по стандарту RFC5424 (structured syslog), а Mikrotik шлёт в неполном формате RFC3164. Там логи вида:

system,info,account user admin logged in from 192.168.137.10 via ssh

Alloy ругается на этот лог и не может его распарсить. Почитал документацию alloy и нашёл параметр:

syslog_format = "rfc3164"

Добавил его, логи всё равно не идут. Поменял в Mikrotik формат логов с default на BSD Syslog и логи пошли в Loki, но без информации об адресе отправителя, что очень неудобно, когда у тебя много устройств.

Дальше я реализовал для сбора несколько вариантов, чтобы понять, какой удобнее всего:

◽️Принимать логи в rsyslog в текстовые файлы, а потом забирать их alloy.
◽️Принимать логи в rsyslog насыщать их дополнительными полями и переправлять в alloy.
◽️Использовать для приёма логов Vector. Он принимает микротиковские логи разных форматах.

В первых двух способах парсинг полей недоступен. Чтобы он работал, надо вручную добавлять этап обработки микротиковских логов какой-то регуляркой, выделять поля и передавать структурированные данные в alloy. Я попробовал быстренько это реализовать, но не получилось. Надо разбираться и отлаживать. Задача нетиповая, ИИшки не помогают, предлагают откровенную неработающую лажу. Мне не сказать, что сильно это надо. Конкретно от Микротиков мне важно просто хранить текстовые логи. Их обычно немного, какие-то выборки и группировки не нужны.

Пример того, как записать логи формата syslog с Микротиков в текстовые файлы, я показывал ранее. Сохраняем логи в разные файлы и забираем их с помощью Alloy. Это самый простой способ, что называется - в лоб. Работает надёжно и прост в настройке. Отладка особо не нужна, у меня сразу заработало, в отличие от других вариантов. Фильтрация устройств работает по имени файла, в котором отражён IP.

Второй вариант с пересылкой через rsyslog у меня тоже получился, хоть и не сразу. Пришлось повозиться и отлаживать. Ниже часть конфигурации rsyslog.conf, которая отвечает за приём логов формата default в Mikrotik и пересылку в локальный alloy с добавлением полей до формата RFC5424:

module(load="imudp")
input(type="imudp" port="514" ruleset="to_alloy")

template(name="RFC5424_Wrapper" type="string"
  string="<%PRI%>1 %TIMESTAMP:::date-rfc3339% %HOSTNAME% mikrotik - - - %msg:2:$%\n"
)

ruleset(name="to_alloy") {
  action(type="omfwd"
      target="127.0.0.1"
      port="1514"
      protocol="udp"
      template="RFC5424_Wrapper")
  stop
}


В итоге самым удобным вариантом оказался Vector. Не хватает лимита по объёму, так что вечером покажу подробно отдельной публикацией.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#loki #mikrotik
  • 👍 66
  • 👎 3
Post #5463 9.02K
Я периодически получаю всякие подарки от вендоров и приглашения на мероприятия. Последнее частенько бывает. Обычно нет времени ходить, особенно сейчас, когда до Москвы 1,5 часа ехать, а в центр - 2-2,5. Но на днях меня прям удивили, поэтому расскажу историю.

Уехал из дома по делам, когда позвонил курьер и сказал, что приехала доставка. Дома была супруга, предупредил её, чтобы забрала. Она берёт коробку, в коробке непонятно что. НО! Одно время она занималась кондитерством и узнала по названию на коробке известную фирму, которая делает торты на заказ. Заглянула внутрь и не поняла, зачем в коробку от торта запихнули какой-то сервер. Сразу не сообразила, что это торт.

Я приехал, смотрю в коробку и не понимаю, что это такое. И как вообще жена поняла, что это сервер. По надписям NVIDIA стало понятно, что это что-то из железа. Но лично я платформу на базе модулей B300 не видел ни разу даже на картинках. Не представлял, что они так выглядят.

В общем, это был такой необычный торт и приглашение на их бесплатную конференцию по искуcственному интеллекту. Я, кстати, приеду, если ничего не изменится. Тема горячая, интересно послушать. Ссылок никаких не оставляю, потому что это не реклама. У меня никто ничего не заказывал, маркировки нет. Селектелу если что-то надо, то он заказывает обычную рекламу. Подарков от него у меня много. Шлют просто так, писать ничего не просят. Это моя частная инициатива. Тортик такой получил не только я. Видел у других блогеров то же самое.

#разное #железо
  • 👍 202
  • 👎 7
Post #5462 9.86K
▶️ Очередная подборка авторских IT роликов, которые я лично посмотрел и посчитал интересными/полезными. Это видео из моих подписок за последнее время (обычно беру период в 2 недели), что мне понравились.

🔥 NGINX is Dead? // Angie Web Server Migration Guide
Angie заметили иностранные блогеры, как замену Nginx. Автор сделал небольшой обзор, показал, как перейти с Nginx, и отметил некоторые преимущества. Каждый второй комментарий к видео на тему того, что Angie - российская разработка. Я не удержался и каждому ответил, что Nginx, самый популярный веб сервер в мире, вообще-то тоже родом из России.

⇨ HTTP/2 и HTTP/3: настройка, достоинства и недостатки
Большой наглядный разбор протоколов с примерами. Автор сразу на веб сервере меняет настройки и демонстрирует то, что рассказывает. Очень наглядный формат повествования.

⇨ Proxmox Ollama OpenWebUI LXC для самых маленьких
Очень простая и быстрая установка и настройка Ollama и OpenWebUI в LXC-контейнере на Proxmox. Это веб интерфейс для взаимодействия с различными моделями. В данном случае, с локальными. Автор для примера установил одну простенькую модель и пообщался с ней.
⇨ Локальная Ollama в Excel
Продолжение первого видео, где используется локальная модель для взаимодействия с табличкой Excel через query запросы. Хороший практический пример использования небольшой локальной модели.

⇨ Getting started with OpenClaw (VPS Set-Up simply + secure) Tutorial
Инструкция по настройке и использованию OpenClaw - популярного последнее время агента для взаимодействия с ИИ. В видео автор много всего интересного рассказал по поводу моделей и их использования. Так что послушать полезно и для общего образования, даже если настраивать не собираетесь.

⇨ OpenMediaVault 8: Install, RAID, File Sharing & More - OMV 8 Series Ep. 1
Автор анонсировал серию уроков по настройке сетевого хранилища на базе Debian - OpenMediaVault. Неплохое решение. После TrueNAS, мне кажется, на втором месте по популярности. В видео в целом ничего особенного - установка, создание разделов, сетевых дисков, пользователей.

⇨ Changedetection
Обзор полезного и функционального сервиса changedetection.io для отслеживания изменений на сайтах. Я тестировал его и писал заметку.

⇨ Это наконец-то исправляет ошибки в пользовательском интерфейсе Proxmox.
Обзор PegaProx, про который я недавно писал. Автор похвалил панельку. Говорит, что намного удобнее и нагляднее стандартного интерфейса. Правда речь идёт о многокластерных инфраструктурах, где продукт наиболее широко раскрывается.

⇨ Программное обеспечение с открытым исходным кодом, которое я буду использовать в 2026 году!
Большой обзор от автора открытого ПО, которое он использует. В целом, там ничего особенного. Практически всё, что он перечислил, я знаю и в разное время обозревал на канале: Authentik, Nextcloud, Beszel, Vaultwarden, Pangolin, Netbird, Nexterm, Guacamole, Peertube и т.д. Интересный и ёмкий формат видео, из которого можно что-то полезное для себя вынести.

⇨ ZimaBoard 2. Компактный домашний сервер
Очень подробный обзор (57 минут 😱) на популярный последнее время одноплатник. Это не спроста. Судя по всему производители вложились в маркетинг. Все ломанулись снимать обзоры на него. Так то железка прикольная.

⇨ Docker Swarm. Что за РОЙ? Обзор технологии оркестрации Докер Сворм.
Большой обзор Docker Swarm. Подойдёт для тех, кто хочет понять, что это такое и как работает.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#видео
YouTube NGINX is Dead? // Angie Web Server Migration Guide Check out Twingate and supercharge your security: https://bit.ly/3Y1OaZi If you're still running NGINX as a reverse proxy in Docker or on a web server, it might be time to consider Angie — a drop-in replacement built by former NGINX engineers. I'll walk…
  • 👍 49
  • 👎 2
Post #5459 8.7K
Ездил вчера к родителям на дачу, покопаться в старом железе. У меня там склад на чердаке. Привёз пару системников и свой старый, самый первый, как тогда говорили, ЖК монитор SyncMaster 720T. Ему уже лет 20-25, но до сих пор работает. Очень радовался, когда его приобрёл. Это был прям шаг вперёд в 21-й век. До него были пузатые, тяжеленные ЭЛТ мониторы. А тут такой малыш с PVA матрицей. Работает до сих пор. Причём по сравнению с современными не сказать, что есть прям какой-то прорыв. Конечно, современные намного лучше, но всё равно это продукты одного порядка. Нет никакого вау эффекта с перехода со старого на новый, как это было при переходе с ЭЛТ.

Не знаю, что на меня нашло. Захотелось собрать старый компьютер с хрустящим HDD, поставить туда Windows XP, старые программы и игры. Можно по идее и что-то постарее. Мой первый компьютер, куда я сам установил систему, был с Windows 98. Но больше всего мне запомнилась именно XP. Я тогда в универе учился, купил диск с какой-то самой первой, ещё английской версией XP. Установил себе на компьютер и очень проникся новыми полупрозрачными иконками. Эта система была заметно красивее предыдущих: 98, ME, 2000, которые я себе устанавливал в разное время. С тех пор больше не было такого вау эффекта с выходом новых версий Windows.

❓Как понять, что ты правильно выбрал для себя профессию? Я недавно переехал в свой дом, сделал себе кабинет. И вот сейчас смотрю на него, а он похож на мастерскую. У меня тут везде системники, мониторы, различные комплектующие. Вдоль стены стоят стеллажи с коробками и там тоже железо: старые и не очень ноутбуки, штук 30-40 различных жёстких дисков, свитчи, роутеры, провода и прочие комплектующие. Я непроизвольно, шаг за шагом, создал среду, в которой мне интересно и комфортно.

И вот теперь из всего этого что-то собираю. Нашёл две материнки, где в одной 8, в другой 6 SATA портов. Сейчас их тоже соберу в корпусах, для чего-нибудь приспособлю. Какой-то практической пользы в этом нет. Я без этих серверов жил и проживу ещё. В принципе, могу и что-то новое купить (если память подешевеет), но так как не сильно надо, деньги тратить не хочется. Мне просто нравится этим заниматься.

Купил к этим будущим серверам новый ИБП - Ippon Kirpich 1050. Когда первый раз увидел название, подумал, что прикол какой-то. Потом уточнил - действительно такая линейка есть. Всегда считал, что IPPON - это какая-то китайская фирма. Я и на работу брал иппоны, и дома один работает - нормальный ИБП, уже пару раз менял ему аккумулятор. А это оказывается российская компания. Она же и дала название линейки - Kirpich. УПС выглядит реально как большой кирпич. Взял его, потому что розеток много, ЖК дисплей есть и физическая кнопка отключения писка.

А вы дома или в свободное время ковыряетесь в железе? Я сколько себя помню в профессии, всегда этим занимался, поэтому у меня везде залежи железа. Когда-то давно серваки жужжали прямо у меня в комнате, а спал я в берушах. А кто-то ноут закроет и забывает всё это. Даже системника дома нет. Сейчас всё арендное или готовое в стойках стоит. Я и сам по работе давно уже с железом не работаю, а дома нравится с ним возиться, но не всегда было время и место для этого. Сейчас появилось немного. Есть хотя бы где всё это разместить.

Пока писал, чуть не забыл, что хотел оставить ссылку на сайт со старым софтом - https://www.oldversion.com. Хостинг на Digital Ocean, наши запрещаторы 🤬 (чтоб у них запрещался отсохла) его зачем-то блокируют, так что напрямую не зайти. Там и софт, и игры есть. Для старой системы полный набор.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#железо
  • 👍 187
  • 👎 3
Post #5458 8.4K
🔝 ТОП постов за прошедший месяц март. Все самые популярные публикации по месяцам можно почитать со соответствующему хэштэгу #топ. Отдельно можно посмотреть ТОП за прошлые года: 2023 и 2024 и 2025.

Пользуясь случаем, хочу попросить проголосовать за мой канал, так как это открывает некоторые дополнительные возможности по настройке: https://t.me/boost/srv_admin.

📌 Больше всего пересылок:
◽️Менеджер соединений Nexterm (531)
◽️Веб сервис для работы с pdf - BentoPDF (474)
◽️Книга - Основы системного администрирования Linux (425)
◽️Atch - замена screen и tmux (331)

📌 Больше всего комментариев:
◽️Использование ИИ в работе (350)
◽️Практические примеры с ИИ и куда мы движемся (301)
◽️Цены на компьютеры и комплектующие (289)

📌 Больше всего реакций:
◽️Книга - Основы системного администрирования Linux (205)
◽️Использование ИИ в работе (204)
◽️Atch - замена screen и tmux (194)

📌 Больше всего просмотров:
◽️Обзор топовой домашней лабы (10505)
◽️Советы по индексации зарплаты (9710)
◽️Древнючий pdf принтер doPDF (9540)

#топ
Telegram ServerAdmin.ru ​​🎄🔝 Под конец года имеет смысл подвести некоторые итоги. В повседневной жизни я не привык это делать. Обычно только доходы/расходы анализирую. А вот в разрезе канала было интересно посмотреть итоги. Я подготовил ТОП публикаций за прошедший год. Это было…
  • 👍 35
  • 👎 1
Post #5456 8.99K
Очередная подборка статей авторов, которые согласились в ней участвовать. Кто не понимает, о чём идёт речь, может прочитать прошлые публикации по этой теме (раз, два).

⇨ Linux on DeX: когда смартфон становится рабочей станцией
Samsung DeX (Desktop Experience) - режим работы флагманских Samsung-устройств, при котором телефон подключается к монитору через HDMI или USB-C и превращается в полноценный десктоп с оконным менеджером, панелью задач и поддержкой клавиатуры с мышью. Вообще впервые услышал об этой технологии. Open source реализация этой технологии для запуска Linux на Android - Local Desktop | Linux on Android. Если кто-то запускал такое у себя и пользовался, поделитесь, пожалуйста, впечатлениями.

⇨ Proxmox VE — Создание шаблона VM и использование Cloud-Init
Использование Cloud-Init для быстрого запуска преднастроенных виртуалок в Proxmox. Наиболее простая технология для подобных задач. Осваивается сходу.

⇨ Обзор и возможности ZimaBoard 2: компактный сервер для домашнего homelab
Обзор компактного одноплатного сервера Zimaboard. У автора есть и видеообзор этого устройства. Мне понравилась концепция. Для этого одноплатника я бы нашёл реально применение, в отличие от Raspberry Pi и аналогов.

⇨ Как проверить SSL сертификат сайта из консоли Linux
Консольные команды, теория и примеры работы с сертификатами, в том числе разбор основных ошибок и ручное восстановление доверия через обновление промежуточных сертификатов в цепочках.

⇨ Web WireMock: как я сделал удобный интерфейс для управления моками
Веб интерфейс для Wiremock - инструмента для эмулирования работы API. Обычно используется для тестов, заменяя реальные сервисы с API клоном с преднастроенными ответами на разные запросы.

⇨ Как массово добавить хосты в Zabbix из Excel через API
Практический пример добавления 200 хостов в мониторинг через Zabbix API. Хосты записаны в таблицу Excel, скрипт добавления написан на Python.

⇨ BookLore — self-hosted библиотека и читалка для вашей коллекции книг
Обзор и настройка решения собственного сервера для хранения и чтения электронных книг. Я, кстати, постоянно читаю книги. У меня их полно сохранено, но они тупо лежат по папкам с именами в виде имени автора.

⇨ Установка Vaultwarden в Docker
Установка популярного веб сервиса Vaultwarden для хранения паролей и совместной работы с ними. В статье используется веб сервер Caddy в качестве обратного прокси и MariaDB в качестве СУБД. Всё это собрано в compose.yml.

⇨ Как преобразовать GPT в MBR без потери данных
Нетривиальная задача, которая лично мне вообще ни разу не попадалась. Обратное преобразование ещё случается, да и то редко. Обычно разметка выбирается в момент установки системы и дальше нет нужды её изменять. В статье автор использует бесплатную программу DiskGenius для преобразования без потери данных.
⇨ Как преобразовать MBR в GPT без потери данных
Следом пример обратного преобразования с помощью той же программы. Это более реальный пример, с которым можно столкнуться, если диск вашей виртуалки был меньше 2 ТБ, а теперь его надо увеличить без пересоздания диска.

⇨ QUIC: Транспортный протокол, который переосмыслил интернет
Обзор протокола QUIC с акцентом на его особенностях и построении приложений с ним.

Хотите присоединиться к этой подборке? Пишите мне в личные сообщения.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#статьи
Telegram ServerAdmin.ru Решил провести небольшой эксперимент и поддержать авторов, которые ведут блоги по IT тематике. Думаю, среди читателей моего канала такие найдутся. В конечном счёте цель написания статей в публичном доступе - их прочтение другими людьми. Я хочу попробовать…
  • 👍 73
  • 👎 1
Post #5455 11.9K
Не очень хочется об этом писать, но уже особо выбора нет. В любом случае все там будем. Речь идёт про MAX. Минцифры как из рога изобилия последнее время сыплет инициативами, которые становятся обязательными к исполнению.

Правительство запускает общенациональную кампанию по добровольному отказу граждан от мессенджера Telegram. Блогеров и СМИ обязали в этом участвовать. Подробности кампании по ссылке:

⇨ Минцифры выплатит по 1000 рублей россиянам, удалившим свой аккаунт в Telegram

Глава Минцифры Максут Шадаев объявил о старте общенациональной кампании по добровольному отказу граждан от мессенджера Telegram. В течение ближайших месяцев в СМИ и Интернете лидеры мнений будут вести разъяснительную работу с населением о незавидной участи пользователей западной сервиса.

«Ведущие журналисты и блогеры в доступной форме объяснят, почему не нужно переписываться и читать новости в «Телеге». Также до граждан донесут информацию о доступных отечественных альтернативах», – сказал Шадаев.

Удалившие свой аккаунт в Telegram россияне также получат по тысяче рублей. Для получения выплаты пользователь должен подать заявление на портале «Госуслуги» и пообещать как минимум год не пользоваться мессенджером.

#сатира (горькая 😭😭)
ИА Панорама Минцифры выплатит по 1000 рублей россиянам, удалившим свой аккаунт в Telegram Для получения выплаты гражданин должен пообещать не пользоваться иностранным сервисом.
  • 👍 100
  • 👎 67
Post #5453 7.79K
Каждый раз, когда пишу заметки на тему DDOS, в комментариях появляются одни и те же заблуждения. Что тут в TG, что в VK. Я не сказать, что прям такой большой специалист по этой теме, но у меня в управлении уже очень давно разные сайты, и ситуаций с ними тоже было много разных. На эту тему было много заметок на канале. Где-то я что-то мог сделать и решить проблемы, где-то ничего не мог сделать и сайт лежал под нагрузкой, а иногда меня просто провайдеры отключали, приходилось подключать внешнюю защиту.

Пройдусь по этим заблуждениям.

1️⃣ Надо установить и настроить Fail2Ban. Это прям база, про которую всегда пишут. Fail2Ban - популярный инструмент, который решает некоторые задачи, но от DDOS он не поможет. Я его сразу же отключаю, если начинается атака. Именно Fail2Ban первым делом и положит ваш сервер с сайтом, как только лог веб сервера начнёт измеряться гигабайтами. А это может случиться очень быстро.

Пока с этим не столкнёшься, не поймёшь. Кажется, что это простой и эффективный инструмент, для которого куча инструкций. Да, им удобно банить редких ботов, которые долбятся в админку, в несуществующие урлы, превышают лимиты веб сервера и т.д. Но как только идёт DDOS, он больше вредит, чем помогает.

2️⃣ Настроить limit_conn и limit_req в Nginx. С их помощью можно ограничить число подключений с конкретного IP или запросов на конкретный урл. Настроить в целом можно. Я, собственно, их всегда и настраиваю. Они работают в связке с Fail2Ban. Но от DDOS это тоже не поможет, а усугубит ситуацию. Боты займут все лимиты и реальные пользователи вообще ничего не увидят. Это будет равноценно тому, что вы просто отключите свой сайт. Получается, что вы не решите проблему, а усугубите, упростив задачу атакующему.

3️⃣ Заблокировать ботов на веб сервере. Это может быть блокировка по гео признаку, по юзер агенту, кукисам или ещё какому-то признаку. Иногда паразитный трафик такой интенсивный, что тот же Nginx на 100% загружает сервер, даже отдавая только статическую страницу с заглушкой. Он уже не может эффективно работать. Если есть возможность, отсекать запросы надо заранее.

Мой опыт успешного отражения некоторых небольших атак говорит о том, что если ты что-то можешь сделать, то лучше это делать сразу на файрволе, не допуская трафик до веб сервера. Я применяю связку iptables + ipset. Хорошо их знаю и умею пользоваться. Только так хоть как-то можно что-то сделать, если тебе не забили входящий канал и тебя не отключил провайдер.

На моей практике отражались какие-то автоматизированные и с моей стороны выглядящие как бессмысленные атаки. Если я видел, что атакует какой-то человек, применяя разные методы, то рано или поздно от добивался своего и тебе оставалось только подключать внешнюю защиту, менять IP, направлять трафик через DNS на адреса защиты.

DDOS зачастую продаётся как услуга, тебе не обязательно в этом разбираться, если хочешь кому-то навредить. Достаточно заплатить, и в зависимости от твоего бюджета, будут выбирать методы и продолжительность воздействия. Если бабки не проблема, то просто сразу же заказываешь атаку, которая забивает входящий канал и сайт падает. А дальше у владельца только один вариант - подключать платную защиту.

В целом, немного разбираться в отражении простых атак стоит. Я сталкивался много раз с ними. Знаю знакомых, которые не понимали, что им делать, даже когда их один человек долбил запросами в какое-то уязвимое место на сайте. Они прям думали, что их атакуют и надо срочно покупать защиту, хотя хватило бы и простого Fail2Ban или одного правила в файрволе. Основная проблема в получении практического опыта. Потренироваться не на чем. Сымитировать нормальную атаку довольно сложно. Например, во вчерашней атаке я по итогу забанил 135 000 IP адресов. Так как я не первый раз с этим сталкиваюсь, просто открыл свои прошлые публикации и набор сохранённых команд и скриптов, которые использовал ранее.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#ddos #совет
Telegram ServerAdmin.ru ​​Вчера одного из заказчиков сильно ддосили. Решил поделиться опытом и написать заметку на этот счет. А опыт тут очень простой. Сами вы ничего не сделаете, поэтому лучше не терять время, а сразу заказывать услугу по защите. Атака развивалась стандартно.…
  • 👍 111
  • 👎 1
Post #5447 11.2K
Я уже упоминал ранее, что Proxmox Virtual Environment (Proxmox VE), как говорится, пошёл в народ. А за ним и в бизнес. Начала появляться куча программ, в том числе коммерческих, вокруг этого продукта. Не так давно Veeam добавил поддержку PVE в своих продуктах. Думаю, что через несколько лет PVE и в крупные компании начнёт проникать. Это и сейчас уже происходит.

Расскажу про ещё один продукт для управления одиночными хостами PVE и кластерами - ProxCenter. Он идеей похож на PegaProx, про который я недавно писал. Сразу скажу, что не вижу большого смысла сейчас использовать это в проде, ни первый, ни второй. Продукты новые, не настоялись ещё. Пишу в основном о них для справки. Любопытно самому посмотреть и потом сравнить через пару лет, вот что они превратились.

ProxCenter метит в коммерческую нишу. У него уже сейчас две версии - Community и Enterprise. У первой, соответственно, код открыт. Её я и попробовал. По своим возможностям она напоминает связку Pulse + Datacenter Manager. То есть это красивый веб интерфейс управления с мониторингом в режиме реального времени. Полезная функциональность только в платной версии: автоматическая балансировка нагрузки, межкластерная репликация, RBAC + LDAP/AD/SSO, rolling updates (❗️) для нод кластера, интеграция с ИИ, подключение гипервизоров VMWare, XCP-ng, Nutanix, Hyper-V и миграция с них в PVE, и некоторые другие плюшки.

Устанавливается всё это в Docker. Есть готовый скрипт от разработчиков:

# curl -fsSL https://proxcenter.io/install/community | bash

Он делает некоторые проверки, устанавливает Docker, скачивает compose.yml и запускает. В скрипте есть ссылка на compose, который в репозитории лежит, можете вручную запустить, если что.

В бесплатной версии не увидел ничего полезного, что побудило бы использовать эту веб панель. Разве что отдельную аутентификацию в саму панель для доступа к инфраструктуре. Она не привязана к внутренней аутентификации добавляемых хостов. Интерфейс на любителя. Вроде аккуратно сделано, но лично я не люблю градиенты на индикаторах. Хотя с ними визуально быстрее воспринимается информация.

Больше пользы можно получить при использовании с большими кластерами, где много виртуальных машин и контейнеров. В ProxCenter есть визуализация всей инфраструктуры и общий управляемый список всеми ресурсами. Визуализация мне понравилась.

❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.

———
ServerAdmin: 📱 Telegram | 🌐 Сайт | 📲 MAX 😩

#proxmox
  • 👍 88
  • 👎 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →