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

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

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

Регистрация в РКН: https://vk.cc/cG1Urj
Download Telegram
🎓 Признайтесь честно, без гугления, знаете что такое идемпотентность? Никогда не получается нормально выговорить это слово. Если не знаете, то скорее всего не знакомы и с Ansible. Для админа в наши дни это плохой сигнал, даже если не работаете с большими масштабами.

Ansible стал практически стандартом автоматизации и преднастройки инфраструктуры. Если не приходится использовать его лично, то всё равно на базе Ansible написана куча инструментов по установке чего-либо. Например, разворачивание кластера Kubernetes на своих хостах с помощью Kubespray. Или то же самое для Ceph. Если умеешь работать с Ansible, не будет никаких проблем раскатать кластер и продебажить установку в случае проблем.

К примеру, я почти не пользуюсь в своей работе Ансиблом, но тем не менее знаю его. Проходил курсы, писал свои плейбуки. Когда понял, что поддерживать и обновлять их дольше, чем настроить вручную раз в пол года, перестал. Но мне нет проблемы развернуть тот же Kube или Ceph из готовых плейбуков. Я понимаю, как там всё устроено и работает.

Долгая подводочка к теме получилась. Вот вам на выходные хороший цельный урок по Ansible от и до.

Всё что нужно знать по Ansible. Основы и не только:
⇨  https://www.youtube.com/watch?v=YYjCwLs-1hA

К видео есть содержание, так что можете сразу оценить, о чём там будет речь.

Кстати, у небезызвестного Дениса Астахова есть свой курс на Udemy на русском языке. Цена символическая, правда я не знаю, нормально ли с приёмом платежей из РФ там сейчас. Там же есть и бесплатные курсы, но на английско-индусском.

Если кто-то знает хороший бесплатный курс по Ansible в текстовом виде на русском языке, поделитесь информацией. У меня есть вот такая ссылочка в закладках, но это скорее просто подробная статья. На обучение не тянет.

#обучение #ansible #бесплатно
👍54👎4
Ко мне поступил интересный вопрос от читателя, который я решил вынести на публичное обсуждение и прокомментировать, так как будет полезно многим администраторам.

"Есть компьютер с CentOS 5.8 (дистрибутив FreePBX) на борту, выполняющий роль шлюза и сервера Asterisk. Есть необходимость сделать полный бэкап диска/системы, чтобы потом, в случае какой-то глобальной проблемы, восстановить всё на другом железе (время бэкапа/восстановления особой роли не играет). Нюанс в том, что так как эта система выполняет роль шлюза, то останавливать её нельзя. Поэтому единственный вариант - делать бэкап по сети.

Подскажите, пожалуйста, какие могут быть варианты решения вопроса."

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

В данном случае вижу несколько вариантов решения задачи:

1️⃣ Воспользоваться готовым решением в виде бесплатного Veeam Agent for Linux. Он без остановки машины может снять образ системы. Единственный нюанс, система очень старая. Я не уверен, что Veeam заработает на ней. Надо пробовать и подбирать какую-то старую версию.

2️⃣ Наиболее надёжный вариант. Найти всё-таки время в ночи, загрузиться с Live CD и снять образ диска. Например, с помощью CloneZilla.

3️⃣ Подготовить где-то идентичное железо или VM и сделать полную копию дисков с помощью dd и сразу же отправить по ssh. Примерно так:
# dd bs=1M if=/dev/sda | ssh root@restoresrv "dd bs=1M of=/dev/sda"
На практике я такое не делал, но не вижу особых проблем, почему это может не сработать. Метод стоит отработать где-то на тестовом стенде, а потом снять копию с боевого сервера. Вместо целого диска sda можно по разделам копировать: sda1, sda2 и т.д. Можно просто скопировать образ в файл, а потом уже развернуть из него систему:
# dd bs=1M if=/dev/sda of=/mnt/backup/sda.img
DD популярный инструмент, без проблем гуглится подходящее решение.

Как бы вы решали эту задачу?

#вопрос_читателя
👍53👎2
​​Существует известная компания Luden.io. Разработчики игр, которые помогают освоить профессию инженера и как частный случай, программиста. Ранее на канале была заметка об их игре while True: learn().

У них есть ещё одна известная игра - Learning Factory, в которой надо выстроить автоматизированную систему процессов на фабрике с применением машинного обучения, чтобы понять, чего хотят котики. Игра сделана на базе Factorio. А теперь самое интересное. У них есть бесплатная обучающая игра для детей - Learning Factory EDU.

