ServerAdmin.ru
27.6K subscribers
192 photos
25 videos
10 files
2.52K links
Авторская информация о системном администрировании.

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

Второй канал: @srv_admin_live
Сайт: serveradmin.ru
Download Telegram
​​Раз уж я затронул тему файлового сервера на примере дистрибутива OpenMediaVault, стоит её продолжить и рассказать про основного конкурента - TrueNAS, изначально созданного на базе FreeBSD.

Обычно выбор стоит между этими двумя дистрибутивами. У них ещё, как оказалось, общие корни в виде разработчика, который сначала работал над FreeNAS, предшественника TrueNAS, а потом решил переводить систему на Linux и основал OpenMediaVault на базе Debian.

Для меня было открытием, что TrueNAS в настоящий момент существует в двух редакциях:
- TrueNAS Core на базе FreeBSD
- TrueNAS Scale на базе Debian

Сейчас по факту выбор стоит между тремя вариантами, на первый взгляд похожими, но на самом деле разными продуктами: TrueNAS Core, TrueNAS Scale и OpenMediaVault.

TrueNAS существенно отличает от OMV то, что там используется файловая система ZFS со всеми вытекающими последствиями. Для работы требуется значительно больше оперативной памяти, и желательно, чтобы она была ECC.
● TrueNAS - рекомендация от 8 Гб RAM
● OMV - рекомендация от 512 Мб RAM

Отсюда сразу следуют разные сферы применения. Более простая и легкая OMV идеально подойдёт в роли небольшой виртуальной машины под файловый сервер, или для установки на Raspberry Pi или подобные одноплатники.

В TrueNAS отсутствуют привычные уровни RAID, так как используется ZFS, в отличие от стандартного MDADM в OMV. Это может вызвать трудности у тех, кто не разбирается в этом. Например, аналог RAID6 будет называться RAID-Z2. Если собрались использовать TrueNAS, то ZFS желательно знать и понимать, как с ней работать.

Подводя итог, можно сказать, что TrueNAS более сложная, функциональная и требовательная к ресурсам система. Поддерживается и разрабатывается силами коммерческой организации, у которой существует платная версия дистрибутива. Отсюда и более серьезный подход, современный внешний вид, обширный функционал. Зачастую избыточный для простых задач. Выбирать его стоит, если вам реально нужна ZFS с учётом её особенностей.

Сайт - https://www.truenas.com/
Исходники - https://github.com/truenas

#fileserver
​​Среди программ для восстановления данных есть безусловный лидер с огромным функционалом. Каждый раз, когда пишу про подобные программы, вижу её упоминание - UFS Explorer Professional Recovery. Это сильно платная программа, бесплатной версии нет вообще. Обычно не пишу про подобный софт, но в этот раз решил сделать исключение по двум причинам.

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

UFS Explorer Professional Recovery поддерживает для установки и запуска все популярные системы (Windows, Linux, MacOS). То же самое с поддержкой файловых систем прочих технологий, используемых для хранения данных. Список огромный:
Windows: NTFS, FAT, FAT32, exFAT, ReFS/ReFS3;
macOS: HFS+, APFS;
Linux: Ext2, Ext3, Ext4, XFS, Extended format XFS, JFS, ReiserFS, UFS, UFS2, Adaptec UFS, big-endian UFS, Btrfs, F2FS;
BSD/Solaris: ZFS volumes;
VMware: VMFS, VMFS6.

Помимо непосредственно файловых систем, поддерживается восстановление данных с различных рейд контроллеров, как железных, так и софтовых:
- mdadm, LVM, Apple Software RAID, Intel Matrix, и т.д.
- Drobo BeyondRAID, Synology Hybrid RAID, Btrfs-RAID
- классические RAID 0, RAID 1E, RAID 3, RAID 5, RAID 6, RAID 7 на базе стандартных реализаций
- зеркальные уровни RAID level 10, 50, 60, 50E и т.д.
- ZFS and RAID-Z (RAID-Z, RAID-Z2, RAID-Z3)

Умеет находить и восстанавливать образы дисков виртуальных машин: VMware VMDK, Hyper-V VHD/VHDX, QEMU/XEN QCOW/QCOW2, VirtualBox VDI, Apple DMG, Paralles, EnCase E01 and Ex01.

UFS Explorer Professional Recovery - софт профессионального уровня, который часто используют компании, специализирующиеся на восстановлении данных. Сразу предупрежу, что разработчики из Украины, так что аккуратнее с программной. Используйте на свой страх и риск, предприняв все меры предосторожности. Купить её, даже при желании, не получится.

Сайт / Информация на ru-board

#restore
Неоднократно сталкивался с проблемами, когда путался с метриками из-за того, что неправильно их интерпретировал. Например, однажды принял 10 MiB/s за 10 Мегабит в секунду, а на самом деле это 10 Мебибайт в секунду, что с учётом погрешностей измерений можно сравнить с 100 Мегабитам в секунду. Не знаю, зачем программа выводила скорость в мебибайтах, но по факту я потратил какое-то время на выяснение проблем, хотя их на самом деле не было. Я просто упирался в ширину канала.

