Страница 1 из 1

mikrotik + wireguard для отдельного внутреннего IP

Добавлено: 21 авг 2023, 13:36
andrey_k
Подскажите, пожалуйста, как настроить на роутере клиента wireguard, но таким образом, чтобы трафик через wg шел только для одного устройства.
Есть сервер wg на арендованном vps. Есть роутер, к которому подключено некоторое количество устройств, и одно из них должно работать через wg. Да я знаю, что можно поднять wg-клиента на самом устройстве, но в ввиду некоторых обстоятельств мне надо сделать именно так, как я описал.
Инструкции, как поднять wireguard на микроте, в сети есть, но там рассматривается общий случай, когда все подключенные устройства идут через wireguard. Мне же надо, чтобы только одно из устройств в моей домашней локалке работало через wg.
Что я сделал.
1. Стандартно настроил параметры на вкладках WireGuard и Peers и присвоил полученному интерфейсу IP адрес, указанный на сервере wg, все как показано во всех инструкциях.
2. В NAT добавил новое правило маскарадинга, но тут немного отошел от проторенной тропинки и при настройке правила и дополнительно указал Src. Address равный IP устройства, для которого я хотел настроить работу через wg. Правильно ли?
3. Дальше по инструкции необходимо добавить маршрут на 0.0.0.0/0 через wg с метрикой 1, но, полагаю, что это не мой вариант. В общем, у меня затык, и так как я ни разу не сисадмин, то не понимаю, что делать дальше.

Изображение

Изображение

Изображение

Изображение

Re: mikrotik + wireguard для отдельного внутреннего IP

Добавлено: 21 авг 2023, 13:43
xvo
Отдельную таблицу маршрутизации с единственным дефолтным маршрутом через WG в ней.
И добавить /routing rule, что для определенного src-address использовать только эту таблицу.

Re: mikrotik + wireguard для отдельного внутреннего IP

Добавлено: 21 авг 2023, 17:17
andrey_k
xvo писал(а): 21 авг 2023, 13:43 Отдельную таблицу маршрутизации с единственным дефолтным маршрутом через WG в ней.
И добавить /routing rule, что для определенного src-address использовать только эту таблицу.
Благодарю за подсказку! Подскажите, пожалуйста, что у меня не так:
Создал отдельную таблицу:
Изображение
Добавил правило:
Изображение
Добавил маршрут:
Изображение
Но, как и следовало ожидать, ничего не взлетело. Где я накосячил?
Я не совсем понимаю, как все это должно работать.
Понимаю, что маршрут на 0.0.0.0/0 должен выбираться в зависимости от IP вызываемого устройства. Но как это должно выглядеть в настройках роутера не пойму.
Должно быть два маршрута на 0.0.0.0/0, но через разные интерфейсы? У обоих одинаковая метрика по 1? Как тогда система определяет, какой из них выбрать? В общем немного запутался.
Если вам не сложно, не могли бы вы чуть подробнее описать принцип и как это настраивать.

Re: mikrotik + wireguard для отдельного внутреннего IP

Добавлено: 21 авг 2023, 17:32
xvo
Слишком много условий в правиле, которые не выполняются - ни интерфейс, ни routing mark вам заполнять не надо.
Собственно и dst-address тоже.
Достаточно только src-address, action и table.
Если при отвале wg клиент не должен иметь вообще никакой возможности выйти просто через провайдера, то action должно быть lookup-only-in-table.

Работает оно самым простым образом - все ходят по таблице main, где у вас дефолтный маршрут через провайдера.
И только одна машина (благодаря правилу) ходит по своей таблице - где маршрут через wg.
Все.

Re: mikrotik + wireguard для отдельного внутреннего IP

Добавлено: 21 авг 2023, 19:46
andrey_k
xvo писал(а): 21 авг 2023, 17:32 Слишком много условий в правиле, которые не выполняются - ни интерфейс, ни routing mark вам заполнять не надо.
Собственно и dst-address тоже.
Достаточно только src-address, action и table.
Если при отвале wg клиент не должен иметь вообще никакой возможности выйти просто через провайдера, то action должно быть lookup-only-in-table.

Работает оно самым простым образом - все ходят по таблице main, где у вас дефолтный маршрут через провайдера.
И только одна машина (благодаря правилу) ходит по своей таблице - где маршрут через wg.
Все.
Благодарю, все взлетело! Без вас бы не справился.