Learning Factory EDU представляет из себя непосредственно игру для PC и набор методических материалов для вовлечения детей в игровой процесс. Причём материалы есть на русском языке. Я сначала удивился, когда их увидел, а потом понял, что вся команда Luden.io русскоязычная. Просто они не афишируют это, сайт на английском, как и все продукты. Они ориентированы на мировой рынок.

В googl drive представлены сам дистрибутив игры, рабочая тетрадь для ребёнка, планы уроков и все сопроводительные материалы в виде слайдов, картинок, иконок. Сделано всё очень качественно и продуманно. Это готовый план уроков для какого-нибудь кружка или родителя, который готов заниматься с ребёнком, чтобы вовлечь его в предметную область.

Если вы взрослый, не преподаёте и вообще всё это не для вас, то можете просто поиграть в Learning Factory. Это качественная тематическая игра с хорошим рейтингом и отзывами.

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

Learning Factory - https://store.steampowered.com/app/1150090/Learning_Factory/
Learning Factory EDU - https://luden.io/lfedu/

#игра #обучение #дети
👍35👎3
Регулярно вижу сообщения на тему того, что OpenVPN работает медленно. Чаще всего это результат каких-то локальных проблем, а не распространённого мнения о том, что openvpn это медленный туннель. Всё познаётся в сравнении, а максимальная производительность туннеля зачастую больше всего зависит от сложности шифрования, которое используется.

В общем случае, при канале интернет в 100-200 мегабит в секунду вы не заметите проблем со скоростью в туннеле OpenVPN, если он будет поднят на базе PC, а не какого-то роутера с маломощным железом. По крайней мере я не сталкиваюсь с проблемами, когда на виртуальных машинах использую OpenVPN для объединения сетей через интернет.

Если вы видите, что ваше OpenVPN соединение работает значительно ниже исходного канала в интернет, то проверять стоит следующие вещи:
Сжатие. Попробуйте его отключить, если включено, и посмотрите, как это повлияет на скорость.
Если у вас используется TCP транспорт, поменяйте на UDP и проверьте скорость.
Попробуйте более простой шифр, например AES-128-CBC вместо AES-256-CBC. Для верности можно вообще что-то совсем простое поставить и проверить, действительно ли из-за шифра проседает скорость.
Посмотрите загрузку ядер процессора во время тестирования канала. Есть вероятность упереться в производительность одного ядра.

Далее идут более сложные вещи, в которые можно погрузиться, чтобы решить проблему с быстродействием:
Иногда могут возникать проблемы с буферами. Гуглите параметры sndbuf и rcvbuf. Пробуйте их менять или отключать управление со стороны OpenVPN. Тема большая, гуглится хорошо, всё найдёте. Не забудьте, что эти параметры можно не только поменять на сервере, но и передать их клиенту. Это суперспособность OpenVPN - передавать практически любые настройки клиенту.
Попробуйте поменять MTU с помощью параметра tun-mtu. Часто в этом может быть причина неадекватно низкой скорости туннеля.
Попробуйте поменять параметр длины очереди отправки txqueuelen. В общем случае дефолтное значение трогать не обязательно, но если ничего из вышеприведённого не помогло, можно попробовать изменить. Я видел ситуации, когда это помогало.

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

Почему я чаще всего использую OpenVPN - Подробный ответ.

#openvpn
👍57👎4
Расскажу вам про решение проблемы с Openvpn Client на Windows, которая меня донимала последний год примерно, может чуть меньше. Вчера терпение лопнуло и я разобрался с ней раз и навсегда.

Проблема плавающая и выражалась она в том, что время от времени одно из настроенных подключений openvpn не подключалось. Ошибка была примерно такая:
MANAGEMENT: Socket bind failed on local address [AF_INET]127.0.0.1:25349
Ошибка возникала случайным образом на различных соединениях.

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

Дело вот в чём. После какого-то обновления Windows, она стала резервировать некоторые диапазоны портов для работы Hyper-V. Посмотреть эти диапазоны можно командой:
# netsh int ipv4 show excludedportrange tcp

И как оказалось, там есть диапазон локальных портов, который пересекается с диапазоном, который использует OpenVPN. Решение вопроса - изменить его в OpenVPN GUI:
Settings ⇨ Advanced ⇨ Management interface ⇨ Port offset.
После этого проблема исчезла.