Когда сам пишу сокращения, с сожалением понимаю, что путаюсь в правильном обозначении. Иногда подсматриваю правильное написание, иногда забиваю и пишу как помню.

Пример правильного написания скоростей передачи данных:
- килобиты в секунду — кбит/с (kbps, kbit/s или kb/s)
- мегабиты в секунду — Мбит/с (Mbps, Mbit/s или Mb/s)
- гигабиты в секунду — Гбит/с (Gbps, Gbit/s или Gb/s)

Килобиты (kb) всегда в сокращениях пишутся с маленькой буквы, хотя килобайты с большой - KB.

Пример правильного написания размера данных:
- Килобайт — КБ, Кбайт (KB)
- Мегабайт — МБ, Мбайт (MB)
- Гигабайт — ГБ, Гбайт (GB)

📌 Полезные дополнения:
- Часто путают MB/s и Mb/s (1 MB/s = 8 Mb/s), поэтому рекомендуется использовать сокращение Mbit/s
- ГОСТ 8.417-2002 предусматривает обозначение битов без сокращения, но в общем случае «б» может использоваться как «бит»: Гб/с (Гигабит в секунду)
- Используем: ГБ/с (Гигабайт в секунду) и Гбит/с (Гигабит в секунду)
- В англоязычной терминологии допускается использование «b» как «bit»: Mbps, Mb/s и др.

Наглядный калькулятор для перевода единиц измерения данных:
https://www.unitjuggler.com/memory-конвертация.html

Пост имеет смысл забрать в закладки.

#полезное
​​Существует не так много корпоративных телеграм-каналов, которые читать не только интересно, но и полезно. Один из лучших в отрасли — канал «Салатовая телега».

📌 Интересное и полезное на канале:

всё об устройстве облаков и дата-центров (дашборды grafana для инженеров ЦОД)
рассказы про инфобез и телеком, интересные видео выпуски по данным темам (разоблачаем хакерские атаки в фильмах)
опыт работы с Kubernetes (мониторинг состояния кластера)
миграция ИТ-систем (переход с СУБД MS SQL на PostgreSQL)

Кроме этого на канале публикуют актуальные вакансии и проводят квизы с классными подарками.

Присоединяйтесь, чтобы не пропустить все самое свежее из мира облаков и ЦОДов.
👉🏼 https://t.me/unidataline

#реклама
​​На днях в комментариях кто-то спрашивал про софт для учёта техники в стойках. В этот момент я вспомнил, что давно хотел написать заметку про подобный софт, но всё откладывал. Речь пойдёт про Ralph. Это бесплатный Open Source проект в том числе для учёта техники в ЦОД (но не только). По современным обозначениям это система Assets Management для DCIM (Data center infrastructure management) с использованием CMDB (Configuration Management Database).

В описании Ralph сделан акцент на управление техникой в ЦОД, но на самом деле его можно использовать и для обычных офисов, особенно если у вас есть хоть одна серверная стойка где-то в ЦОД или у себя.

Ralph позволяет вести учёт:
серверных комнат, стоек, серверов
складов и запасных частей в них
патч панелей, сетей и сетевых ресурсов
облачных ресурсов
офисной техники - компьютеров, принтеров, телефонов и т.д.
лицензий и договоров обслуживания, поддержки
доменов

По сути это аналог GLPI и iFtop. Написан Ralph на Python. Для простой установки есть deb репозиторий Ubuntu. Запускается на базе Nginx, использует БД MySQL. Есть подробная инструкция по установке. Для быстрого запуска можно использовать Docker. Есть готовый docker-compose. В документации указано, что в докере работа экспериментальная. Не знаю, что там может быть экспериментального для типового веб проекта на python, но на всякий случай предупредил.

Я запустил Ralph в Docker с использованием предложенного docker-compose.yaml, но пришлось немного поразбираться, так как инструкция устарела. Прежде чем запускать весь проект в рабочем режиме, нужно инициализировать базу данных:
# docker-compose run web init
А потом уже запускать:
# docker-compose up -d
Дефолтная учётка для входа - ralph / ralph.

Есть Demo - https://ralph-demo.allegro.tech, но у меня туда не получилось зайти с предложенными учётными данными. Почитал issues в репозитории, оказывается кто-то заходит в демо и меняет пароль. Периодически разработчики его возвращают обратно на дефолтный. Делают это в ручном режиме и не понятно, когда произойдёт очередной сброс. В общем, поднял в итоге у себя, чтобы протестировать.

По самой программе трудно что-то сказать, не попользовавшись. Поддержки русского языка нет, хотя в настройках можно его выбрать, но будет переведены пару фраз. Всё остальное останется на английском. Есть поддержка REST API с доступом по токенам. Так что с автоматизацией и интеграцией с другими продуктами особых проблем быть не должно. Интерфейс приятный, современный, плиточный.

