Введение

Я давно хотел построить свою домашнюю лабу, но все это откладывал. Но со временем накопилось достаточно причин чтобы наконец начать:

  • Невозможность запускать x86_64 приложения на моем Mac (ARM архитектура) - нужна была среда для тестирования и разработки
  • Желание поэкспериментировать с self-hosted сервисами (Paperless-NGX, Monica, n8n) и виртуализированными сетевыми лабами (GNS3, EVE-NG)
  • Контроль над своими данными и бекапами на собственном оборудовании вместо облачных подписок
  • DevOps практика: развертывание и управление инфраструктурой (GitLab, K8s, мониторинг)

Цели проекта:

  • Построить инфраструктуру личных сервисов с доступом через VPN/интернет
  • Получить практический опыт в планировании инфраструктуры, автоматизации и безопасности
  • Сделать это бюджетно, получив максимум за потраченные деньги

Так как это хобби, а не производственный проект, я выбрал самый простой старт - мини-ПК с Proxmox. Компактный, мощный и экономичный вариант для запуска множества виртуалок.

Поиск железа в Сербии

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

Искал я на самом популярном сайте объявлений в Сербии - https://kupujemprodajem.com. Официальные сети магазинов электроники не рассматривал, так как они предлагают очень маленький выбор и только последние модели мини компьютеров. Цена из-за этого оказывается неоправданно высокой. eBay и другие аукционы, которые работают в Европе не имеет смысла рассматривать из-за ввозных пошлин (я бы заплатил как минимум 20% сверху).

Вот линейки моделей которые были мне интересны:

  • Lenovo ThinkCentre Tiny
  • Dell OptiPlex Micro
  • HP Elitedesk/Prodesk Mini

Бюджет на этот ПК я себе поставил в 250 евро. Самый большой выбор подходящих вариантов был среди Lenovo. Вот что я нашел:

МодельCPURAMЦенаКомментарий
M720qi5-8500T8GB€180Хорошая цена, но мало RAM для моих задач
M920qi7-8700T16GB€250Выбрал этот - лучшее соотношение
M910qi7-7700T16GB€240Старшее поколение CPU, чуть слабее
HP EliteDesk 800 G4i5-850016GB€280Дороже без преимуществ

В итоге взял Lenovo ThinkCentre M920q с i7-8700T, 16GB RAM и NVMe SSD 256GB за 250 евро. Продавец оказался сервисом который продает десятки таких БУ компов. Там же докупил еще плашку памяти на 16GB за 30 евро.

Итого: 280 евро за железо.


Технические характеристики

Вот что я получил за свои деньги:

Полное описание системы (спойлер)

Базовая информация

  • Model name: Lenovo ThinkCentre M920q
  • Model number: S35M00
  • Machine Type: 10RR
  • Form factor: Tiny (1L)

Процессор

  • CPU: Intel Core i7-8700T
  • Ядра/Потоки: 6 ядер / 12 потоков
  • Базовая частота: 2.4 GHz
  • Turbo частота: 4.0 GHz
  • TDP: 35W
  • Поколение: 8th Gen Intel (Coffee Lake)

Память

  • RAM: 2x16GB DDR4

Накопитель

  • Тип: NVMe SSD
  • Объём: 256GB
  • Интерфейс: M.2 PCIe
  • Доп слот: Sata 2.5" SSD

Особые фичи

  • Intel AMT (vPro): Возможность удаленного управления (управление питанием, удаленный доступ KVM)

Фотографии

Lenovo M920q в работе

Мой текущий сетап

Вид спереди

Кнопка питания, разъемы для наушиков и микрофона, thunderbolt 3, USB. Также за передней панелью находится маленький встроенный динамик

Вид сзади

Все необходимые порты: DisplayPort, USB, HDMI, Ethernet

Внутренности

Внутри: доступ к трею c sata для подключения дополнительного диска

Отсек с NVMe и оперативной памятью

Два слота SODIMM, M.2 слот

Сравнение размера с мышкой MX Master 3S

Сравнение размера с мышкой MX Master 3S

Энергопотребление и шум

Для сервера работающего 24/7 важны энергопотребление и уровень шума. i7-8700T имеет TDP всего 35W, что делает его очень экономичным:

  • В простое: ~10-15W - при минимальной нагрузке система почти не потребляет энергии
  • Средняя нагрузка: ~20-25W
  • Максимальная нагрузка: до 35W - при полной загрузке всех ядер

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

Температуры: В простое CPU держит 40-50°C, под нагрузкой 70-80°C. Система охлаждения справляется отлично, троттлинга не наблюдалось.


Установка Proxmox VE

Что такое Proxmox и почему именно он?

Так как я хочу запускать виртуальные машины, мне нужен гипервизор. Я выбрал Proxmox VE (Virtual Environment), открытую платформу виртуализации на базе Debian Linux, которая позволяет управлять виртуальными машинами и контейнерами через удобный веб-интерфейс.

