Мини-ПК MRZNVMS на Ryzen 1505G
Изначально я искал одноплатник с двумя гигабитными портами для OpenWRT, так как мой TP-Link AX5400 оказался носителем процессора Broadcom, что делает установку требуемой прошивки невозможной.
Но свыше был послан пост на DTF с покупкой такого же малыша за сумму дешевле, чем NanoPi R3S. Естественно, я прогрелся на такую халяву — это ведь x86 на рязани. Собственно, это материнская плата с чипом от тонкого клиента Gigabyte GB-BSRE-1505. В продаже их уже нет, но цены на полноценную модель, судя по всему, были 23к+.
На доукомплектацию взял:
- 2×4 GB SO-DIMM DDR4 — 2к рублей
- Блок питания 19 V 65 W — 500 р
- Вместо SSD воткнул диск на 64 GB, который остался от апгрейда стимдека (для него пришлось напечатать удлинитель до формата 2242)
- Заменил комплектные пластиковые ножки на металлические
Короче, это вышло всего на косарь дороже, чем нанопай, а собственно 6400, так что я мегадоволен.
Соответственно, план сделать следующую схему: Интернет -> MRZNVMS с OpenWRT -> AX5400 -> Домашние клиенты
AX5400 переведён в режим моста, просто раздаёт Wi-Fi и расширяет физические порты. На мини-ПК был развёрнут Proxmox — это Debian с оболочкой для удобного управления кучей виртуалок.
После установки Proxmox я поверил в себя и решил развернуть каждый сервис в своей виртуалке. Начал с OPNsense — и всё прошло хорошо, но когда попытался установить DPI-дырку в общий интернет, не справился с управлением. Прикинув, что там ещё предстоит прикрутить AdGuard, VLESS и прочие непростительные заклинания, я забил болт, накатил рядом виртуалку с OpenWRT, потом отключил OPNsense — и буквально за 40 минут всё подкопанное было запрещено. Как бонус DNS-сервером был выбран AdGuard, что вырезало рекламу в мобильных приложениях.
Честно, я попытался установить отдельный AdGuard Home, но он почему-то блокировал некоторые сервисы. Мне стало лень разбираться — просто установить адрес DNS от AdGuard оказалось достаточно для моих нужд.
OpenWRT позволяет настроить Smart Queue Management: на слабых роутерах гигабитный канал может сильно грузить процессор, но на x86 проблем нет. Эта фича позволяет ценой максимальной скорости интернета повысить качество соединения — мы не забиваем канал оператора полностью, и из-за этого в играх становится лучше средний показатель пинга. Кому интересно — почитайте про bufferbloat.
На скринах в маленькой таблице справа снизу видна разница, раньше при загрузке, когда канал полностью забит, задержка 5% времени составляла 113мс с пиками до 300мс, после оптимизации не поднималась выше 59мс.
Что в итоге — я доволен, сервер летает, есть задел на будущие эксперименты и расширение сети. Если есть возможность и не важна максимальная энергоэффективность, ищите x86-варианты с поддержкой виртуализации для своих решений: это практически вечный роутер. Обновлять коммутаторы и точки доступа Wi-Fi можно отдельно от него, по мере необходимости и выхода новых моделей, а его стоимость выходит немногим больше, чем у одноплатников. Конечно, роутер с поддержкой OpenWRT можно купить за 3к, но когда придёт время обновляться на новые технологии, он станет бесполезным хламом — у меня таких в коробке уже скопилось около 5 штук(