Такая вот ерунда сожрала кучу моего времени. В логах самой винды никакой информации нет. По логу openvpn невозможно понять, в чём дело. А оказывается винда каким-то своим механизмом бронирует целые диапазоны портов и не даёт их использовать. При этом никак в системе не помечает их занятыми, иначе бы ошибка была другая. Что-то в духе local address [AF_INET]127.0.0.1:25349 is busy. А тут просто ошибка, которая говорит о том, что сокет не поднимается. Причин этому может быть много. Банальная нехватка прав или что-то ещё.

#openvpn #windows #ошибка
👍113👎4
​​Существует необычный и полезный продукт - UDPspeeder, который способен улучшить качество связи VPN туннелей на каналах с большими задержками и потерями пакетов с помощью коррекции ошибок (Forward Error Correction).

Разработчики заявляют встроенную поддержку следующих VPN туннелей - OpenVPN, L2TP, ShadowVPN. Работает UDPspeeder следующим образом. Сначала организуете туннель с его помощью, а потом поверх пускаете тот же OpenVPN или что-то подобное.

В репозитории подробно описан принцип работы UDPspeeder. В основе лежит технология FEC (Forward Error Correction). С её помощью возможно обнаружить ошибки передачи данных и скорректировать их методом упреждения. Эффект реальный и очень заметный. В репозитории есть наглядный пример снижения количества потерянных пакетов без увеличения latency, что существенно увеличивает скорость передачи данных.

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

Настраивается UDPspeeder максимально просто и быстро. Работает только под Linux, есть пакет для openwrt.

# Запускаем на сервере:
./speederv2 -s -l0.0.0.0:4096 -r 127.0.0.1:7777 -f20:10
# Запускаем на клиенте
./speederv2 -c -l0.0.0.0:3333 -r 44.55.66.77:4096 -f20:10

Все запросы к порту 3333 клиента будут переадресовываться на порт 7777 сервера. Есть отдельная инструкция по настройке связки UDPspeeder + OpenVPN.

Если вам нужна готовая реализация VPN туннеля на базе UDPspeeder для быстрого запуска, можете взять tinyfecVPN от этого же автора. Там в пару команд настраивается VPN Site-to-Site.

Исходники - https://github.com/wangyu-/UDPspeeder

#vpn #openvpn
👍38👎1
На моём канале время от времени бывает реклама хостинга. Причём рекламируются как крупные облачные провайдеры, так и небольшие лоу-костеры. Крупных всегда обвиняют в том, что цены высокие, а лоу-костеров в том, что они ненадёжны.

Хочу прокомментировать последних, так как с ними наиболее показательные истории бывают. Хостеры заходят с каким-то временным промо тарифом, открытым в рекламных целях. Это убыточные линейки, которые покрываются рекламным бюджетом. Меня не удивляют люди, которые начинают возмущаться и предъявлять претензии, что купленный по промо тарифу сервер не надёжен. Сам таким был.

Несколько лет назад у провайдера ruvds появился промо тариф за 30 р. (❗️ считай, что даром). Давали виртуалку с минимальными ресурсами и внешним IP. Купить этот тариф было трудно, VDS тут же кончались после начала акции. Но мне в итоге удалось его получить. Он тормозил жутко, была масса негатива. Я даже помню в комментариях на хабре в корпоративной статье возмущался, что хостер только негатив собрал с помощью этого глючного и тормозного промо тарифа.

Что по факту? Прошло года 2-3, этот VDS я до сих пор использую, стоит 40 р. в месяц. Это отличное предложение для персонального VPN сервера. С тех пор и хостером активно пользуюсь. И вам много раз его рекомендовал. То есть реклама сработала на 100%.

К чему я всё это написал. Не надо строить завышенных ожиданий от дешёвых промо тарифов, которые явно ниже рынка. Это обычная реклама и замануха. Относитесь к ним правильно и используйте с пользой, особенно если условия будут и дальше неизменными. А если хотите надёжное решение, то это должен быть не лоу-костер с VDS на базе десктопного или очень старого железа, о котором вам ничего не скажут, а крупный хостер со своими ДЦ.

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

#хостинг
👍52👎2
​​Нередко возникают ситуации, когда хочется знать, кто и какие приложения запускал на компьютере с системой Windows. Сделать это очень просто, так как у этой ОС есть встроенный функционал по логированию всего и вся, в том числе и информации о работе приложений, причём не только запуска.

Включить аудит приложений просто. Это можно сделать как в локальной политике одиночного компьютера, так и централизованно с помощью групповых политик. Настройка живёт по адресу:

