Выполняйте шаги последовательно и сохраняйте резервную копию. Названия пунктов могут незначительно отличаться в разных версиях прошивки.
Подготовка RouterOS перед настройкой
Прежде чем создавать интерфейсы и добавлять peer-ов, стоит привести роутер в предсказуемое состояние. Обновите RouterOS до актуальной стабильной версии — WireGuard в ранних релизах седьмой ветки работал нестабильно, а часть багов с производительностью и утечками памяти исправили только в поздних сборках. Проверяйте канал обновлений: для домашнего использования выбирайте stable, а не testing или development, потому что тестовые ветки чаще ломают уже работающие сценарии.
Перед любыми изменениями сделайте экспорт текущей конфигурации без чувствительных данных — это позволит быстро сравнить состояние роутера до и после и откатиться при необходимости. Дополнительно сохраните полный бэкап через System → Backup, который в отличие от export содержит бинарный снимок всех настроек, включая пользователей и сертификаты.
Ещё один важный подготовительный шаг — зафиксировать IP-адреса ключевых домашних устройств через статические DHCP-lease. Если адрес телевизора, консоли или рабочего компьютера может измениться при перезагрузке, все последующие правила policy routing и firewall станут ненадёжными. Откройте IP → DHCP Server → Leases и переведите нужные записи в статический режим.
Наконец, проверьте точное время на роутере: рассинхронизация часов иногда приводит к странному поведению туннеля и сертификатов на других сервисах. Синхронизируйте время через NTP-клиент, встроенный в RouterOS, прежде чем переходить к следующему шагу.
/system package update check-for-updates
/system package update install
/export hide-sensitive file=before-wireguard
/system backup save name=before-wireguard
/system clock print
/system ntp client set enabled=yes servers=pool.ntp.orgНе выполняйте обновление и настройку туннеля удалённо без резервного канала доступа: при ошибке в firewall можно потерять управление роутером.
Создание интерфейса и добавление peer
В RouterOS v7 WireGuard представлен как отдельный тип интерфейса, а не отдельный пакет, поэтому настройка укладывается в несколько команд. Сначала создаётся сам интерфейс с приватным ключом и MTU, затем к нему привязывается один или несколько peer — удалённых серверов или клиентов, с которыми интерфейс должен обмениваться трафиком.
Приватный ключ вводится только в сам интерфейс, а публичный ключ удалённой стороны — только в описание peer. Это разделение иногда путает новичков, привыкших к единому конфигурационному файлу WireGuard, но по сути делает то же самое, просто через две отдельные сущности RouterOS.
Обратите внимание на параметр persistent-keepalive: для клиента за NAT провайдера значение 25 секунд обычно оптимально — оно достаточно частое, чтобы удерживать отображение порта на NAT-устройствах между роутером и сервером, но не создаёт заметной лишней нагрузки на канал.
- 1Создайте интерфейс wireguard с приватным ключом и MTU 1380.
- 2Назначьте интерфейсу IP-адрес из выданного профиля.
- 3Добавьте peer с публичным ключом сервера и endpoint.
- 4Укажите allowed-address 0.0.0.0/0 для полного туннеля.
- 5Включите persistent-keepalive 25 секунд для стабильности за NAT.
/interface wireguard add name=wg-home mtu=1380 private-key="<PRIVATE_KEY>"
/ip address add address=10.8.0.2/32 interface=wg-home
/interface wireguard peers add interface=wg-home public-key="<SERVER_PUBLIC_KEY>" endpoint-address=<SERVER_HOST> endpoint-port=51820 allowed-address=0.0.0.0/0 persistent-keepalive=25Нужны параметры без ручного подбора?
Получите готовый профиль для своего роутера — ключи, endpoint и параметры обфускации уже заполнены.
Получить готовую конфигурациюМаршрут для всего дома или отдельная таблица
Есть два принципиально разных сценария использования туннеля. В первом весь трафик домашней сети идёт через VPN — тогда достаточно добавить обычный маршрут по умолчанию через интерфейс wg-home. Во втором сценарии через туннель должны ходить только избранные устройства, а остальная сеть работает напрямую через провайдера — для этого нужна отдельная таблица маршрутизации и правила routing rule.
Второй подход надёжнее для домашних сетей смешанного назначения: например, рабочий ноутбук и умные колонки лучше держать вне туннеля, чтобы не терять локальные сервисы и не зависеть от стабильности VPN-сервера, а телевизор или игровую консоль, наоборот, направить через AmneziaWG или WireGuard для обхода региональных ограничений.
Список устройств для туннелирования удобно вести через address-list: так вы можете быстро добавлять и убирать устройства без пересоздания правил маршрутизации, просто редактируя список IP-адресов.
/routing table add name=via-wg fib
/ip route add dst-address=0.0.0.0/0 gateway=wg-home routing-table=via-wg
/ip firewall address-list add list=wg-clients address=192.168.88.20 comment="Smart TV"
/ip firewall address-list add list=wg-clients address=192.168.88.30 comment="Game console"
/routing rule add src-address-list=wg-clients action=lookup-only-in-table table=via-wgЕсли нужен туннель для всей сети, замените routing rule на обычный маршрут по умолчанию с меньшим distance, чем у маршрута провайдера.
NAT, DNS и firewall для туннеля
Без правила masquerade на выход в туннель удалённый сервер не будет знать, как вернуть пакеты в вашу локальную сеть, поэтому это правило обязательно для типичной клиентской схемы. Настройте его так, чтобы масштарадинг применялся только к трафику, выходящему через интерфейс wg-home, не затрагивая обычный WAN.
DNS можно оставить на резолвере роутера с разрешением запросов из локальной сети — это упрощает диагностику утечек, поскольку все запросы проходят через один узел, который легко проверить логированием. Альтернативный вариант — раздавать клиентам DNS-сервер VPN-провайдера через DHCP option, тогда устройства будут резолвить имена напрямую через туннель.
Отдельно стоит настроить базовые правила firewall для интерфейса wg-home: закрыть input с внешней стороны туннеля, но разрешить forward для трафика, уходящего в него из локальной сети. Это защитит роутер от нежелательных подключений через туннель, оставив полезную функциональность нетронутой.
/ip firewall nat add chain=srcnat out-interface=wg-home action=masquerade
/ip dns set servers=1.1.1.1,9.9.9.9 allow-remote-requests=yes
/ip firewall filter add chain=input in-interface=wg-home action=drop comment="Block unsolicited from VPN"
/ip firewall filter add chain=forward out-interface=wg-home action=accept comment="Allow LAN to VPN"Получить готовый конфиг
Если не хотите собирать профиль вручную, возьмите готовую конфигурацию и продолжайте инструкцию с шага импорта.
Получить готовую конфигурациюДиагностика соединения в RouterOS
После применения конфигурации проверьте состояние peer командой print detail: важны два поля — last-handshake и счётчики rx/tx. Если last-handshake отсутствует или обновлялся давно, проблема на уровне сети до появления трафика внутри туннеля — чаще всего неверный endpoint, порт или ключи.
Если рукопожатие проходит успешно, но интернет через туннель не работает, переходите к проверке маршрутов и NAT: убедитесь, что нужный трафик действительно попадает в таблицу via-wg, а не уходит через основной маршрут по умолчанию. Команда traceroute с указанием routing-table наглядно покажет, через какой интерфейс реально идут пакеты.
Полезно также проверять MTU отдельно от общей настройки сети: слишком большое значение проявляется специфично — маленькие запросы вроде DNS работают нормально, а загрузка страниц с крупными объектами подвисает или обрывается.
/interface wireguard peers print detail
/ip route print where routing-table=via-wg
/tool traceroute 1.1.1.1 routing-table=via-wg
/ping 1.1.1.1 size=1400 do-not-fragmentНесколько peer и балансировка нагрузки
RouterOS позволяет добавить к одному интерфейсу WireGuard несколько peer, что удобно, если у вас есть доступ к разным серверам VPN-провайдера в разных регионах. Каждый peer описывается собственным allowed-address, поэтому можно направлять разные подсети или конкретные адреса через разные удалённые узлы без создания дополнительных интерфейсов.
Для сценария с двумя независимыми серверами практичнее всё же создать два отдельных интерфейса wireguard и переключаться между ними через routing rule с разным приоритетом, а не смешивать всё в одном peer-листе — так проще диагностировать проблемы и быстро откатиться на резервный сервер при сбое основного.
Обслуживание конфигурации
После первичной настройки полезно завести привычку периодически проверять журнал системных событий на предмет разрывов туннеля и перезапусков сервиса WireGuard. RouterOS ведёт лог доступный через /log print, где по ключевым словам wireguard можно быстро найти историю переподключений.
Если вы меняете ключи на стороне сервера, не забывайте обновлять их и в конфигурации peer на роутере — RouterOS не подтягивает изменения автоматически. Хорошая практика — хранить актуальный экспорт конфигурации в отдельном защищённом месте на случай замены оборудования.
Частые вопросы
Готовы подключить роутер?
Возьмите готовую конфигурацию и используйте эту инструкцию для установки и проверки.
Получить готовую конфигурациюПродолжите настройку
Все руководства — настройка роутеров, MTU, DNS и устройств.