ServerAdmin.ru
31.3K subscribers
671 photos
55 videos
22 files
2.87K links
Авторская информация о системном администрировании.

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

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

Регистрация в РКН: https://vk.cc/cG1Urj
Download Telegram
​​Я рассказывал про удобные и простые в использовании утилиты профилирования производительности Linux - perf-tools. Расскажу вам про похожий набор утилит, только заточенные на анализ сетевой активности. Речь пойдёт про netsniff-ng. Это довольно старый и известный пакет, который можно установить через пакетный менеджер популярных дистрибутивов.
# apt install netsniff-ng
# dnf install netsniff-ng

В состав netsniff-ng входит несколько утилит, реализующих различный функционал. Их 8, я перечислю только то, что сам иногда использую:
Непосредственно netsniff-ng, который является аналогом tcpdump, сниффер сетевого трафика. Я пробовал, но лично мне tcpdump больше нравится.
Trafgen - генератор сетевого трафика с гибкими настройками. Например, с его помощью можно налить кучу synflood трафика. Примеры шаблонов конфигов под разный трафик можно найти в сети.
Ifpps - показывает статистику по загрузке сетевого интерфейса. Очень точные данные, получаемые напрямую из ядра. Наглядное отображение информации по трафику, пакетам, ошибкам, нагрузке cpu, задержек и т.д. Запускать так:
# ifpps -d ens18
Flowtop - показывает список сетевых соединений с информацией о процессе, удалённом адресе, к которому подключались, статистику по трафику и кое-что ещё. Отображение удобное и наглядное. Похоже на связку Iftop + NetHogs. Закрывает функционал обоих утилит. Запускать с ключом -G, чтобы не подключалась GeoIP4 база. Её надо отдельно качать.
# flowtop -G

Остальные утилиты:
mausezahn - генератор пакетов с Cisco-like CLI;
bpfc - компилятор Berkeley Packet Filter, даже не знаю, для чего он на практике нужен;
curvetun - лёгкий, высокопроизводительный туннель на базе TUN/TAP интерфейсов;
astraceroute - трассировщик с выводом информации в том числе об autonomous system (AS).

Для анализа сети достаточно установить только netsniff-ng. В нём есть всё, что может пригодиться для получения всей полноты информации.

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

#linux #bash #perfomance #network
👍51👎2
​​Недавно затрагивал тему настройки CMS Bitrix. В комментариях видел обсуждение Bitrixenv. Хочу немного развить эту тему, так как очень хорошо с ней знаком.

Для тех, кто не в курсе, поясню. Bitrixenv - это преднастроенное рабочее окружение для движка Bitrix. Он работает на обычном веб сервере на базе php + mysql. Bitrixenv автоматически настраивает полностью рабочий веб сервер с управлением через меню в консоли сервера. Реализовано управление через плейбуки Ansible.

Я лично считаю хорошим решением компании Битрикс разработать и поддерживать это окружение. Оно позволяет очень быстро и просто настроить веб сервер и запустить сайт. Специальных знаний не требуется. Достаточно научиться подключаться по SSH, чтобы запустить там вот это:
# wget https://repo.bitrix.info/yum/bitrix-env.sh \
&& chmod +x bitrix-env.sh \
&& ./bitrix-env.sh

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

Bitrixenv умеет:
управлять виртуальными хостами, добавлять, удалять новые сайты
получать и автоматически обновлять сертификаты let's encrypt
управлять версиями php, mysql
настраивать мониторинг на базе munin
устанавливать и настраивать memcached, sphinx
подстраивать настройки софта под ресурсы сервера (по памяти и cpu)

Это основное, что я сам использовал. Там много всяких настроек. Можно сервером управлять - обновлять пакеты, настраивать время, менять пароль учётки bitrix и т.д. В общем, не зная в подробностях Linux, им можно худо-бедно управлять. Я так понимаю, что заточено это в первую очередь на разработчиков, чтобы они не тратили время на настройку веб серверов, а могли в несколько кликов всё запустить и начать разрабатывать.

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

Разговоры о том, что Bitrixenv это какая-то пустая поделка, которая больше вредит и мешает, только разговоры. На деле это вполне рабочий инструмент, который успешно решает поставленные задачи. Нужен ли он конкретно вам - отдельный вопрос. Я иногда его ставил, чтобы быстро запустить на время какой-то сайт на php. Ведь это готовый веб сервер за 5 минут.

#bitrix
👍54👎6
Selectel Careers — телеграм IT-компании, провайдера облачной инфраструктуры. Пишут: 