Для домашней лабы Proxmox это, как мне кажется идеальный, вариант. Он бесплатный и с открытым исходным кодом. В отличие от того же VMware ESXi, который либо платный, либо сильно ограничен в бесплатной версии, Proxmox дает все возможности сразу. Платная подписка нужна только если хочется корпоративную поддержку, но для домашнего использования она не нужна.

В Proxmox из коробки есть все что нужно: бекапы, снапшоты, мониторинг ресурсов. Можно начать с одного сервера, а потом добавить еще и объединить их в кластер.

VM vs LXC: В чем разница и что выбрать?

В Proxmox есть два способа запустить что-то:

Виртуальные машины (VM) — Классический вариант. Это по сути полноценная эмуляция компьютера. Изоляция тут максимальная — каждая VM это отдельный изолированный мир. Но за это приходится платить: VM потребляет больше оперативки и процессора, загружается дольше, и в целом имеет накладные расходы на виртуализацию железа.

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

Процесс установки

Установка Proxmox довольно простая, но есть несколько важных моментов. Полная официальная инструкция: https://www.proxmox.com/en/products/proxmox-virtual-environment/get-started

Основные шаги:

  1. Скачиваем ISO образ с официального сайта
  2. Записываем на флешку (Balena Etcher для macOS, Rufus для Windows)
  3. Загружаемся с флешки (F12 для Boot menu на Lenovo)
  4. Выбираем графическую установку

Важные моменты при установке:

  • Диск: Proxmox установится на весь выбранный диск, стирая все данные
  • Сеть: Лучше сразу настроить статический IP адрес вместо DHCP - так проще будет подключаться к веб-интерфейсу
  • Hostname: Задайте понятное имя (например, homelab-01.local)
  • Пароль root: Используйте сложный пароль - это будет главный доступ ко всей системе

После установки Proxmox доступен через веб-интерфейс на https://<proxmox_ip>:8006/. Логин: root, пароль тот что задали при установке.

Веб-интерфейс Proxmox

Веб-интерфейс Proxmox после установки


Тестирование Intel AMT / vPro

Теперь самое интересное — тестирование Intel vPro. Перед покупкой этого мини ПК я даже не слышал про эту технологию, но увидев наклейку на корпусе с надписью Intel vPro решил загуглить и в итоге углубился в эту довольно интересную тему. Интересно что нигде в спецификациях к этой модели или к другим похожим моделям нет ни слова про vPro и AMT. Я не уверен что даже в компаниях где изначально работали эти ПК кто-то из IT знает про этот функционал.

Что такое Intel AMT?

Intel AMT (Active Management Technology) — это технология от компании Intel, встроенная в некоторые процессоры и материнские платы для компьютеров. Она позволяет IT-специалистам удалённо управлять ПК: мониторить состояние, обновлять ПО, включать/выключать машину, даже если компьютер выключен или операционная система не загружается. Это можно сравнить с IPMI на серьезных серверах, но IPMI обычно имеет свой отдельный сетевой интерфейс.

Включение AMT в BIOS

Примечание: Точные пути в меню могут отличаться в зависимости от версии BIOS. Ниже описаны общие шаги для Lenovo ThinkCentre M920q.

  1. Заходим в BIOS (нажимаем F1 при загрузке)
  2. Идем в раздел AdvancedIntel(R) Manageability
    BIOS настройки AMT

    Включение Intel AMT в BIOS

  3. Включаем Intel Manageablility Control: выбираем “Enabled”
    BIOS AMT опции

    Дополнительные опции AMT в BIOS

  4. Опционально: можно сбросить конфигурацию AMT через Intel Manageability Reset (если на AMT уже стоит пароль который вы не знаете)
  5. Сохраняем изменения (F10) и перезагружаемся
  6. После перезагрузки, чтобы попасть в MEBx (Management Engine BIOS Extension), нужно нажимать Ctrl+P во время загрузки

Дисклеймер: Комбинации клавиш (F1, Ctrl+P) могут отличаться на других моделях ПК. Для Dell часто используется F2, для HP — F10.

Настройка AMT

После того как мы успешно вошли в MEBx при загрузке компьютера, можем настроить AMT.

MEBx главное меню

Главное меню MEBx при первом входе

  1. Логин: Используйте дефолтные учетные данные для первого входа admin/admin
  2. Смена пароля: Система сразу попросит задать новый пароль
    • Минимум 8 символов
    • Должен содержать: цифры, строчные и заглавные буквы, спецсимволы
    • Например: MyAmtPass123!
MEBx конфигурация AMT