Сайт - https://ralph.allegro.tech/
Исходники - https://github.com/allegro/ralph

#управление #ITSM
​​Вчера писал про единицы измерения, которые обязательно нужно помнить и писать правильно. В комментариях получил подсказку на утилиту командной строки Linux - units. Она умеет делать конвертацию одних единиц измерения в другие. Не знал и не слышал про неё ранее.

Живет в системных репах, так что ставится стандартно:
# apt install units
# dnf install units

Я попользовался ей немного. Выглядит удобно. Как минимум, не нужны сторонние конвертеры. В консоли всё делается намного быстрее. Вот мой пример с мебибайтами из прошлой заметки:
# units "10 mebibyte" megabits
* 83.88608
/ 0.011920929
10 мебибайт = 83,89 мегабит. Первое число - результат прямой конвертации 10 мебибайт в мегабиты, второе - коэффициент, с помощью которого может быть выполнена обратная конвертация.

Переводим 100 Мбит в Мбайт:
# units "100 megabit" megabyte
* 12.5
/ 0.08
100 мегабит = 12,5 мегабайт.
Подобную конвертацию часто приходится делать, так что для популярных скоростей я уже и так помню числа. Хотя тут всё просто. Надо делить на 8.

Units умеет конвертировать не только единицы измерения хранения данных, но и многие другие. Понимает при этом только английский язык. Так что если пользоваться регулярно, то ещё и правильное написание быстро запомнится.

Ниже бытовой пример, который может пригодиться. Перевод литров в кубические метры:
# units "100 litres" m^3
* 0.1
/ 10
100 литров = 0,1 кубический метр.

# units "1 m^3" "10 litres"
1 полный куб воды на даче вмещает 100 вёдер для полива огорода 👨‍🌾

Переводим мили в километры:
# units "60 mile" kilometre
* 96.56064
/ 0.010356187

Чего только в консоли нет. Не удивлюсь, если в стандартных репах можно найти прогноз погоды или курсы валют. А также расчёт силы всемирного тяготения.

#terminal #linux
​​Zabbix активно продолжает разработку своего продукта. Уже в начале мая из альфы вышла новая версия Zabbix 6.2, а на текущий момент доступна третья бета этой версии. Не за горами очередной релиз.

📌 Что новое обещают в версии Zabbix Server 6.2:
- Несколько LDAP источников одновременно для аутентификации.
- Поддержка CyberArk Vault CV2 для хранения секретов.
- Перезапуск Proxy со стороны Zabbix Server через cli или веб интерфейс.
- Моментальное обновление новых айтемов. Ну наконец-то это свершилось. Раньше новый айтем обновлялся первый раз в произвольный момент времени своего интервала обновления. Если интервал - сутки, обновление можно было ждать несколько часов. Теперь новый айтем будет обновляться принудительно в первые 60 секунд после добавления, а дальше в зависимости от интервала.
- ❗️Low-level discovery процессов операционной системы. Теперь процессы Linux можно будет мониторить без костылей и ручного труда. Вывод сразу будет в формате json. Сейчас эта задача решается примерно вот так: мониторинг доступности службы linux, мониторинг списка запущенных процессов. Такими темпами мне раздел с Zabbix скоро можно будет закрывать. Там реализовали почти все костыли, что у меня добавлены. Я туда сам почти не захожу.
- Хосты с активными проверками будут иметь отдельный датчик работы этих проверок, видный в общем списке хостов. Сейчас датчик есть только для агентов с обычными проверками.
- Минимальная поддерживаемая версия php будет не 7.2, а 7.4. Это, как обычно, принесёт некоторые проблемы пользователям форков RHEL, у которых в стандартных репах версия 7.2.
- Появится виджет с цифровыми часами. Думаю, наконец-то заменят древнючий дефолтный виджет с циферблатом и стрелками.
- В веб интерфейсе появятся прямые ссылки на страницы документации.

Рассказал, про самое интересное на мой взгляд. Полный список смотрите в доке на сайте.

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

#zabbix
​​Предлагаю вашему вниманию любопытный проект под названием Turnkey Linux. Это сайт, где собраны дистрибутивы на базе Linux с каким-то преднастроенным функционалом. Скачиваете, к примеру, ISO образ с OpenVPN, и разворачиваете из него систему. Получаете на выходе настроенный сервер OpenVPN с управлением через Webmin.

Я посмотрел некоторые сборки и заметил, что если софт из коробки имеет свой веб интерфейс, то управление через него осуществляется. Если веб интерфейса нет, то используется Webmin с подходящим модулем.

Удивился, увидев подобный проект. По идее, он давно должен был сдаться под натиском контейнеров, но нет. Готовых сборок много, они обновляются, используются в том числе в качестве готовых образов для разворачивания в Amazone.