— про карьеру и работу (эффективное общение в чатах, как внедрять изменения в команду, как донести фидбэк)
— про well-being (зачем мы спим, как правильно отдыхать
— технические полезности (про код-ревью, шпаргалка по Git, полезные линтеры

А еще вакансии! Подписывайтесь → @selectelcareers

#реклама
👎10👍4
Чтобы добить тему с Bitrix, поделюсь ещё некоторыми знаниями на тему запуска этой CMS в Kubernetes. Я давно и много работал с Bitrix. Когда проходил обучение по Куберу, была идея научиться с ним работать и запускать там Битрикс. В итоге от этой идеи отказался, так как это всё нужно только в крупном бизнесе, с которым я не работаю и не хочу работать. И вообще с Кубером после обучения расхотелось иметь дел. Это не моё.

У Bitrix есть ряд особенностей, которые затрудняют её запуск в Kubernetes:
1️⃣ Много нюансов с Docker образом. Насколько я знаю, официального не существует. Соответственно, делать придётся самим или брать чьи-то костыли. А компонентов у Битрикса может быть много. Надо будет всё это связывать.
1️⃣ Особенность Битрикса такова, что код сайта можно править прямо через админку. Это ломает вообще всю конструкцию работы в Kubernetes. Этот момент надо будет решать отдельно. Либо просто запретить такие правки, либо что-то костылить. А как обновлять?
1️⃣ Где-то надо будет хранить общие файлы, сессии, чтобы все поды имели к ним доступ. Плюс отдельная БД. То есть по факту у вас в Кубере будет только php + веб сервер. Файлы отдельно, БД отдельно. Всё это тоже должно быть отказоустойчивым, чтобы в кубере был какой-то смысл, кроме масштабирования нагрузки на веб сервер.
1️⃣ В Bitrix надо обязательно включать встроенное кэширование и как-то это разруливать между подами.

Тем не менее, Bitrix в Kubernetes запускают. Есть аутсорсеры, которые предлагают эту услугу. Каждый костылит что-то своё, но в общем и целом делают примерно следующее:
Файлы отправляют в S3 или Ceph.
Кэш можно хранить в Memcached, либо в файлах, возможно локально на каждом поде или где-то в общем хранилище, но это медленнее.
Сессии можно в Mysql убрать, но это медленно, либо в тот же Memcached.
Самое трудное это разобраться с возможностью изменений исходников через админку. Тут нужны какие-то свои костыли, которые после каждого локального изменения файлов, будут коммитить и пушить изменения в общий git и оттуда раскатывать по остальным подам. Можно административно запретить кому-то лазить по админке с целью изменения исходников, но обновлять всё равно как-то надо движок. А он тоже обновляется через панель управления. Либо где-то вовне это делать, но хочется тестировать тут же, где идёт работа.

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

Когда в итоге будет оправдан запуск Bitrix в Kubernetes? Посчитать не трудно. Минимальные прикидки по железу:
- 3-4 сервера под сам Кубер в минимальном наборе
- 3 сервера под файловый кластер
- 3 сервера под кластер БД
Если серверов меньше, то ни о какой отказоустойчивости речи быть не может. Сюда ещё добавляем 1-2 сервера под хранение логов, мониторинг, ci/cd и git. Либо всё это покупаем как сервис у облачных провайдеров.

У кого-то есть опыт запуска и обслуживания Bitrix в Kubernetes?

#bitrix
👍22👎8
Поступил любопытный вопрос от читателя, который хотел бы вынести на обсуждение, так как есть над чем подумать. Есть много вариантов реализаций задачи. Вопрос даю в своём сокращении, чтобы сэкономить ваше время.

Были планы купить готовое железо под файловое хранилище, но сейчас нет такой возможности. Есть 4 обычных сервера на SSD дисках. На каждом нужно организовать максимально быстрое и надёжное локальное файловое хранилище под разные нужды. Каким образом это реализовать? Думал одно время о создании LVM на каждом сервере, выделении LV под каждую задачу, затем конфигурации NFS, SMB. Посоветуйте, пожалуйста, что лучше: собирать вручную raid+LVM+xfs+nfs/smb. Или лучше поставить FreeNAS, или что то ещё?

Я бы в этом случае сделал RAID10 из SSD дисков. Если сервера с нормальными рейд контроллерами, то на их базе, если нет, то на базе MDADM. Дальше отталкиваться от конкретных задач и решать, будет там LVM или нет, какую файловую систему использовать. Вот заметка про разницу между EXT4 и XFS.

Уверен, кто-то посоветует настроить ZFS. Я бы в прод её не ставил без опыта эксплуатации. Судя по тому, какой вопрос задан, я вижу, что у задающего явно нет опыта в этом деле. Я бы не рисковал. Либо поставил только на один сервер и потренировался.

Если есть возможность спокойно поучиться и погонять тесты, есть вариант развернуть там CEPH, при условии, что есть сетевые карты 10G. Тогда можно сделать общее отказоустойчивое файловое хранилище на всех серверах. 4 штуки как раз хорошо подходят под такую задачу. Если что, вот статья по настройке ceph. Установить и настроить не сложно, но для эксплуатации нужен опыт, поэтому сначала изучение, всевозможные тесты и только потом внедрение.

Готовые сборки типа FreeNAS я бы сразу отметал. Это ещё подходит в формате домашнего NAS или одиночного где-то в небольшой компании. Ставить Freenas на 4 сервера в прод я бы не стал. Лучше всё внимательно вручную настроить. Работать будет надёжнее, заодно приобретётся опыт и развитие. Freenas и им подобное это тупиковый путь развития админа. Я бы не шёл по нему.

А вы что посоветуете? Возможно автор появится в комментариях и даст дополнения к своему вопросу.

#вопрос_читателя
👍50👎2
Администрирование сервисов от @Selectel

Сэкономьте на штатных системных администраторах, которые отвечают за рутинные задачи, и доверьте вашу IT-инфраструктуру профессиональной команде. Мы перенесем все на инфраструктуру Selectel и внедрим лучшие методологии создания сервисов.

Какие задачи можем взять на себя:

◽️Внедрим CI/CD и другие DevOps-практики. Выстроим процессы обновлений ваших систем и развертывания приложений благодаря непрерывной доставки CI/CD и будем их сопровождать.
◽️Поддержим ваши системы по SLA. Будем следить за системами круглосуточно: проводить настройку сервисов, проверять доступность ресурсов и параметры резервного копирования. 
◽️Обеспечим информационную безопасность. Настроим политики безопасности и доступ к системам. Будем регулярно проверять их на уязвимости и обновлять защиту. По согласованию обновим системное ПО и пакеты безопасности.

Оставляйте заявку и передайте Selectel задачи по настройке и обслуживанию IT-инфраструктуры: https://slc.tl/y377x

#реклама
👎33👍5
​​Жирненький наброс к вечеру пятницы. Посмотрел видео линуксового админа со следующим названием: Linux - худшая операционная система. Надо было ставить Windows.

По его мнению, на рабочий комп лучше поставить Windows с WSL2 и не будет никаких проблем. Linux на рабочей станции это вечный головняк и решение мелких проблем, которые донимают повсюду. Вот несколько (не все) его примеров:
- проблемы с hidpi разрешением в софте;
- глюки со звуком при подключении внешнего оборудования, постоянно надо перезапускать PulseAudio;
- проблемы с переключением обработки графики со встроенной видюхи на дискретную;
- то тачскрин глючит, то сканер отпечатков пальцев не работает;
- батарея разряжается на 20-30% быстрее, чем на винде.

Вам есть, что возразить этому уважаемому джентельмену? У меня как раз сейчас Windows 10 + WSL2. Собрался на Linux переезжать, но как-то ссыкатно, что придётся разбираться с какой-нибудь ерундой, вместо того, чтобы просто пользоваться ноутбуком.

https://www.youtube.com/watch?v=zxI2nFuijFI

#видео #разное
👍66👎19
​​Решил провести небольшой эксперимент. Сделал виртуальную машину с 2 CPU, 2G RAM и разместил её на обычном старом HDD. Установил туда Windows XP. И попробовал ей попользоваться.

Установил туда Office XP, современный браузер 360 Extreme Explorer и антивирус Kaspersky Free. Решил посмотреть, насколько реально всем этим пользоваться. И вот что первое бросается в глаза. Система совершенно нормально работает на этом железе. Всё открывается очень быстро, никаких тормозов. По ощущениям не хуже, чем мой локальный ноут и 100% быстрее и комфортнее, чем Windows 10 и 11 на этом же гипервизоре на RAID10 на нормальном контроллере с включенным кэшированием.

Такая огромная деградация производительности, хотя пользовательское поведение и какое-то удобство использования не сильно ушло от Windows XP. Ярлыки на рабочем столе, запуск программ. Что ещё надо от системы? Понятно, что в современных системах много всего добавлено. Например, автоматическое обнаружение оборудование и установка дров для него. Но разве это должно так сильно влиять на производительность?

Если кому-то захочется повторить этот опыт и воспользоваться WinXP на каком-то очень старом железе, то вот подсказка по софту:
Kaspersky Free с именем установщика kfa18.0.0.405ru-RU_full.exe всё ещё нормально обновляется и работает на Windows XP. Если кому-то нужен установщик, напишите, я выложу куда-нибудь. У меня он сохранён.
360 Extreme Explorer китайский браузер и найти более ли менее свежую версию на русском языке было не просто. Я в итоге нашёл версию 13.5.2022.0 на базе Chrome 86 от команды LRepacks. Сайты открываются нормально, youtube работает.
Отдельно нужно решить вопрос с установкой современных сертификатов CA. Я уже не стал заморачиваться, но особых проблем с этим быть не должно. Списки есть в интернете. Без этого многие сайты ругаются на невозможность проверить сертификат.

Интересно, у кого-то ещё есть железо под управлением Windows XP? Я знаю много мест, где их всё ещё используют. На производстве видел со станками, в мед. клиниках на медицинском оборудовании.

#разное #windows
👍119👎3
​​Ещё одна прикольная игра из стародавних времён. А конкретно из 2005 года. Называется Взломщик. Это симулятор жизни 17-летнего студента, за которого вы играете. Игра на вид простенькая, сделанная одним человеком. Но на самом деле она насыщена и там куча всяких вещей, связей, процессов. Стиль игры как и у многих самоделок того времени - что-то типа тамагочи. Вы развиваете своего персонажа.

Сначала учитесь, устраиваетесь на начальную работу. Получаете деньги, прокачиваете себя, своё жильё, мебель, комп и даже жену. Без жены ничего не выйдет, по сюжету надо жениться и обязательно сексом заниматься. Без этого по работе не продвинуться. Нужно удовлетворять все базовые потребности.

В игре есть сайты, чаты, хостинг, поисковая система. Даже порносайт имеется. Вам надо грейдить свой комп, учиться взломам. Накопив опыт, вы сможете вступить в хакерскую команду, сканировать сети и взламывать сервера, используя эксплоиты, красть с них информацию. Сможете заниматься кардерством, покупая на украденные деньги товары в e-shop'ах.

Я скачал игру отсюда - https://kazus.ru/programs/download/9632/ Проверил на вирусы, всё норм. Поставил на виртуалку и там поиграл. Игру писал то ли немного повёрнутый человек, то ли это у него юмор такой. Вы поймёте о чем я сразу же, запустив установщик. Он там своеобразный.

#игра
👍47👎2
​​Я познакомился с бесплатной open source системой для совместной работы пользователей Kopano. Чтобы сразу было понятно, о чём пойдёт речь скажу, что эта система похожа на Zimbra, OnlyOffice Community Server или Nextcloud. В основе там почтовый сервер и куча сервисов вокруг него. Всё заточено на совместную работу пользователей, которые хранятся в LDAP.

Kopano довольно замороченная система, впрочем, как и OnlyOffice. Состоит из множества компонентов, собирается по кусочкам из того, что тебе нужно. Функционал очень большой, а среди бесплатных продуктов аналогов мало. Сильно выбирать не из чего. Так что если будете себе выбирать подобный продукт, придётся попробовать все, чтобы решить, какой подойдёт лучше.

У меня есть опыт с Zimbra и OnlyOffice. Не могу сказать, что лучше. Они сильно разные. Zimbra более целостной выглядит, но на текущий момент уже не актуальна, так как бесплатная версия доживает свои дни.

Основной функционал Kopano:
почтовый сервер с календарём, адресной книгой, заметками, задачами, построен на базе postfix и dovecot;
ldap сервер для хранения учётных записей для всех сервисов;
чат на базе mattermost;
общая работа с документами на базе LibreOffice Online;
видеоконференции на базе webRTC;
есть web доступ, десктопное и мобильное приложения (наверняка electron, выглядит идентично web приложению, но лично не проверял);
есть русский язык, перевод нормальный, но иногда попадаются непереведённые фразы.

Установить и настроить всё это дело не просто. Я много времени потратил, пока изучил документацию. Чего-то прям особо сложного нет, потому что ядро системы работает на базе стандартного стека php + mysql. А дальше всё наслаивается отдельными модулями и интеграциями. Надо аккуратно все ставить, прописывать конфиги и соединять компоненты друг с другом.

Проект Kopano интегрирован на уровне готовых пакетов в дистрибутив Debian. Под него даже отдельная страничка в Wiki есть. Если хотите быстро посмотреть и попробовать продукт, то можно воспользоваться неофициальным набором контейнеров и запустить их через docker-compose. Я пошёл по этому пути. Всё завелось с первого раза и без особых проблем:
# git clone https://github.com/Kopano-dev/kopano-docker
# cd kopano-docker
# ./setup.sh
# docker-compose up

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

Если у кого-то есть опыт использования Kopano, поделитесь впечатлениями. Продукт старый и довольно известный. Раньше назывался Zarafa, про него много материалов в рунете. А по Kopano вообще ничего. Он уже довольно сильно отличается от Zarafa. Если знаете хорошие аналоги, то тоже дайте знать.

Сайт - https://kopano.io
Demo - https://demo.kopano.com/webapp/
Исходники - https://stash.kopano.io/projects
Документация - https://documentation.kopano.io/
Wiki - https://kb.kopano.io/

#docs #mailserver
👍45👎1
В России за первое полугодие 2022 года число атак на корпоративные сети выросло почти на треть по сравнению с прошлым годом. А значит, компаниям любого уровня необходима комплексная защита IT-инфраструктуры, чтобы противостоять угрозам информационной безопасности и избежать возможных убытков.

🗓 24 августа в 11.15 мск приглашаем на онлайн-мероприятие "Защита корпоративной сети 2022: возможности межсетевого экрана ИКС".

📌 В программе:
методы и инструменты защиты сети в 2022 году;
возможности ИКС для безопасности IT-инфраструктуры вашей компании;
специальные условия приобретения модулей Kaspersky Anti-Virus и Kaspersky Anti-Spam;
в прямом эфире ответы на интересующие вопросы;
подарки от ИКС для самых активных участников.

Ждем вас на вебинаре, где вы узнаете, как противостоять угрозам информационной безопасности и обеспечить мощную защиту вашей корпоративной сети. 

👉 Регистрация

🛡 Протестировать ИКС

🗣 ИКС в Telegram

#реклама
👍12👎9
​​Продолжу тему менеджеров подключений, которую недавно поднимал, рассказывая про WindTerm. Есть очень популярный open source проект на github с кучей звезд, спонсоров и разработчиков, реализующий функционал как локального, так и SSH терминала - Tabby.

Разработчики прямо пишут в самом начале, что позиционируют его, как замену стандартного терминала в Windows и MacOS. Tabby есть в том числе и под Linux. В Windows есть поддержка PowerShell. Благодаря тому, что есть портированная версия, его легко попробовать и оценить, ничего не устанавливая в систему.

Скажу честно, лично меня новый терминал Windows полностью устраивает. Не вижу, чего мне там может не хватать, но у Tabby функционал шире. Например, можно рядом две панели расположить на экране (split) или сохранить список открытых вкладок. Портированная версия также расширяет спектр применения. Удобно, когда все настройки хранятся в одном месте и легко переносятся. Так что я себе скачал и положил в папочку с софтом.

📌 Ещё несколько полезных возможностей Tabby:
можно создавать ярлыки для запуска программы с готовыми настройками;
прямая передача файлов по SSH с использованием протокола Zmodem;
есть шифрованный контейнер для хранения учёток и сертификатов SSH подключений;
поддерживает PowerShell, PS Core, WSL, Git-Bash, Cygwin, Cmder и CMD;
можно установить как web-app на свой хостинг для работы через браузер.

Программа неплохая. Пока у меня не появились десятки и сотни сохранённых соединений SSH, я пользовался putty и kitty. В то время мне бы подошла такая программа, объединяющая в себе локальную консоль и менеджер удалённых соединений. Сейчас у меня это разные программы.

Отдельно отмечу, что написано на Electron, так что это не про скорость работы. Этот момент, кстати, разработчики отдельно отмечают в описании. Не стоит ждать от Tabby легковесной замены системным терминалам, которые тоже не блещут производительностью. Виндовый так точно.

На картинке ниже открыл три вкладки на одном экране: linux хост, справа настройки программы, снизу локальный терминал windows.

Сайт - https://tabby.sh
Исходники - https://github.com/Eugeny/tabby
Web версия - https://app.tabby.sh

#менеджеры_подключений #windows
👍35👎2
​​Я давно уже получил рекомендацию на хороший бесплатный WAF (Web Application Firewall) - VultureProject. Только сейчас дошли руки на него посмотреть и попробовать. Это оказалось не так просто, как я думал. Потратил очень много времени. Сейчас расскажу обо всём по порядку.

Vulture основан на Freebsd, внутри у него известные компоненты, собранные воедино:
haproxy в качестве tcp балансировщика
apache в качестве http балансировщика
darwin в качестве artificial Intelligence и machine learning, то есть фреймфорк для автоматизации поиска угроз
redis, в том числе для сбора логов из Elasticsearch beats, таких как winlogbeat, filebeat, auditbeat, metricbeat, используется redis output
mongodb в качестве БД
BSD Packet Filter в качестве фаервола
ModSecurity v3 для веб фильтрации

Всё вместе это организует шлюз для входящих запросов на различные приложения. Запросы анализируются и отправляются дальше на настроенные сервера с самими сайтами и приложениями. При этом Vulture умеет принимать не только запросы и выступать в качестве proxy, но и анализировать чужие логи, которые на него можно направить через различные протоколы.

К сожалению, у меня не получилось полноценно проверить работу этой системы. Недавно была анонсирована 4-я версия, которая в настоящий момент полностью не доделана. При этом изменился сайт и вся информация о 3-й версии, которая наиболее функциональна и которую мне рекомендовали, была удалена с сайта. Я даже не понял, где и как скачать 3-ю версию.

В настоящий момент на сайте есть 4-я версия. Для её установки предлагается скачать готовый образ виртуальной машины, что я и сделал. Скачал образ для KVM и развернул его на Proxmox. Достаточно создать виртуалку и заменить её диск на скачанный образ qcow2.

Далее загружаем систему и логинимся в неё. Учётка vlt-adm / vlt-adm. Далее в системе нужно обязательно войти в панель управления, введя в терминале:
# admin
Там необходимо настроить сетевой интерфейс и изменить имя хоста. Причём у меня не получилось настроить ip через dhcp. Почему-то адрес применился, а шлюз нет. В итоге пришлось отключить dhcp и настроить руками этот же адрес. В этой же панели управления рекомендую установить все обновления. Там и по самому продукту они прилетят.

После того, как настроите сеть и имя хоста (! это важно, измените дефолтное имя, иначе ничего не заработает), нужно выполнить команду:
# sudo /home/vlt-adm/gui/cluster_create.sh
После этого можно идти в веб интерфейс по адресу https://10.20.1.49:8000. Дальнейшая настройка производится через веб интерфейс. А это самое интересное, так как полноценной документации для 4-й версии нет. Кое-что открывается в описании к настройкам в веб интерфейсе, но не везде. Пришлось смотреть для 3-й версии, чтобы примерно понять концепцию и саму настройку.

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

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

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

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

#security #waf
👍22👎5
​​Расскажу про ещё одну отличную утилиту для локального мониторинга и поиска узких мест в производительности Linux. Я её уже упоминал в разных заметках, но не было единой публикации, чтобы забрать в закладки. Речь пойдёт про dstat.

Утилита есть в стандартных репозиториях дистрибутивов. Ставим так:
# apt install dstat
# dnf install dstat

Dstat - универсальный инструмент, который частично перекрывает функционал iostat, vmstat, netstat и ifstat. У утилиты есть отдельно свои односимвольные ключи, которые вызываются одиночным тире и список плагинов, которые вызываются через двойное тире. Их можно комбинировать.

Покажу сразу пример из свой шпаргалки, которой постоянно пользуюсь:
# dstat -tldnpms 10
При этом будет выводиться с интервалом в 10 секунд:
текущее время – t
средняя загрузка системы – l
использования дисков – d
загрузка сетевых устройств – n
активность процессов – p
использование памяти – m
использование подкачки – s
Очень удобная команда, которая позволяет быстро и комплексно оценить загрузку системы по всем основным характеристикам.

Нагрузка на диск с разбивкой по процессам:
# dstat --top-io

Пример того, как можно настроить вывод информации в удобном для себя формате:
# dstat -l -m -s --top-mem
load average -l
использование памяти -m
использование swap -s
процесс, занимающий больше всего памяти --top-mem

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

Набор метрик для анализа нагрузки на CPU:
# dstat -c -y -l --proc-count --top-cpu

Любопытный ключ:
# dstat --top-oom
Утилита покажет того, кого OOM Killer грохнет первого, если закончится оперативная память. Не знаю, чем это отличается от ключа --top-mem. По идее, одно и то же должно быть.

Ну и так далее. Комбинаций ключей может быть много. Список всех доступных плагинов можно посмотреть так:
# dstat --list
или в man.

К слову, развитие этой утилиты прекратилось в 2019 году из-за того, что Red Hat взяли это же название для своего продукта из набора Performance Co-Pilot. Об этом автор написал в репозитории. Я не знаю, что в современных дистрибутивах, основанных на RHEL, ставится под этим названием пакета. В Debian по прежнему старый dstat. В Centos 7 тоже он же ставился, я постоянно пользовался. Что интересно, замену можно и не заметить, так как все ключи и вывод команды Red Hat повторили в своём продукте. То есть сознательно так поступили, заняв известное имя.

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

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

В моём примере я удалю файл безвозвратно и держать открытым его никто не будет. Возьмём систему Debian 11 и файловую систему ext4. Удалим стартовую страницу nginx - /var/www/html/index.nginx-debian.html
# rm -f /var/www/html/index.nginx-debian.html

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

Я подключил к этой виртуальной машине CD-ROM, вставил туда LIVE образ Debian 11 с xfce и загрузился с него. Далее установил RLinux5. Можно скачать с сайта через браузер, либо через консоль:
# wget https://www.r-studio.com/downloads/RLinux5_x64.deb
# dpkg -i RLinux5_x64.deb

Запустил RLinux. Программа с графическим интерфейсом, так что работать с ней легко. Она увидела мой жёсткий диск и все разделы на нём. Я выбрал раздел, на котором был удалён файл и выполнил сканирование уровня detailed. Затем открыл обзор файлов на этом же разделе.

Пошёл в директорию /var/www/html/ и увидел там свой файл, помеченный как удалённый. Там же можно выбрать этот файл и нажать кнопку Recover. Программа сообщила, что файл восстановлен. Я обрадовался, что всё получилось так просто и быстро. Но радоваться было рано. Файл оказался пустым.

Тут я приуныл. В данном эксперименте условия идеальные. Файл с очень большой долей вероятности должен быть цел. Решил выполнить поиск по всем удалённым файлам. Получил большой список файлов с названиями вида $inodeindx0001ff23. Стал выборочно проверять те, которые по размеру могут быть похожи на удалённый файл. И нашёл его. Результат на картинке. Выбрал файл, нажал Recover и сохранил его в другое место.

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

❗️Заметку имеет смысл сохранить и надеяться, что никогда не пригодится. Тут готовая инструкция как с большой долей вероятности восстановить случайно удалённый файл, если действовать оперативно. Но вообще программа R-Linux умеет много всего: восстанавливать разделы, файловые системы, делать корректно образы с повреждённых дисков и т.д. На сайте подробно всё описано.

Сайт - https://www.r-studio.com/ru/free-linux-recovery

#restore
👍48👎6
Небольшая подсказка для тех, кому на ОС Windows нужно обновить список корневых сертификатов. Это актуально для систем, которые уже не получают обновления, либо они принудительно отключены. Один-два сертификата можно добавить вручную. Если же их много, то надо это автоматизировать.

Если речь идёт о системах Windows 10 или 11, то там всё просто. Берём обновлённую систему и запускаем там:
# certutil.exe -generateSSTFromWU roots.sst

Сформируется SST контейнер, который можно открыть и посмотреть содержимое. Там будут все корневые сертификаты с текущей машины. На другой машине восстановить можно вот так:
# $sstStore = ( Get-ChildItem -Path roots.sst )
# $sstStore | Import-Certificate -CertStoreLocation Cert:\LocalMachine\Root

Если речь идёт о более старых системах, то для них есть другая утилита от Microsoft - rootsupd.exe. Они давно её выпилили из своих загрузок, так что лично я качал с сайта Kaspersky (инструкция и ссылка на утилиту).

Для начала её надо скачать, положить в директорию C:/rootsupd/ и запустить с параметрами:
# rootsupd.exe /c /t:C:\PS\rootsupd
Выскочит окошко с предложением перезаписать roots.sst, надо отказаться. Потом зайти в папку C:/rootsupd/, положить туда актуальный roots.sst с обновлённой системы и запустить из этой папки утилиту updroots.exe:
# updroots.exe roots.sst

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

Кстати, протухшие CA и старые протоколы шифрования TLS и SSL отличные могильщики старых систем. На них теперь никуда не попасть в современном интернете и ничего не скачать. И проблема эта актуальна не только в Windows. Помню, как в Centos 5 и 6 мне приходилось решать похожие проблемы. Даже писал об этом здесь, но давно дело было.

#windows
👍95
​​Хочу сделать предостережение и подсветить одну неприятную историю. Существует "Лучший инновационный продукт 2022 года" в виде системы мониторинга Camkeeper. Мне прислал ссылку один подписчик. Заинтересовался продуктом, решил узнать подробнее, что это такое.

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

Потом уже замечаю некоторые скриншоты в описаниях. Смотрю обзорный ролик и понимаю, что это обычный Zabbix, где просто сменили логотип. Вот такая инновация 2022 года.

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

Отдельно порадовало опубликованное благодарственное письмо на сайте:
Необходимо отметить высокий уровень инноваций, внедренных в продукцию Camkeeper разработчиками. Благодаря детальной удаленной диагностике работоспособности всех элементов системы видеонаблюдения, мы не только снизили расходы на ее обслуживание, но и систематизировали процессы с подрядной организацией.
Cпециалист по безопасности и режиму.

Слышали где-нибудь об этой системе?
👍74👎3
Сейчас все только и говорят, что об импортозамещении в ИТ. Кто-то – с презрением и громким «все пропало». Кто-то – с восторгом и оголтелым «всех заместим». А хочется взвешенной позиции.

Импортозамещение здорового человека — канал, где трезво, без истерик и эмоций разбираемся в российском ИТ.

Читайте наши материалы:

🔸 Как уход производителей софта отражается на российской разработке? Спойлер: реальная картина далека от шумихи в СМИ, большинство разработчиков быстро и успешно адаптировались к новой действительности.  
🔸 Есть ли жизнь после Intel и TSMC? Коротко о том, что происходит на рынке полупроводников в России. Где мы, куда идем и что нужно, чтобы дошли.
🔸 Как покупать железо в нынешних условиях? Ждать отмены санкций, использовать «серое» оборудование или пробовать российское?

Подписывайтесь на канал Импортозамещение здорового человека и следите за ИТ-рынком страны!

#реклама
👎14👍8
В августе было несколько постов с анализом производительности Linux. Хочу немного подвести итог и сгруппировать информацию, чтобы получилась последовательная картинка по теме.

Вам кажется, что сервер тормозит. Первым делом загляните в top или htop (я его предпочитаю). Если понимания, в чём конкретно проблема, не возникло начинаем копать глубже. Типичный пример непонимания - всё тормозит, даже по ssh долгое подключение, load average высокий, а процессор не загружен, память свободная есть.

1️⃣ Используйте dstat, запустив комплексный вывод основных метрик. Это первый пример из заметки:
# dstat -tldnpms 10
Там как минимум будет видно, какая и где именно нагрузка. Скорее всего если по top не понятно, в чём проблема, то смотреть надо на диски и сеть.

2️⃣ Я бы в первую очередь посмотрел на диски. Для этого можно воспользоваться заметкой Анализ дисковой активности в Linux. Там конкретные примеры по выводу различной информации с помощью разных утилит. Если они не помогли, то спускаемся на уровень ниже, берём набор утилит perf-tools и используем iolatency и iosnoop. В заметке есть описание с примерами.

3️⃣ Теперь разбираемся с сетью. Берём пакет netsniff-ng и анализируем сетевую активность - трафик, соединения, источники соединений с привязкой к процессам и т.д. В первую очередь понадобятся утилиты Ifpps и flowtop. Чуть более простые и дружелюбные для использования утилиты для анализа сети описаны у меня в посте про программу sniffer. И вот еще список тематических утилит с описанием: Iftop, NetHogs, Iptraf, Bmon.

Я знаю, что многие могут порекомендовать более продвинутые top'ы, типа atop, bashtop, glances и им подобные. Лично я их не очень люблю и обычно не использую. Иду по пути узконаправленных утилит. Возможно это не всегда оправданно, но у меня вот так.

#perfomance #подборка
👍78👎1
​​Вы замечали, как много всевозможных утилит по анализу производительности Linux? На них можно бесконечно писать обзоры. Клонов top море, как и анализаторов сетевой активности, каких-то ещё метрик. Я постоянно вижу подобные утилиты. Уже перестал смотреть на них, потому что объективно они не особо нужны, а для авторов это просто хобби. Если и обращаю внимание, то на что-то действительно полезное с необычным функционалом.

Я раньше думал, что это прям какие-то матёрые линуксоиды-программисты пишут подобный софт. Но на самом деле нет. Само ядро Linux в очень доступном формате отдаёт всю информацию. Достаточно её взять и красиво оформить. Покажу на простом примере.

Я постоянно использую в повседневной деятельности утилиту netstat для просмотра списка открытых портов. Если сервер сам настраиваю, то ставлю пакет с ней, если нет, то использую встроенный ss, который сейчас есть во всех дистрибутивах. Мне просто больше нравится вывод netstat, чем ss. Можете сами сравнить:
# netstat -tulnp
# ss -tulnp
У ss вывод шире, поэтому часто переезжает на новую строку и получается каша. Но это не важно, написать хотел не об этом.

Представьте ситуацию, что вы в Docker контейнере, где нет этих утилит. Где вообще почти ничего нет, что встречается довольно часто, а хочется посмотреть, какие порты открыты и какие соединения установлены? Посмотреть очень просто:
# cat /proc/net/tcp
Вот описание того, что вы увидите.

Вы получите практически всю ту же информацию, что показывают утилиты выше, только в шестнадцатеричном формате, если речь идёт о номере порта. Достаточно его перевести в десятичный и получить нужные данные. Понятно, что для этого тоже может не быть инструментов внутри контейнера, хотя тот же bash умеет это делать. Смотрим столбец local_address, первое число - ip адрес, второе - порт. Переводим порт, например 006E, в десятичный формат:
# echo $((16#006E))
110
Получаем 110 tcp порт, который открыл dovecot. Можно автоматом всё это конвертнуть:
# grep -v "local_address" /proc/net/tcp \
| awk '{print $2}' | cut -d : -f 2 \
| xargs -I % /bin/bash -c 'echo $((16#%))'

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

awk 'function hextodec(str,ret,n,i,k,c){
  ret = 0
  n = length(str)
  for (i = 1; i <= n; i++) {
    c = tolower(substr(str, i, 1))
    k = index("123456789abcdef", c)
    ret = ret * 16 + k
  }
  return ret
}
function getIP(str,ret){
  ret=hextodec(substr(str,index(str,":")-2,2)); 
  for (i=5; i>0; i-=2) {
    ret = ret"."hextodec(substr(str,i,2))
  }
  ret = ret":"hextodec(substr(str,index(str,":")+1,4))
  return ret

NR > 1 {{if(NR==2)print "Local - Remote";
local=getIP($2);remote=getIP($3)}{print local" - "remote}}' /proc/net/tcp

Этот пример можно развить и дальше, добавив информацию из остальных столбцов о состоянии соединения, inode процесса, его породившего и всего остального. Сразу скажу, что я не разбирался, что здесь происходит 🤡. Это же bash, ему даже обфускация не нужна. Просто увидел когда-то и сохранил. Как раз тогда, когда надо было в контейнере посмотреть порты и соединения.

И такая история со всеми метриками. Их все можно взять в /proc и анализировать. Так что можете начинать изучать какой-то язык программирования и писать свой собственный top. Можно даже на bash. Правда такой пример уже есть - bashtop. Придётся придумать что-то новое 😀.

#bash
👍78👎3
​​Для тех, кто захочет позаниматься на выходных и подтянуть свой навык в администрировании Linux в преддверие начала учебного года, предлагаю шикарную ссылку на обучающий материал по теме RHCSA (Red Hat Certified System Administrator).

Поясню тем, кто не знает, что это базовый курс от Red Hat для Linux администраторов. Сертификацию сдавать не обязательно, можно просто поучиться по этой программе. Её часто рекомендуют как общепризнанную базу. Так что если вас кто-то будет просить посоветовать, с чего начать изучение Linux, предложите ему пройти обучение по этому курсу.

Собственно, вот ссылка - https://basis.gnulinux.pro
Автор проделал огромную работу. Он записал видео и одновременно подготовил текстовую информацию с картинками. Читать её можно как на сайте автора, так и в репозитории github. Материал адаптирован для новичков и дополнен автором, то есть это не точное обучение по программе RHCSA.

Увидел этот курс недавно и был очень удивлён качеством и подачей. Пожалуй, в бесплатном доступе от энтузиастов мне не доводилось такого видеть.

#обучение #бесплатно
👍183