Конфигурация компьютера ⇨ Конфигурация Windows ⇨ Параметры безопасности ⇨ Локальные политики ⇨ Политики аудита ⇨ Аудит отслеживания процессов.

После включения политики, необходимо её обновить:
> gpupdate /force

Теперь идём в журнал Windows, раздел безопасность и смотрим события с ID 4688 это запуск процесса и 4689 - завершение. Далее эти логи можно отправить, к примеру, в ELK и там хранить и анализировать. Если нужен только мониторинг, то можно взять Zabbix, настроить триггер на запуск какого-нибудь нежелательного приложения.

#windows #security
👍78👎1
​​Какой самый простой способ передать ссылку или небольшой текст с компьютера на смартфон? Правильно, отправить его самому себе через Telegram 😎 Всегда так делаю. А если нет мессенджера? Тут уже начинают шевелиться извилины, так как задача становится не такой уж и тривиальной.

Можно воспользоваться очень простым скриптом на Python, который будет генерировать QR-код из содержимого буфера обмена. Для этого нужна пара библиотек: qrcode и pyperclip.
# pip install qrcode pyperclip
Теперь можно запустить скрипт:
# git clone https://github.com/Louise-h-aa/qrclip.git
# cd qrclip
# python3 qrclip.py

Содержимое буфера обмена окажется в виде QR-code прямо в консоли. Я проверял локально на WSL. Не знаю, сработает ли в консоли сервера. Мне кажется, что нет, так как при подключении по ssh у сервера доступа к локальному буферу не будет.

Я решил сам немного переделать скрипт, чтобы текст для qr-кода можно было передать либо как параметр, либо ввести его в консоль, если скрипт запущен без параметров:

#!/usr/bin/env python3

import sys
from qrcode import QRCode, ERROR_CORRECT_L
def print_qr_code(text: str) -> None:

  qr = QRCode(
    version = 1,
    error_correction = ERROR_CORRECT_L,
    box_size = 10,
    border = 4
  )
  qr.add_data(text)
  qr.make(fit = True)
  qr.print_tty()

if __name__ == "__main__":
  if len (sys.argv) > 1:
    print_qr_code(sys.argv[1:])
  else:
    text: str = input()
    print_qr_code(text)

Это, кстати, наглядный пример простоты изучения Python. Я не умею на нём программировать, но код настолько простой и человекочитаемый, что я просто посмотрел на него, загуглил, как реализуется текстовый ввод в python, а так же передачу текста через параметры командной строки. Посмотрел, как пишется простой цикл и всё реализовал. Потратил буквально 30 минут. Стало интересно самому разобраться. В итоге всё получилось. Завис только на одном моменте. Не знал, как вывести список, пропустив нулевой элемент в нём. В итоге нашёл - [1:].

Теперь можно передать нужную строку в качестве параметра запуска:
# python3 qrclip.py https://ya.ru https://serveradmin.ru

Если хотите изучать программирование, начните с Python. Я помню как посмотрев пару бесплатных уроков, написал простенького бота. Даже публиковал его здесь, но его сразу сломали :) В целом, python очень простой. Его даже приятно изучать и что-то писать, не то что bash.

#python
👍62👎1
​​Когда речь заходит о программном шлюзе, первое, что приходит в голову это наиболее популярный Pfsense. Более продвинутые, кто предпочитает настраивать шлюзы через cli, вспомнят про VyOS. Но есть ещё один продукт, который я лично использовал - IPFire.

Это аналог Pfsense, только на Linux. Причём сделан не на основе готового дистрибутива, а собран из исходников самостоятельно авторами. То есть там под капотом не какой-то условный debian или centos. Поэтому там нет ничего лишнего. Разработчики заявляют, что всё собрано и оптимизировано конкретно под задачи маршрутизации и фаервола. Отсутствие лишних компонентов повышает безопасность и стабильность системы.

Всё управление через web браузер, в консоль ходить не надо. На мой взгляд IPFire проще сделан, меньше функционала, но и настроить, разобраться быстрее. Лично мне по логике работы и организации функционала IPFire понравился больше Pfsense, когда я его использовал. Но это субъективно, не претендую на какой-то анализ и сравнение.

Основные задачи, которые решает IPFire:
DHCP и DNS сервер.
Firewall. Сделан на базе iptables.
QOS.
Intrusion Prevention System (IPS). Построена на базе Suricata.
Web Proxy. Под капотом Squid.
Ipsec и OpenVPN.

В IPFire удобно организована настройка OpenVPN через браузер. Уже даже для одной этой задачи имеет смысл его рассмотреть и попробовать. Из необычного, там реализован функционал 2FA для соединений на базе типовых сертификатов (с паролем или без) и дополнительного pin кода.

Функционал можно расширять с помощью дополнений. Их там довольно много. Можно реализовать типовой функционал для linux дистрибутивов: Samba, NFS Server, Bacula, Borg Backup, Postfix и т.д. Можно поставить Zabbix Agent, чтобы организовать нормальный мониторинг системы. В веб интерфейсе есть русский язык.

Проект живой, регулярно обновляется. Последний релиз - 17 сентября этого года. Сам софт бесплатный, исходники открыты. Компания зарабатывает продажей готового железа с преднастроенной системой.

Думаю, среди читателей найдётся немало людей, кто использовал или использует IPFire. Поделитесь, почему остановились именно на нём, а не каком-то другом продукте.

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

#gateway #firewall
👍81👎2
В Linux есть необычное псевдоустройство /dev/urandom для генерации псевдослучайных чисел. Его много где используют. Например, забить какой-то диск случайными данными для полного удаления предыдущей информации:

# dd if=/dev/urandom of=/dev/sda3

С помощью /dev/urandom удобно генерировать пароли с заданной длиной и сложностью. Пример простого пароля из 8 символов, с строчными и заглавными буквами:

# < /dev/urandom tr -dc 'a-zA-Z' | fold -w 8 | head -n 1

Добавляем сюда цифры и увеличиваем длину:

# < /dev/urandom tr -dc 'a-zA-Z0-9' | fold -w 10 | head -n 1

Добавляем некоторые спецсимволы и ещё увеличиваем длину:

# < /dev/urandom tr -dc 'a-zA-Z0-9#!@' | fold -w 12 | head -n 5

Меняя параметр head можно генерировать сразу несколько паролей. Например, всегда выводить по 5 паролей и выбирать тот, что больше нравится.

Можно добавить алиас в .bashrc, чтобы быстро генерировать пароли:

alias randpw='< /dev/urandom tr -dc 'a-zA-Z0-9#!@' | fold -w 12 | head -n 5'

Перечитываем .bashrc и проверяем:
# source .bashrc
# randpw
oDQ7Fw@a#QhJ
364UG@j8T1Mm
UxwRZU9K1bIH
GfToKOi#fmgl
ZB!Qv6eI#cp5

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

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

#bash #linux
👍91👎2
Я решил в конце каждого месяца публиковать топ постов по нескольким параметрам. Мне кажется, что это может быть интересно и полезно. Но это только моё мнение, потому что я веду канал и мне эта информация нужна.

Проголосуйте за этот пост 👍, если хотите видеть такой топ раз в месяц или 👎, если он не нужен.

📌 Больше всего просмотров:
Подборка бесплатных обучающих материалов (7602)
RouterOS Scanner от Microsoft (6898)
HTTP сервер на базе Python для передачи файлов (6851)

📌 Больше всего комментариев:
Промо тариф Aeza (193)
Мониторинг каналов в Mikrotik (119)
Обзор Nextcloud (106)

📌 Больше всего пересылок:
Подборка бесплатных обучающих материалов (679)
HTTP сервер на базе Python для передачи файлов (615)
Работа с файлами и директориями в bash (428)

📌 Больше всего реакций:
Работа с файлами и директориями в bash (198)
HTTP сервер на базе Python для передачи файлов (174)
Выдвижной ящик для слота 5,25 системного блока (109)
Падение моего сайта, анализ проблемы (109)

#топ
👍326👎4
Media is too big
VIEW IN TELEGRAM
Прикольный старый ролик про админов, который я впервые увидел на днях. Решил с вами поделиться, может кто не видел. Первый раз можно посмотреть без звука для более острых впечатлений. А потом уже со звуком. Центральной шуткой тут является настройка циски. Девчуля вводит команду:

switchport trunk allowed vlan 265

и забывает добавить add после vlan. В итоге она не добавила новый vlan, а просто стёрла все остальные, оставив только один. Чаще всего это приводит к потере сетевого доступа к коммутатору. Ошибка типичная, много кто с ней сталкивался. Обычно одноного раза достаточно, чтобы больше не ошибаться. 