У меня сразу же возникли сомнения насчёт безопасности подобных сборок. Но думаю, что в данном случае проблем быть не должно. Turnkey Linux начал свою работу в 2009 году. Вряд ли Amazon забрал бы их к себе в marketpalce, если бы были какие-то подозрения.

Весь софт проекта Turnkey Linux - Open Source. Я решил развернуть и посмотреть на образ с OpenVPN, так как очень пригодился бы хороший и бесплатный веб интерфейс к нему. В качестве основы там Debian со своим установщиком, который всё сделал автоматически. Спросил только о разбивке диска.

При первом запуске предложили установить пароль для root и выбрать роль данного сервера - сервер или клиент openvpn. Затем указал некоторые настройки, которые нужны для работы vpn сервера.

После завершения первоначальной настройки зашёл по ip адресу виртуальной машины и увидел предложение зайти в web shell, либо в webmin для управления системой. К сожалению, чуда не произошло и никакого web интерфейса для openvpn я не увидел. Всё управление только через консоль. Вам дадут команды по добавлению, удалению пользователей. После добавления пользователя будет создана уникальная ссылка, которой можно будет загрузить файл конфигурации. Вот и весь функционал управления.

Результат меня немного разочаровал. Конкретно мне подобное не надо, потому что я и так знаю, как всё это настраивать и управлять через консоль. А вот если нужно было бы кому-то настроить и оставить под управление, то можно рассмотреть вариант. В общем, смотрите, думайте сами, надо вам это или нет. Проект живой и старый, значит кому-то это всё надо. Как минимум, это лучше всевозможных скриптов с github по автоматической установке.

#linux #полезное
​​Всем привет. Это будет рекламный пост, написанный мной, так как хорошо знаю то, что рекламирую. Хочу вам порекомендовать канал DevOps by REBRAIN. Я думаю многие знают или слышали об этой компании.

Они регулярно, не реже 1-2 раз в неделю, проводят бесплатные вебинары на всевозможные IT темы. Основное — Kubernetes, Docker, Ansible, Gitlab CI, Linux, Kafka , MySQL, Golang и др. Отдельная категория — обучающие вебинары для новичков по Linux. Ведёт Андрей Буранов. Очень рекомендую для базы по Linux. Я хоть и не новичок, но постоянно там что-то новое узнавал.

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

❗️Как я уже сказал, вебинары бесплатные. Содержание качественное, делаются не для галочки, чтобы было где рекламу рассказать. Они полезные. REBRAIN делает и продаёт практикумы для Linux администраторов и Devops инженеров. Анонсы всех мероприятий и информация по практикумам в указанной ранее группе.

👉 Подключайтесь.

#реклама
​​🐱💻  Пару недель назад я рассказывал про игру Bandit от Wargames. Судя по отзывам, игра зашла. Мне тоже понравилась, немного поиграл. Решил посмотреть, что у них ещё есть интересного.

Стал смотреть на игру Natas. Там идея совсем другая. Никакого SSH. Просто заходишь на сайт и пытаешься понять, где там искать пароль на следующий уровень. Не думал, что такой формат будет мне интересен, но на деле игра увлекла. Прошёл несколько первых уровней.

Не знаю, насколько это будет интересно админам. Я немного занимался в том числе правкой сайтов, так что покопаться в html коде, в css и прочих потрохах сайта для меня обычное дело. Если сами этим не занимались никогда, то наверное будет не интересно. Лично мне понравилось. Помимо кода сайтов, надо разбираться в веб серверах, заголовках, типах запросов и т.д.

Игра позиционирует себя как тренажёр по веб безопасности. Не знаю, насколько она хороша именно в этом формате. Уже начиная с третьего уровня решать задачи не просто. Надо либо быть очень сообразительным, либо иметь много времени на разбирательства. Иногда подсказывают, куда смотреть и решить задачу дело техники, а иногда просто не понятно, с чего начать и надо тыкаться во все стороны.

#игра #обучение
​​Давно не было ничего про развлекательные игры для технарей. Всё практика, да практика. Предлагаю вашему вниманию очередную игру от Zachtronics, которая почему-то прошла мимо моего внимания. Я про все их популярные игры писал. Можно найти на канале по соответствующему тэгу.

EXAPUNKS - типичный представитель игр-головоломок для технарей. В описании к игре упоминается программирование и может показаться, что игра для программистов. Но на самом деле это не так. Чтобы играть в игры от Zachtronics, программистом быть не обязательно.

Игра Exapunks проходит в вымышленном антиутопическом мире в 1997 году. Нам предстоит играть за программиста-затворника, который болен болезнью, превращающей его в тело в электронные чипы. На нас выходит некий субъект и предлагает лечение за выполнение взломов систем. Для обучения взломам предлагается журнал, который также идёт дополнением к игре в виде PDF файла. В журнале описание кодинга на EXA - (EXecution Agents).

