Разложил домашнюю сеть по VLAN и перестал бояться пылесоса
Поводом стал не взлом и не паранойя, а банальность: робот-пылесос начал раз в час стучаться куда-то наружу, а телевизор при каждом включении устраивал широковещательный шторм на пол-минуты. Всё это жило в одной плоской сети с ноутбуками и NAS.
План был такой: три сегмента — доверенный, гостевой и «интернет вещей». Между собой не общаются, наружу ходят все, в NAS попадает только первый.
Схема
vlan10— рабочие машины, телефоны, NASvlan20— гости, только интернетvlan30— лампочки, розетки, пылесос, телевизор
Порт в сторону точки доступа — транковый, остальные доступные, каждый со своим PVID. Ничего экзотического, но именно на этом месте я и потерял вечер.
Где я споткнулся
Включить фильтрацию на бридже, сидя по SSH через этот же бридж, — плохая идея. Как только фильтрация поднялась, мой собственный порт оказался без нужного тега, и связь отвалилась мгновенно. Спасло только то, что я заранее поставил отложенный сброс:
/system scheduler add name=undo start-time=startup \
interval=8m on-event="/system reset-configuration no-defaults=yes"
После успешной настройки шедулер, разумеется, надо удалить. Я чуть не забыл — вспомнил, когда до срабатывания оставалось около минуты.
Второй сюрприз: управление роутером надо явным образом привязать к доверенному VLAN, иначе интерфейс остаётся доступен откуда угодно, в том числе из гостевого сегмента. Проверять это лучше не с ноутбука, а с телефона, подключённого к гостевому Wi-Fi.
Что получилось
Широковещательный шум телевизора теперь никого не трогает. Пылесос по-прежнему куда-то ходит, но хотя бы не видит файловое хранилище. Гостевой Wi-Fi перестал быть формальностью.
Если бы делал заново — сначала поднял бы отдельный порт для управления и только потом трогал бридж. Полчаса подготовки против вечера паники.
Следующим шагом хочу закрыть межсегментные обращения не только маршрутизацией, но и правилами явно, чтобы случайный статический маршрут не открыл дырку молча.