Все ролики из этого цикла (всего 3):
https://www.youtube.com/watch?v=rjqe8T5XBmw
https://www.youtube.com/watch?v=WNnJ0gjPgEs
https://www.youtube.com/watch?v=ncXTQ83eW7Q

#юмор
👍128👎13
Я стараюсь время от времени ходить на конференции (не онлайн). Это нужно для того, чтобы не замыкаться в какой-то одной области. Периодически у меня бывает реклама подобных конференций. На некоторые я хожу. Например, недавно была конфа от TrueConf, которую я посетил. Пробыл там до обеда, на всю времени не хватило. До этого ходил на конфу от VKCloud.

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

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

На последней конференции впервые узнал что у Astra Linux есть полностью своё решение по VDI, которое выведено в отдельный продукт Termidesk. Это самостоятельный продукт без привязки к какой-то системе виртуализации. С его помощью можно организовать виртуальные рабочие места с различным доступом к ним: через клиент, по протоколами rdp, vnc, через браузер. Сделаю отдельную заметку про него.

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

#разное
👍76👎2
​​Какой айтишник не хочет бросить свою монотонную, однообразную работу и открыть айтишный стартап? Практически любой не хочет 😀 Есть возможность попробовать это сделать в лёгкой и непринуждённой игре Startup Panic.

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

Игра русифицирована, так что можно вообще не напрягаясь постартапить. Игровой процесс тоже не напряжный. Это типичный симулятор развития чего-нибудь, в данном случае IT компании, которая развивает некий сайт-социальную сеть. Надо нанимать людей, обучать их, снимать помещения, брать кредиты и т.д.

Понравился один из комментариев к игре:
Вот бы в жизни можно было просто свалить с работы, создать свою собственную компанию и стать вторым Биллом Гейтсом, но вот только он бросил Гарвард, а ты общеобразовательную школу №3.

Если нет возможности купить игру в стиме, то можно на торрентах взять.

Steam - https://store.steampowered.com/app/1045610/Startup_Panic/

#игра
👍34👎8
​​На днях упоминал про систему организации виртуальных рабочих мест Termidesk. Сегодня расскажу о ней подробнее. Это российское программное обеспечение, включённое в реестр отечественного ПО. С его помощью реализуется функционал диспетчера удалённых подключений к виртуальным машинам под управлением операционных систем Linux и Windows.

Termidesk поддерживает следующие системы виртуализации: ПК СВ «Брест», zVirt, VMware, Aerodisk vAir, oVirt, Openstack и некоторые другие. То есть это универсальный продукт под разные системы виртуализации, с которыми он работает через плагины расширения.

В качестве гостевых систем для рабочих мест могут использоваться Windows 7,8,10, Windows Server, Astra Linux, Alt Linux, Debian, Ubuntu, CentOS. Для взаимодействия с Termidesk в операционные системы устанавливается агент.

Подключение к рабочим местам может осуществляться через различные протоколы. Если в системе есть RDP, то можно через него. Также поддерживается протокол SPICE, через который можно подключаться к экрану виртуальной машины. Этот протокол взаимодействия напрямую с гипервизором. Через него в том числе работает проброс usb устройств, работа мультимедиа (usb камер и микрофонов). То есть удалённое рабочее место можно использовать для полноценного общения.

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

В качестве авторизации поддерживается множество популярных механизмов: локальная БД, MS Active Directory, LDAP/OpenLDAP, FreeIPA, Astra Linux Directory, IP адреса. Устанавливается Termidesk просто. Это обычный deb пакет для бесплатной ОС Astra Linux Common Edition, либо платной Astra Linux Special Edition. После установки из пакета, управление и настройка осуществляются через браузер.

В настоящее время Termidesk предлагает бесплатно лицензию на 4 конкурентных соединения с пользовательских рабочих станций. Получить её можно только вручную, отправив запрос через специальную форму на сайте. Платная версия лицензируется либо по количеству пользователей, либо по количеству одновременных соединений. Стоит от 5000 р. за пользователя, и от 9000 р. за соединение. Это стоимость за год. Цены смотрел в softline.

Посмотреть, как Termidesk работает на практике со стороны пользователя можно с помощью demo - https://termidesk.ru/vdi-demo, учётка termidesk1 / termidesk1. Можно как через браузер заходить, так и клиент себе поствить.

❗️Обращаю внимание, что через demo доступны несколько версий полноценных операционных систем с выходом в интернет. Там есть в том числе и браузеры. Можно использовать их в различных целях. Только не надо заниматься каким-то вредительством. Наверняка все подключения логируются. Если какие-то вредители начнут гадости делать, то демо скорее всего закроют. После завершения сеанса все изменения удаляются. Заново подключается уже эталонный образ.