В игре нужно будет: учиться программировать, писать вирусы, взламывать системы. Сам язык программирования простой, нужен для обучения дронов на выполнение ими каких-то действий. Отзывы, как и обо всех играх Zachtronics, в основном положительные. Так что игра - качественный представитель своего жанра. Сделана атмосферно.

Exapunks поддерживает Linux, русского языка нет.

Steam - https://store.steampowered.com/app/716490/EXAPUNKS/
Обзор - https://www.youtube.com/watch?v=6xZPjpPUWlg

#игра
​​Вспомнились на днях давние истории с упавшими на несколько дней хостерами, у которых у меня располагались сервера. Так как истории коснулись лично меня, то сильно погружался в тему и следил за её развитием. На различных медиа ресурсах наблюдал панику людей и истории о том, где и как у них хранятся бэкапы (либо их нет, либо они у того же хостера).

Я в то время делал подборки скринов с историями самых безнадёжных ситуаций. Решил лишний раз напомнить о том, что нужно всегда быть готовым к тому, что в любой момент хостер может упасть по различным причинам. В случае с Ihor и Masterhost собственники делили имущество и отключали сервера. А Ovh как-то раз вообще сгорел всем своим ЦОДом. Это из того, что вспомнилось.

Так что всегда помните о том, что вы в любом момент можете потерять все свои данные у какого-то хостера и будьте готовы к этому. В таком случае для вас не будет сильно важна история или бренд хостера. На первое место выйдут стабильность работы в последнее время и стоимость услуги. Например, я с Ihor уехал в тот же день, когда он упал. Но до этого несколько лет арендовал там дедики очень дёшево. Они ниже рынка продавали услуги и этим завоевали популярность.

Подборки историй, о которых упомянул, собрал в отдельную статью. Немного цитат оттуда (орфография авторов):

Неужели на заработают? Хоть бы кто-нибудь из сотрудников сообщил информацию. Астериск, ЦРМ система и 3 сайта. Бэкапов не было.

Для меня картина такая: сегодня в 11 вдруг ложатся все мои сайты и сайты моих клиентов. После чего я захожу сюда и медленно ох*еваю, так как бэкапы все делались месяца два назад, а свежие бэкапы на серверах, тадааааам, того же айхор.

Мне, ISP Manager 5 перестал бэкапить файлы на Яндекс в конце сентября, а я и не заметил. Был в полной уверенности, что все лохи - один я дартаньян с бэкапами.

Ну и так далее. В общем, делайте бэкапы и проверяйте их всегда и везде.

#backup #hosting
​​По мере роста локальных и виртуальных сетей встаёт вопрос учёта IP адресов. Есть специализированный софт для этих целей - phpIPAM. Я много раз видел его упоминание в комментариях к заметкам по системам учёта IT хозяйства. Давно про неё слышал, но всё откладывал обзор, так как тема довольно узкая. Плюс, вопрос учёта IP адресов часто закрывают программы по инвентаризации и управлению. Перечислю их: GLPI, iTop, NetBox, Ralph.

PhpIPAM закрывает одну конкретную задачу - управление IP адресами и сетями, причём в очень широком смысле. Софт бесплатный, открытый. Написан, как не трудно догадаться, на PHP, так что запускается на любом веб сервере. В качестве БД использует Mysql Server. Есть готовый Docker контейнер для быстрого запуска. Проект старый, известный, живой, постоянно развивается.

Веб интерфейс phpIPAM приятный, удобный и современный. Мне очень понравился. Да и вообще впечатление в целом от программы положительные. Основные возможности, которые будут наиболее полезными:
- автоматически показывает свободные адреса сетей
- показывает статистику по сетевым объектам
- можно сразу через веб интерфейс проверить доступность адреса обычным пингом
- можно добавлять сетевые устройства и их описания
- поддержка географических карт для размещения на них сетей
- учёт сетей и оборудования в серверных стойках

По поводу применения у меня возникли некоторые сомнения. Где должно быть уместно использование phpIPAM? По идее, если доросли до учёта, то стоит внедрять что-то с более широким функционалом, чтобы те же лицензии учитывать и железо, с мониторингом интегрировать. А так, продукт хороший, но очень узкое применение. Как мне показалось, это для отдельных сетевых служб.

Сайт - https://phpipam.net
Исходники - https://github.com/phpipam/phpipam
Демо - https://demo.phpipam.net/ (Admin / ipamadmin)

#network #управление #ITSM #IPAM
🔥 AMD Ryzen без установочного платежа. Только до конца мая!

Команда Aéza приветствует вас и представляет новую акцию.
Вся линейка AMD Ryzen в Фалькенштейне (Германия) до конца этого месяца доступна к заказу без установочного платежа.

5 причин, почему стоит приобрести сервер у нас:
❯ Фиксированная цена и оплата в рублях
❯ Гарантированный интернет-порт 1 Гбит/с
❯ Круглосуточная поддержка в онлайн-чате
❯ Базовая AntiDDoS-защита уже в комплекте
❯ Быстрая установка сервера на любой ОС

