Создаем виртуальный роутер на платформе Proxmox

Прокомментировать Просмотры: 105

Наш объект тестирования — мини-ПК Firebat R1

Зачем это нужно?

Современные домашние сети требуют куда большего, чем просто «выдать IP и дать доступ в интернет». Мне хотелось изолировать серверы в отдельную подсеть, развернуть VPN для удалённого доступа, убрать рекламу на устройствах без Adblock и многое другое.

Примерно подсчитав объём своих задач и добавив запас «на вырост», я сравнил цены на MikroTik hAP ax³ и наткнулся на идею: «А не взять ли за те же деньги пассивный мини-ПК с куда более производительным железом?» Следующая мысль была очевидна: «Раз уж мощности так много, пусть запустятся виртуалки для других мелких сервисов».

И вот на одном из маркетплейсов я нашёл Firebat R1: бесшумное пассивное охлаждение, четыре порта по 2.5 Гбит/с, процессор Intel N100, 16 ГБ оперативки и SSD на 512 ГБ.

Подготовка системы

Первым делом я установил Proxmox VE на Firebat R1. Процесс стандартный, поэтому остановлюсь лишь на сетевой настройке под будущую архитектуру:

Начальная конфигурация сети в Proxmox
Стартовая конфигурация интерфейсов, порядок соответствует портам на корпусе

Чтобы отделить серверы в отдельную подсеть, я удалил дефолтный мост и создал три новых: WAN, SRV и LAN. Мост SRV сразу получил статический IP и стал основным для подключения Proxmox.

Настройка моста SRV в Proxmox
Настройка статического адреса для моста SRV, остальные мосты настраиваем аналогично

В итоге все нефильтрованные интерфейсы я перекинул под мост LAN для упрощения управления.

Мост LAN объединяет оставшиеся порты
Мост LAN включает все оставшиеся интерфейсы для упрощения сети

Не забудьте обновить /etc/hosts новым IP адресом Proxmox, чтобы избежать потери соединения.

Обновление /etc/hosts

Внимание: после этих изменений связь с гипервизором прервётся. Переключите кабель на интерфейс SRV, задайте статический IP на ПК и подключитесь по новому адресу.

Далее создаём виртуальную машину: 2 ядра, 4 ГБ ОЗУ, диск 32 ГБ. Сетевые адаптеры пока не трогаем — добавим их позже.

Создание VM в Proxmox
Стандартные параметры виртуальной машины

В разделе Hardware добавляем сетевые устройства, привязанные к мостам WAN, SRV и LAN (Firewall внутри VM отключаем). Адаптеры в гостевой ОС будут пронумерованы в порядке добавления.

Добавление сетевого устройства
Добавляем сетевые мосты в список аппаратных устройств VM
Итоговая конфигурация сетевой карты VM
Итоговое расположение сетевых адаптеров внутри VM

Запускаем VM и проходим мастер настройки сети вручную, распределяя интерфейсы согласно их ролям.

Ручная настройка сети в установщике OPNsense
Переходим в ручной режим для точного указания ролей интерфейсов
Подтверждение настроек сети
Проверяем указанные параметры и подтверждаем их

После этого установщик OPNsense запросит учётные данные: логин installer, пароль opnsense, после чего начнётся процесс установки ОС.

Установка OPNsense

Процедура стандартна: соглашаемся со всеми пунктами, на этапе выбора ZFS выбираем тип stripe, чтобы не расходовать ресурсы на избыточное резервирование.

Выбор ZFS-stripe
Опция ZFS-stripe подходит для образа диска без дублирования данных

После перезагрузки система готова: переключаем кабель на LAN-интерфейс и разрешаем автоматическое получение IP на ПК.

Готовность OPNsense

Начальная настройка OPNsense

Если всё прошло успешно, вы получите IP по DHCP от LAN-интерфейса.

IP от LAN-интерфейса

Затем переходим по адресу шлюза, логинимся под root/opnsense и запускаем мастер первоначальной конфигурации, аналогичный настройке любого роутера.

Мастер настройки OPNsense
Встроенная поддержка PPPoE избавляет от дополнительных шагов

Интернет уже работает, но нам нужна отдельная подсеть для серверов — займёмся её добавлением.

Создание подсети для серверов

В ходе установки к мосту SRV был привязан интерфейс OPT1. Переименовываем его, выбираем IPv4 Configuration Type → Static и задаём адрес шлюза для новой подсети.

Настройка интерфейса OPT1
Переименование интерфейса и выбор статической конфигурации
Задание IP и маски
Ввод IP-адреса шлюза и корректная маска подсети

Переходим в Services → Dnsmasq, на вкладке General добавляем нашу подсеть, а в DHCP Ranges создаём диапазон выдачи адресов.

Диапазон DHCP для новой подсети
Задаём границы диапазона, маска при этом необязательна

Теперь добавим правила фаервола: копируем первое правило из LAN, меняем интерфейс на SRV и настраиваем Source/Destination.

Правило фаервола для SRV

Важно: Source — где находится инициатор, Destination — куда направлен трафик. В данном случае разрешаем движение из LAN в SRV.

Правило фаервола для LAN
Обратное правило для LAN — разрешаем трафик из SRV

Проверяем: из сети LAN должен быть доступен веб-интерфейс Proxmox по его IP.

Выводы

Мы получили компактный, бесшумный и энергоэффективный «маршрутизатор», который работает 24/7 и при этом тянет виртуальные машины и дополнительные сервисы: умный дом, реверс-прокси и многое другое.

Интересное наблюдение

В качестве теста я поднял VM с Fedora и замерил скорость соединения — результаты оказались скромными для выделенных ресурсов.

Тест скорости из VM

Для сравнения сделал замер с самого мощного устройства в сети — там скорость выше, но до полного гигабита не дотянули.

Скорость на мощном устройстве

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

 

Источник

Похожие статьи

Поиск по играм, новостям и статьям…

Введите не менее двух символов

Введите не менее двух символов