Зачем?
В наших текущих реалиях требования к роутеру могут быть очень высокими, недостаточно просто "выпускать устройства в интернет". Я хотел выделить сервера в отдельную подсеть, поднять VPN для доступа к устройствам за пределами дома, срезать рекламу на обделенных адблоком устройствах, а дальше хотелки только росли.
Примерно оценив количество хотелок, прикинув количество ресурсов с учетом запаса на будущее и моей недальновидности, а также увидев цены на MikroTik hAP ax³, я подумал: "а почему бы не взять пассивный мини-пк за ту же сумму и получить в разы более мощное железо?", а следующая мысль была "а чего это железо такое мощное будет пустовать? Пусть еще виртуальную мелочевку на себе тащит, ресурсов хватит".
С этими мыслями я на просторах одного из маркетплейсов приобрел себе мини-ПК Firebat R1. Под мои цели он подходил как нельзя лучше: пассивное охлаждение, 4 порта на 2.5 гигабита, Intel N100, 16 гигов ОЗУ и 512 гигов накопитель. Ну не красота ли?

Подготовка систем
Первым делом ставим на наш мини-ПК Proxmox. Установка ничем не примечательна, поэтому детально описывать не вижу смысла. После установки приведем сеть в состояние будущей конфигурации:

Поскольку я хочу сервера отправить в отдельную подсеть, то под это дело надо подготовиться. Удаляем дефолтный мост и создаем три новых, я их обзову WAN, SRV и LAN соответственно, а на мост SRV я сразу же и перевешу сам Proxmox

Получится примерно так:

Не забываем в hosts указать новый адрес, чтобы не ловить грабли как я:

Внимание: на данном этапе мы потеряем связь с гипервизором, так что соединяем интерфейс SRV с ПК, на ПК настраиваем статику и заходим по новому адресу
Далее создаем виртуальную машину. Я выделил под нее 2 ядра и 4 гига, диск 32 гига. Вы можете поиграться с параметрами. Сетевые карты пока не добавляем, это мы сделаем чуть позже. Получилось примерно так:

Теперь идем в созданную ВМку, в раздел Hardware, нажимаем Add → Network Device и добавляем созданные до этого мосты. Учтите, что внутри системы они потом будут нумероваться в порядке добавления. Не забываем снять галочку Firewall, зачем файрволлу файрволл?


После этого запускаем ВМ и проходимся по мастеру настроек:


После этого OPNsense предложит нам залогиниться. Логин installer, пароль opnsense и попадаем в установщик:

Тоже довольно штатная процедура. Проходим все этапы, со всем соглашаемся

После перезагрузки нас встретит уже установленная система. Можем на ПК выставлять автополучение адреса и переключать кабель в LAN интерфейс

Настройка OPNsense
Если все сделано правильно, мы должны от системы получить адрес по DHCP:

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

У нас теперь есть выход в интернет, и в целом роутер готов роутить. Но нам же нужна еще одна подсеть, давайте ее настроим
Дополнительная подсеть для серверов
На самом деле процедура несложная, но надо проявить немного внимания. Итак, мы во время установки привязали наш мост с одним интерфейсом и ждущим нас проксмоксом к интерфейсу OPT1. Идем в Interfaces и находим его, сразу переименовываем и настраиваем IP адресацию:


После этого идем в Services → Dnsmasq, на вкладке General добавляем наш интерфейс, потом идем на вкладку DHCP Ranges и создаем новый диапазон:

Ну и давайте заодно нарисуем правила файрволла. Идем в Firewall → Rules → [LAN] и копируем первое правило. Не забываем изменить интерфейс и источник

На данном этапе у нас есть адреса и даже выход в интернет. Осталось только разрешить клиентам из двух подсетей слушать друг друга. Идем в правила для интерфейса SRV и создаем новое правило. В нем проверям интерфейс и выставляем исходник и назначение

Обратите внимание! Source — откуда идет запрос, Destination — куда он идет. Мы разрешаем маршрут из LAN в SRV
Для интерфейса LAN правило будет наоборот, и составляем его из раздела правил для интерфейса LAN

После этого проверяем работу правил: мы должны находясь в LAN сети попасть на веб-интерфейс нашего Proxmox
Заключение
Вот таким образом мы получили идеальный, не побоюсь данного титула, сервер домашней сети. Такой же бесшумный и экономный, как и обычный роутер, но который будет в режиме 24/7 обслуживать другие сервисы, которым важна непрерывность. Умный дом, обратный прокси, что душа пожелает. А по поводу гибкости OPNsense не стоит и упоминать, система в сообществе хорошо изучена, достаточно статей по настройке различных сервисов, что я в итоге и буду пробовать
В качестве интересного наблюдения
В качестве теста поднял ВМ с федорой и замерил оттуда скорость. Несмотря на солидно выданные ресурсы, Интернетометр меня разочаровал:

Для сравнения тест с самого мощного доступного мне устройства:

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