Доступны к установке: Windows10, Windows Server, Debian, Ubuntu, CentOS и любая другая ОС из Вашего ISO-образа. Наши инженеры всегда на связи и помогут с любым вопросом и переносом / настройкой ваших проектов к нам.

Успевайте заказать, предложение ограниченно: aeza.net
Новостной канал: @aezahost
По любым вопросам: @aezasupport

#реклама
​​Для веб интерфейса OpenVPN сервера есть отличное родное решение - Access Server. У него есть только один минус - это платный продукт. Есть бесплатная версия с суровым ограничением - не больше двух vpn подключений к серверу. Это позволяет его использовать только для одной цели - личный сервер для единоличного использования. Да и то, лично мне двух подключений не хватит.

Если для вас такое ограничение не критично - то смело пользуйтесь. Ничего лучше нет. Можно установить на свой сервер или арендованную VPS. У многих хостеров есть готовые шаблоны, чтобы сразу развернуть установленный продукт и начать использовать.

Основные возможности:
- управление через веб интерфейс, cli, api
- создание нового клиента и конфигурации для него в один клик
- ограничение доступа клиентов по ip
- возможность настройки протокола и порта, на котором будет работать openvpn сервер
- логи с информацией о подключениях клиентов
- различные способы аутентификации: ldap, radius, AD, pam

Побудило меня написать эту заметку информация о том, что для данного решения есть лекарство, которое позволяет снять ограничение бесплатной версии. Я настоятельно не рекомендую использовать подобное где-то в продакшене. В этом нет большой необходимости, так как есть аналоги, а рисков возникает много. А для личного использования можно и попробовать.

Сайт - https://openvpn.net/access-server/

#openvpn #vpn
​​Вчера в комментариях к заметке об OpenVPN был упомянут любопытный российский продукт Рутокен VPN. Меня он очень заинтересовал, так что решил его сразу же проверить. Это Open Source продукт на базе OpenVPN с веб панелью для управления.

В репозитории есть инструкция по установке. В ней указано, что сервис предназначен для работы в Ubuntu 20. Не знаю, с чем связана привязка к конкретной системе. Наверное поленились оформить поддержку остальных. Хотя бы в Docker контейнер всё это поместили бы, чтобы работало на любом Linux.

Взял Ubuntu 20.04 и установил на неё по инструкции. Там всё очень просто и быстро, не буду приводить шаги по установке. После перезагрузки зашёл по внешнему IP на веб интерфейс. Указал типовые настройки, необходимые для работы сервера OpenVPN и сгенерировал корневой сертификат.

Далее создал пользователей. Там идея такая, что пользователи могут сами заходить на веб интерфейс, генерировать себе конфигурацию, скачивать её вместе с клиентом. Сам клиент тоже Open Source, называется Рутокен VPN клиент. Он нестандартный, так как поддерживает работу с фирменным USB токеном Рутокен ЭЦП. Веб интерфейс довольно простой, как и сам функционал. Можно менять настройки сервера и управлять клиентами. Хотя у всех примерно так же, потому что это типовой функционал OpenVPN Server.

Дальше меня ждал сюрприз. Когда зашёл новым пользователем в веб интерфейс, заметил, что мне предлагают подготовить Рутокен ЭЦП для установки на него сертификата, либо сделать конфиг для смартфона. То есть идея в том, что этот продукт заточен под работу со своими родными токенами.

Тут я немного приуныл, потому что привязка к токенам резко сужает круг вероятных пользователей. Хотя если вам нужно именно это, то решение отличное. Токен сейчас стоит порядка 2500р. Неплохое решение для удалённых корпоративных пользователей, которых, кстати, можно импортировать из AD.

Потом прикинул, что формат конфигов openvpn одинаковый, что для смартфона, что для компьютера. Сделал конфигурацию для смарта, поставил на комп обычный OpenVPN Client и скормил ему этот конфиг. Без проблем подключился к серверу и вышел в интернет с его ip адресом. Отправлять весь трафик клиента через VPN - опция, которую можно указать через веб интерфейс.

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

Всё это бесплатно и от разработчика в РФ.

Сайт - https://www.rutoken.ru/products/all/rutoken-vpn/
Исходники - https://github.com/AktivCo/Rutoken-VPN-Community-Edition-Server

#отечественное #openvpn #vpn
​​Управление фоновыми процессами в Linux

При работе в консоли Linux любой процесс в обычном режиме запускается в "foreground", в интерактивном режиме на переднем плане. Им можно управлять через терминал. При этом делать что-то параллельно затруднительно. Необходимо открыть ещё один терминал.

Чтобы запустить команду в фоновом режиме (background), можно добавить в конец знак &:
# tar czvf sites.tar.gz /web/sites &
Команда будет запущена в фоне. Посмотреть список подобных задач можно с помощью команды jobs:
# jobs
[1]+ Running         tar czvf sites.tar.gz /web/sites &