Сайт - https://termidesk.ru/
Реестр ПО - https://reestr.digital.gov.ru/reestr/306667/

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

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

Я уже как-то делал подобную заметку с примерами похожих историй в РФ, которые закончились плачевно для админов. Хочу лишний раз напомнить, что какие бы ни были у вас разногласия на работе, никогда не занимайтесь вредительством. Вы сделаете себе проблем гораздо больше, чем обидчикам. Так или иначе с вашей диверсией разберутся, а вот вы можете и на нары загреметь, не говоря уже о том, что испортите себе репутацию, возможно на всю жизнь. Обида и расстройство пройдут, а сделанное не исправить.

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

У вас были моменты, когда хотелось отомстить работодателю, пользуясь своими доступами? Я, кстати, всегда, когда устраивался на новое место, спрашивал у работодателя, почему и как расстались с бывшим админом. Хотелось знать, могут ли быть проблемы из-за конфликтов в прошлом.

#разное
👍89
​​В комментариях в заметке про VDI со мной поделились классным софтом - PVE-VDIClient. Это простой клиент на Python, с помощью которого можно напрямую подключаться к виртуальным машинам PVE по протоколу SPICE. Не нужен никакой дополнительный софт, типа RDP или VNC. Вы напрямую подключаетесь к консоли виртуальной машины.

Для чего это может понадобиться? Например, у вас есть Raspberry Pi и вы хотите сделать тонкий клиент для работы в ОС Windows с пробросом микрофона, камеры и звука. Вот подробное видео реализации:
https://www.youtube.com/watch?v=TuDrmq4RQzU

Я вчера потратил несколько часов, пока не разобрался полностью как это работает. В итоге запустил PVE-VDIClient на Windows 10 и 11. Рассказываю по шагам, что нужно сделать.

1️⃣ Добавляем в PVE новых пользователей и отдельную группу для них. Назначаем этой группе права доступа: VM.PowerMgmt, VM.Console, VM.Audit. Можно на конкретные виртуальные машины или на все сразу.

2️⃣ Виртуальным машинам, к которым будем подключаться по SPICE, в настройках указываем Display: SPICE и добавляем ещё один USB Device: Spice Port.

3️⃣ На ОС Windows, с которой будем подключаться, устанавливаем Python 3.10. Я установил через Microsoft Store. Далее идём в репозиторий, скачиваем файл requirements.bat и запускаем его. Либо просто вручную установите pip пакеты, которые там указаны.

4️⃣ Далее скачиваем virt-viewer под Windows и устанавливаем. После этого идём в releases и скачиваем последнюю версию PVE VDI client, устанавливаем.

5️⃣ В директорию C:\Program Files\VDIClient кладём файл vdiclient.ini, образец которого есть в репозитории под именем vdiclient.ini.example (example удаляем). Тут важно сделать несколько настроек, без которых у меня ничего не работало.

В разделе [Hosts] пишем адрес своего гипервизора и его порт 8006:
10.20.1.2 = 8006

В разделе [SpiceProxyRedirect] редактируем параметр:
prox.zeroxzed.ru:3128 = 10.20.1.2:3128
prox.zeroxzed.ru - имя хоста, которое можно посмотреть в веб интерфейсе, в разделе System ⇨ Hosts. В инструкции нигде не указано, что нужно это сделать, а дефолтная запись выглядит вот так:
pve1.example.com:3128 = 123.123.123.123:6000
Попробуй тут догадайся, что надо написать.

В разделе [Authentication] есть параметр auth_backend. По умолчанию он имеет значение:
auth_backend = pve
Если поменять его на
auth_backend = pam
Сможете подключаться дефолтной учёткой root, под которой заходите в веб интерфейс. Если это ваш тестовый гипервзиор, то логичнее поступить именно так и не создавать отдельных пользователей.

6️⃣ Теперь можно запускать VDI клиент, подключаться к гипервизору под созданной учётной записью и запускать виртуальную машину. Для увеличения быстродействия и лучшей работы с видео, в гостевые ОС рекомендуется установить SPICE guest tools. Но и без них всё будет работать.

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