Настройка параметров Intel AMT в MEBx

  1. Network Setup: Можно настроить IP адрес по которому будет доступен менеджмент интерфейс
    • DHCP: Автоматическое получение IP
    • Static IP: Если нужен статический адрес, укажите IP, маску, шлюз
  2. Activate Network Access: Активация доступа к AMT по сети
  3. User Consent (уровень согласия пользователя):
    • None — удаленный доступ без подтверждения (удобно для домашнего использования, когда компьютер стоит без монитора и периферии)
    • KVM only — требуется согласие только для KVM сессий
    • All — требуется подтверждение для всех операций (безопаснее для корпоративной среды)
  4. Сохранение: Выходим из MEBx с сохранением (ESC → Yes)

Важно! - Безопасность Intel AMT:

Intel AMT — это мощный, но потенциально опасный инструмент. Он работает ниже уровня операционной системы и доступен даже когда компьютер выключен (если подключено питание и сеть).

Что нужно сделать обязательно:

  • Использовать сложный пароль
  • Никогда не открывать порт AMT (16992) напрямую в интернет

Почему это важно: Если кто-то получит доступ к AMT, он сможет полностью контролировать компьютер: видеть экран, управлять системой, монтировать ISO образы, даже когда ОС выключена. Это как физический доступ к компьютеру, но по сети.

Для домашней сети за NAT это обычно безопасно, но будьте осторожны при настройке удаленного доступа.

Тестирование удалённого доступа

После включения AMT я нашел его DHCP IP адрес с помощью скана сети nmap. Открыть веб интерфейс можно зайдя в браузере по адресу http://<amt_ip>:16992. Логинимся с юзером admin и паролем который мы поставили и оказываемся вот в таком интерфейсе:

AMT веб-интерфейс

Веб-интерфейс Intel AMT — главная страница с информацией о системе

Тут видно какие-то общие данные о системе. Можно посмотреть более детальную информацию о железе (процессор, модули оперативки, диск). Самое главное что тут есть находится во вкладке Remote Control:

AMT управление питанием

Управление питанием через веб-интерфейс AMT

Мы можем включить/выключить/перезагрузить. Но… как подключиться к компьютеру удаленно с дисплеем клавиатурой и мышкой?

В этом интерфейсе - никак, для этого нужно отдельное ПО. Выбор для этого не очень большой. На macos единственное что я могу использовать это MeshCommander. (Пока искал варианты, нашел гайд для подключения с Linux, но не проверял работает ли - https://www.cyberciti.biz/faq/remotely-access-intel-amt-kvm-linux-desktop/)

MeshCommander

MeshCommander - Это открытое ПО для управления компьютеров с Intel AMT. Это кроссплатформенное решение, написанное полностью на JavaScript, которое работает на Windows, Linux и macOS. На Windows установить легче всего, потому что есть простой установщик. А вот для остальных ОС нужно запускать локальный веб сервер через Nodejs.

Я использовал следующий способ на macOS:

  1. Создал директорию и перешел в нее
    mkdir meshcommander && cd meshcommander
    
  2. Скачал пакет meshcommander из NPM
    npm install meshcommander
    
  3. Запустил с помощью node:
    node node_modules/meshcommander
    
  4. После этого можно зайти по адресу http://127.0.0.1:3000 в браузере
MeshCommander

Интерфейс MeshCommander

MeshCommander KVM session

Пример подключения к хосту для удаленного управления

Возможности

С помощью MeshCommander можно сделать сильно больше чем просто с веб интерфейсом AMT на самом устройстве:

  • KVM (Keyboard, Video, Mouse) - удалённый доступ к экрану, клавиатуре и мыши через браузер
  • Serial-over-LAN - доступ к консоли через сеть
  • IDER (IDE Redirection) - монтирование ISO образов удалённо

Важно: KVM работает только с интегрированной графикой Intel. Если используется дискретная видеокарта или монитор отключен без HDMI dummy plug, изображение может быть недоступно.

В будущем я планирую докупить себе такую HDMI dummy plug, но пока мне хватит удаленного включения/выключения.

Заключение

Я очень рад, что в отличие от предыдущих моих попыток углубиться в сетап своей домашней лабы, в этот раз я все таки смог пройти дальше этапа с поиском сервера. Меня очень удивило что все таки я смог найти идеальный для себя вариант - маленький, тихий и не очень дорогой. Чувства после использования Intel AMT оказались довольно смешанными. С одной стороны это вообще чудо, что простой ПК имеет такие возможности для удаленного управления, но с другой стороны абсолютное отсутствие документации и странные проприетарные протоколы, которые требуют особого софта.

Что дальше?

В следующей части расскажу как я настраивал Proxmox после первичной установки, как разворачивал виртуальные машины и LXC контейнеры с сервисами. Покажу как развернуть и настроить Cloudflare Tunnel для доступа к сервисам из интернета без необходимости публичного IP или проброса портов, а также простое и гибкое VPN решение.


Ссылки