Если вы запустили процесс в обычном режиме, но хотите его отправить в фон, то необходимо нажать в терминале сочетание клавиш CTRL+Z. Процесс будет остановлен. Проверить его состояние можно так же через jobs:
# ping 127.0.0.1
^Z
[1]+ Stopped         ping 127.0.0.1
# jobs
[1]+ Stopped         ping 127.0.0.1

Вернуть команду из остановленного состояния можно либо в фоновый режим с помощью bg (background), либо на передний план с помощью fg (foreground).
# bg %ping
# fg %ping
Здесь в качестве идентификатора использовалось начало названия команды ping, но можно было указать идентификатор %1 для первой команды, %2 для второй и т.д.

Кстати, не советую ping отправлять в фон. Из него потом будет немного затруднительно выйти, так как эта команда даже из bg выводит информацию на консоль. С непривычки не понятно, как это остановить. Предлагаю самим попробовать и оценить результат.

Необходимо помнить, что команды в jobs привязаны к конкретному терминалу. Если открыть второй, то там не увидите задачи первого. Это не аналог запуска команд в screen или tmux. При разрыве связи по SSH или отключении от консоли, фоновые задачи тоже будут завершены. Их, кстати, можно посмотреть ещё вот так:
# ps T
Ключ T означает привязку к конкретной консоли.

Может показаться, что jobs, bg и fg это какой-то архаизм, но на практике, когда часто работаешь в консоли, периодически используешь. Особенно, когда что-то сжимаешь, распаковываешь, дампишь базу или скрипт какой-то запускаешь. Это быстрее и удобнее, чем открывать и перемещаться в другую консоль. Чтобы не мешал вывод, который будет из bg пробиваться в консоль, можно его перенаправить >/dev/null 2>&1.

#terminal #linux
​​Последние несколько лет замечаю, что Proxmox вытеснил всех в нише управления виртуальными машинами KVM. Хотя так было далеко не всегда. Когда я начинал пользоваться виртуальными машинами на базе KVM, использовал для управления libvirt и консольную утилиту virsh, либо GUI для неё. Некоторым заказчикам даже в прод внедрял такое решение. Нормально работает и по сей день. Ставилось всё на обычный Debian.

Если вам по какой-то причине не подходит или не хочется использовать Proxmox, а причины этого вполне могут быть, посмотрите на Kimchi. Это простой и приятный веб интерфейс для управления гипервизором KVM. Работа веб интерфейса основана на HTML5. Ставится Kimchi на любой Linux дистрибутив. Есть готовые пакеты (deb и rpm) под все популярные системы.

