Автору надоело терпеть тормоза и ограничения роутера от провайдера, и он собрал собственный homelab. Взял за основу роутер MikroTik L009UiGS-RM — компактный, с кучей гигабитных портов и PoE, чтобы запитать точку доступа без отдельного блока питания.
Прежде чем настраивать «железо», надо понять, как провайдер раздаёт интернет. Есть два независимых параметра: тип аутентификации (IPoE — просто DHCP, или PPPoE — логин и пароль, иногда поверх VLAN) и тип IPv4-адреса (публичный или приватный, что почти всегда означает CGNAT). У автора в Польше — PPPoE поверх VLAN 35 с приватным адресом. Провайдеры часто привязывают услугу к MAC-адресу своего роутера, поэтому MAC пришлось скопировать с родного устройства на порт ether1. Потом автор добавил VLAN-интерфейс (internet-vlan-35) и на нём поднял PPPoE-клиента (pppoe-out1) с учётными данными от ISP.
Для WiFi автор взял отдельную точку доступа wAP и запитал её через PoE с порта ether8. Настроил централизованное управление через CAPsMAN — роутер стал контроллером, а точка доступа сама подхватила конфигурацию для 2.4 и 5 ГГц.
Главная проблема вылезла в обычный вечер: во время игры в Counter-Strike одновременно запустились обновление iOS и загрузка фото в облако. Пинг скакал — классический bufferbloat. Когда канал забивается, пакетные буферы в оборудовании переполняются, и маленькие пакеты игры встают в очередь за огромными файлами.
Решение — FQ-CoDel. Это дисциплина очереди, которая делит трафик на множество мелких потоков, даёт каждому честную долю и отбрасывает задержавшиеся пакеты. Автор создал queue type с именем fq-codel и применил его к простой очереди (simple queue) на интерфейсе pppoe-out1. Важно: максимальный лимит (max-limit) надо ставить чуть ниже реальной скорости — примерно 90–95% от замера, чтобы узкое место было на роутере, где FQ-CoDel может управлять очередью. Ещё пришлось отключить Fast Track в фаерволле, потому что он пропускает пакеты мимо очередей. После этих настроек bufferbloat ушёл, и тест Cloudflare Speed Test показал уже нормальный результат.