Полезные ссылки, которые пригодились в процессе настройки:
Исходники - https://github.com/joshpatten/PVE-VDIClient
Virt-manager - https://virt-manager.org/download/
Spice-guest-tools - https://www.spice-space.org/download.html
PVE SPICE - https://pve.proxmox.com/wiki/SPICE
Raspberry Pi THIN CLIENT for Proxmox VMs -
https://www.youtube.com/watch?v=TuDrmq4RQzU

#vdi #proxmox #виртуализация
👍81👎1
​​Вчера была очередная рассылка от компании Mikrotik. Из новостей ничего интересного не увидел, кроме анонса нового устройства hAP ax³. Это отличный wifi роутер для дома. Там 4-х ядерный процессор, 1GB памяти, Wi-Fi 6 и 4 гигабитных порта. Оптимальные характеристики для дома.

Всё хорошо, если бы не цена на эти устройства в РФ. Базовая стоимость производителя $139 - хорошее предложение для такого устройства. Если ориентироваться на другие модели Mikrotik, то в РФ цена будет в 2-2,5 раза больше, то есть в районе 20000 р.

Мне сейчас для дома нужно купить модем с встроенным WAN на LTE, свитч и Wi-Fi роутер (3 отдельных устройства). Раньше я бы не раздумывая взял Mikrotik, так как они мне нравятся. Сейчас в квартире и на даче всё на них работает. Но в текущих условиях так переплачивать не хочется, потому что объективно весь этот функционал мне не нужен, надо просто чтобы интернет работал в доме.

Как считаете, на каком вендоре сейчас стоит остановиться для домашнего использования с учётом цен? Я никогда не следил за ними, так как брал везде Mikrotik. Сейчас поискал роутеры с WAN LTE, предложений очень много от различных брендов с ценами от 3000 р. и выше. Микротики сейчас явно вне рынка. Я присмотрелся к Keenetic, TP-Link (дешевле всех, хз как там с качеством), Huawei.

#железо
👍38👎2
​​Последние заметки про VDI (Virtual Desktop Infrastructure,) породили много вопросов в комментариях на тему того, зачем всё это нужно, если есть протокол RDP для удалённой работы. Во-первых, системы VDI не противопоставляют себя каким-то другим доступам. Более того, они чаще всего включают в себя поддержку и RDP соединений и многих других (VNC, SPICE). Во-вторых, если и сравнивать VDI, то с Remote Desktop Services (RDS) в составе Windows Server.

Например, есть бесплатное решение OpenUDS для организации VDI. Вот его основные возможности:
Поддержка open source платформ виртуализации: oVirt, OpenNebula, Open Stack, XCP-ng, Proxmox, а также платных: Citrix Hypervisor, Microsoft Hyper-V, Nutanix Acropolis, VMware.
Поддержка протоколов доставки рабочего стола: RDP (в том числе через HTML5), X2Go, SPICE (только для QEMU).
Поддержка аутентификации: LDAP (в том числе MS AD), IP/mac-адреса, внутренняя БД, Radius.
Клиенты Linux и Windows для подключений.

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

Далее создаёте транспорт в виде различных протоколов доступа к системам и связываете из с пользователями. Кто-то будет подключаться по RDP, кто-то по X2Go, кто-то по SPICE. Пользователю на компьютер устанавливается openuds-client, с помощью которого он подключается к системам, к которым имеет доступ. Это объяснение на пальцах, как принципе всё работает.

Зачем может пригодиться подключение по SPICE, если есть RDP? Во первых, SPICE работает на уровне гипервизора. У вас всегда будет доступ к VM. В теории SPICE умеет работать с видеокартами на хосте, он умеет адекватно обрабатывать видео, прокидывать видеокамеру, микрофон. С его помощью можно организовать полноценное удалённое рабочее место того же дизайнера или проектировщика. Это в теории, на практике там наверняка много нюансов и надо разбираться. Скорее всего не всё и не везде поддерживается. Разработчики Termidesk рассказывали, что они дорабатывали SPICE самостоятельно, чтобы он нормально работал c видеокартами и жал видеопоток от камеры. По умолчанию он этого не делает, поэтому нужен широкий канал для нормальной картинки.

Очень подробное описание и настройка OpenUDS:
https://www.altlinux.org/VDI/OpenUDS
Я изучил инструкцию. На вид всё довольно просто и логично настраивается. В основном через веб интерфейс. Есть возможность поднять HA кластер:
https://www.altlinux.org/OpenUDS_HA
Хочу отметить, что у команды altlinux очень хорошие подробные руководства, по которым зачастую копипастом можно настроить.

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

#vdi #виртуализация
👍53👎2