Kimchi достаточно старый и известный продукт, который хоть и не очень активно, но развивается, не заброшен. Последний релиз был в 2020 году. В 21-м обещали обновление, но оно так и не случилось :( С его помощью можно создавать, запускать, останавливать виртуалки. Управлять виртуальными сетями и хранилищами. Создавать шаблоны, клонировать виртуалки и т.д. То есть вся база для управления виртуальными машинами есть.

Из аналогов мне приходит в голову только Cockpit. Он появился позже Kimchi. У него функционал схожий по управлению KVM и развивается вроде бы бодрее. Но Cockpit это не только управление гипервизором, но и сервером в целом. То есть более масштабный продукт.

Если кто-то ещё знает современные и удобные веб интерфейсы для управления KVM, поделитесь информацией.

Исходники - https://github.com/kimchi-project/kimchi

#kvm #linux
Здесь мог бы сидеть ты, но ты уже используешь CI/CD в работе и не испытываешь проблем при релизах, а рабочие процессы не охвачены пламенем. Или нет?

Тогда срочно регистрируйся на курс «CI/CD на примере Gitlab CI» от Слёрма и стань участником потока. Расскажем обо всех тонкостях работы с CI/CD и научим мастерски применять эту практику в работе. Кстати, начать можно бесплатно: https://slurm.club/3NKvN4l

Ныряй #впоток, пока все не сгорело!

#реклама
​​Мимо меня прошла незамеченной новость о том, что вышел релиз Red Hat Enterprise Linux 9. После того, как закрыли проект Centos, я перешёл на Debian. Новости rpm дистрибутивов меня перестали интересовать. Не слежу за ними.

Среди форков быстрее всего подсуетился AlmaLinux OS и выпустил 9-ю версию. На сегодняшний день у Rocky Linux и Oracle Linux для загрузки доступны только 8-е версии. Не первый раз замечаю, что AlmaLinux быстрее всех выкатывает обновления.

Взгрустнулось мне из-за отсутствия единой Centos, которой все пользуются. Поддержка RHEL, а значит и его форков, которые выживут, будет до 2032 года. По-моему, бесплатной поддержки LTS версий в 10 лет больше нет ни у кого. У Ubuntu поддержка 5 лет, дальше только за деньги ещё на те же 5 лет. Релизы каждые 2 года выходят. Мне не нравится такая интенсивность. Постоянно что-то меняется.

У Debian тоже поддержка обновлений безопасности для каждого релиза по 5 лет, новый релиз каждые 2 года. Чтобы поддерживать единообразие версий парка серверов, необходимо примерно каждые 2-3 года обновлять машины до следующей версии. Например, если сейчас вы поставите 11-ю версию, 12-я выйдет в 23-м году. После этого не будет смысла устанавливать 11-ю версию, вы будете ставить 12-ю. А все 11-е версии придётся обновить до 12, чтобы получить одинаковую версию на серверах. И так постоянно.

В случае с Centos необходимости в столь частых обновлениях не было. Была, правда, другая проблема. Каждые 6-8 лет нужно делать миграцию со старой версию на новую. Хоть это и кажется большой срок, но на деле мне часто приходилось этим заниматься, переезжая сначала с 5-й версии, потом с 6-й. Время быстро летит, особенно когда система устанавливалась накануне выхода очередной новой версии.

Кто-нибудь остался на Centos Stream? Интересно, что с ним на практике происходит. Насколько проблемна для эксплуатации модель rolling release в данном конкретном случае. Подкидывает ли это проблем?

Я ранее уже писал об этом, но предвижу вопросы, поэтому сразу отвечу. Перешёл на Debian, потому что наличие нескольких форков RHEL делает неудобным их эксплуатацию. Аудитория разделится на несколько проектов. Из практических соображений удобнее пользоваться единым наиболее популярным дистрибутивом.
​​Одна из наиболее часто используемых команд консоли Linux, которую я набираю - ps (processes status). Это небольшая утилита для просмотра информации о запущенных процессах. У неё огромное количество ключей для представления информации. Если её запустить без них, то она покажет только список процессов данного терминала. Их может вообще не быть, кроме самой оболочки, в которой она запущена.

Сразу покажу команду, которую я использую чаще всего:
# ps ax
Выводит все процессы без привязки к пользователю и терминалу. Этот вывод чаще всего приходится грепать, чтобы посмотреть информацию по конкретному процессу. Например, поменял конфигурацию php-fpm на запуск определённого количества процессов, перезапустил демон и проверил, что процессов столько, сколько надо:
# ps ax | grep php-fpm
Можно сразу же пересчитать их количество для какого-то конкретного пула, если меняли только его настройки:
# ps ax | grep php-fpm | grep www | wc -l
Подозреваю, что тут можно и с одним грепом как-то обойтись, но я всегда делаю так. Либо можно использовать такой вариант:
# ps -F -C php-fpm
Но опять же, лично я привык использовать grep от полного списка. Вспоминать ключи не надо.

Если добавить ключ u, то можно посмотреть инфу об использовании ресурсов системы каждым процессом:
# ps axu
Лично я так редко делаю, привык смотреть эту инфу через htop. Почти всегда его ставлю, если сам настраиваю сервера и активно использую.

Полезно добавить к выводу ps ключ --forest, чтобы получить иерархический список процессов. Если просматриваете его весь, то будет нагляднее для анализа:
# ps ax --forest

Если вывод ps слишком длинный, вместо того, чтобы потом скролить терминал, можно добавлять less
# ps ax --forest | less
Less полезно использовать, чтобы увидеть полные строки процессов с параметрами, так как при таком просмотре выполняется перенос строк. Чтобы строки не обрезались, надо дважды добавить ключ -w
# ps ax -w -w

Теперь немного инфы из закладок. Не запоминал эти конструкции.
Вывод списка процессов с отображением информации о потребляемых CPU и MEM с сортировкой по первому:
# ps -e -o pcpu,pmem,args --sort -pcpu
Иногда бывает полезно этот список сверху обрезать:
# ps -e -o pcpu,pmem,args --sort -pcpu | head -10

Список самых тяжёлых процессов по памяти с выводом информации о pid и user этого процесса. Ну и заодно столбцы с mem и cpu переносим вправо, чтобы удобнее смотреть было:
# ps -eo pid,user,cmd,%mem,%cpu --sort=-%mem | head -10

Если к командам выше добавить watch, то эту информацию можно смотреть в режиме реального времени:
# watch -n 1 'ps -eo pid,user,cmd,%mem,%cpu --sort=-%mem | head -10'

Ну и в завершении ПАПА-скрипт, который соберёт информацию обо всех процессах, в том числе с повторяющимися именами, просуммирует их потребление и выведет общий список:
# ps axo rss,comm,pid | awk '{ proc_list[$2] += $1; } END \
{ for (proc in proc_list) { printf("%d\t%s\n", proc_list[proc],proc); }}' \
| sort -n | tail -n 10 | sort -rn \
| awk '{$1/=1024;printf "%.0fMB\t",$1}{print $2}'

#bash #terminal