mysurik.ru

Как я настраивал OpenWRT на VM 200 и пожалел, что не сделал это раньше

Homepage статичный дашборд для сервера

Зачем мне OpenWRT на виртуалке

У меня дома стоит обычный роутер от провайдера. Он работает, но интерфейс убогий, настроек мало, и я не могу поставить свой VPN-сервер или adblock на уровне роутера. Покупать нормальный роутер за 10 тысяч рублей не хотелось.

Решение: поднять OpenWRT в виртуальной машине на Proxmox и сделать его основным шлюзом. OpenWRT — это Linux-дистрибутив для роутеров, легковесный и настраиваемый до мурашек.

Установка

Скачал образ OpenWRT для x86_64 (generic-ext4-combined.img.gz). Создал ВМ в Proxmox: 256 MB RAM, 1 ядро, 2 GB диск. Сеть: две виртуальные сетевухи — одну в бридж с физической сетью (WAN), вторую для внутренней сети (LAN).

Загрузился с образа, установка заняла минуту. После перезагрузки зашёл через веб-интерфейс LuCI по адресу 192.168.1.1. Выглядит спартански, но всё нужное есть.

Настройка

Первым делом настроил WAN через DHCP (чтобы получать IP от провайдера). LAN — статика 192.168.10.1. Поднял DHCP-сервер на LAN, чтобы устройства получали адреса автоматически.

Потом — самое интересное: AdBlock. Поставил пакет luci-app-adblock, настроил списки блокировки рекламы. Теперь на всех устройствах дома реклама не показывается, даже на телевизоре.

VPN-сервер. Поднял WireGuard внутри OpenWRT за 5 минут. Теперь подключаюсь к дому из любого места через телефон. Всё работает через стандартный клиент WireGuard, ничего дополнительно ставить не надо.

SQM QoS. OpenWRT умеет управлять пропускной способностью, чтобы торренты не забивали канал. Я настроил SQM на 90% скорости провайдера — теперь даже когда качаю файлы, сайты открываются мгновенно.

Стабильность

OpenWRT на VM 200 работает уже больше месяца без единой перезагрузки. Памяти жрёт около 100 MB. Нагрузка на CPU — почти нулевая. Для таких задач больше и не надо.

Единственный минус — если Proxmox хост перезагружается, OpenWRT стартует вместе с ним, и пока он не поднялся, интернета нет. Раньше с физическим роутером интернет появлялся быстрее. Я решил это настройкой автозапуска ВМ в Proxmox.

Стоит ли игра свеч

Если у вас уже есть сервер с Proxmox — OpenWRT в ВМ отличное бесплатное решение для полноценного роутера. Если сервера нет — проще купить роутер с OpenWRT за 2-3 тысячи.

Файрвол и безопасность

OpenWRT использует iptables под капотом, и я сначала побоялся лезть в эти дебри. Оказалось, зря. Веб-интерфейс позволяет настроить базовые правила за пару кликов. Я открыл только 80-й порт для AdBlock API и 51820 для WireGuard. Всё остальное закрыто по умолчанию — и это правильно.

Проверил уязвимости через ShieldsUP! — все порты в режиме stealth. Провайдерский роутер так не умел, он просто пробрасывал всё наружу, и я даже не знал об этом. OpenWRT меня подстраховал.

VLAN и гостевые сети

Одна из фишек, ради которой я всё это затевал — отдельная гостевая сеть. У меня дома часто бывают друзья, и мне не хотелось давать им доступ к моим NAS и серверам. В OpenWRT я создал второй SSID на той же физической точке доступа (TP-Link в режиме Access Point), привязал его к отдельному VLAN и настроил правила файрвола — гостевой трафик ходит только в интернет, до локальной сети доступа нет.

Настройка заняла 15 минут, хотя я впервые делал такое. Гуглил, конечно, по пути, но в итоге всё заработало с первого раза. Обычно я записываю такие вещи в заметки, но тут OpenWRT настолько прозрачный, что и без шпаргалки можно разобраться.

Что пошло не так

Пара моментов, которые меня подставили. Первый — DNS. Я поставил AdBlock, забыл настроить резолвер, и через час заметил, что некоторые сайты не открываются. Оказалось, пакет dnsmasq-full нужно было переконфигурировать, чтобы он слушал на правильном интерфейсе.

Второй — производительность диска. Я дал ВМ 2 ГБ на виртуальном диске, и этого хватило для системы и логов. Но если логи включить на полную катушку, диск забивается за пару недель. Пришлось ограничить размер логов через logrotate. Настройка банальная, но я про неё забыл.

Третий — скорость. OpenWRT в виртуалке работает чуть медленнее, чем физический роутер, из-за виртуализации сетевых карт. На моём канале 100 Мбит разница незаметна, но при 500+ Мбит уже может быть просадка. Для дома — нормально, для офиса лучше физическое железо.

Бэкап конфига

Самое приятное в OpenWRT — можно сохранить конфиг одной командой и восстановить за минуту. Я настроил автоматический бэкап на NAS раз в неделю. Если ВМ упадёт — поднимаю новую, заливаю бэкап, и всё работает как раньше. Провайдерский роутер так не умеет от слова совсем.

Ещё советую сразу после настройки экспортировать конфиг через LuCI — System → Backup / Flash Firmware. Там же можно сделать полный сброс, если что-то сломал.

Мои выводы

Я теперь не представляю, как жил без OpenWRT. Да, пришлось повозиться с ВМ, файрволом и VLAN. Да, первый запуск был нервным — боялся, что интернет пропадёт и придётся переключать кабель обратно на провайдерский роутер. Но когда всё заработало и я увидел чистые логи без рекламных запросов — я понял, что оно того стоило.

Сейчас OpenWRT крутится уже второй месяц. Я захожу на неё через WireGuard с телефона, когда нужно глянуть логи или перезапустить сервисы. Ни разу не перезагружал — и это на виртуалке с 256 МБ памяти. Круто.

В общем, если у тебя есть Proxmox — попробуй. Не пожалеешь. А если нет — купи роутер за 1500 рублей и прошей OpenWRT. В любом случае это лучше, чем сидеть на стоковой прошивке провайдера.

Ваш комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *