Перейти к содержанию

Вопрос

Опубликовано

Добрый день!

Прошу рассмотреть возможность добавить для WireGuard опцию выбора WAN-интерфейса ("Подключаться через"), как это реализовано в других VPN-клиентах:

image.png.bf5e969560e4e5b0ae00df70363bf637.png

 

Ситуация:

  • основной канал на роутере А — проводной интернет;
  • резервный канал на роутере А — мобильный 4G-модем с лимитом трафика;
  • WireGuard используется для передачи потокового видео с камер;
  • На стороне роутера А Endpoint в пире не заполнен, инициирует подключение роутер Б.

При потере основного канала WireGuard на роутере А автоматически продолжает пытаться подключиться к удалённому пиру, но уже через мобильный WAN, что приводит к нежеленной передаче трафика и расходу лимитированного пакета.

При этом в настройках WireGuard на роутере А у пира не указан endpoint, а на роутере Б был указан внешний IP основного канала роутера А (который уже выключен). При этом соединение магическим образом продолжает работать. Видимо роутер А закешировал себе IPшник и порт роутера Б и продолжает стучаться туда же, но уже с резервного WAN, и WireGuard туннель продолжает работать, но уже по 4G.

При этом, даже при восстановлении основного канала, WireGuard не переключается на основной канал автоматически, из-за чего за ночь трафик резервного канала был практически исчерпан.

Желаемое поведение:

  1. Иметь возможность ограничить WireGuard-интерфейсу список WAN-интерфейсов, через которые он может направлять трафик.
  2. После восстановления основного канала, трафик WireGuard по резервному идти больше не должен.

Рекомендуемые сообщения

  • 1
Опубликовано (изменено)
26 минут назад, maksimkurb сказал:

Добрый день!

Прошу рассмотреть возможность добавить для WireGuard опцию выбора WAN-интерфейса ("Подключаться через"), как это реализовано в других VPN-клиентах:

image.png.bf5e969560e4e5b0ae00df70363bf637.png

 

Ситуация:

  • основной канал на роутере А — проводной интернет;
  • резервный канал на роутере А — мобильный 4G-модем с лимитом трафика;
  • WireGuard используется для передачи потокового видео с камер;
  • На стороне роутера А Endpoint в пире не заполнен, инициирует подключение роутер Б.

При потере основного канала WireGuard на роутере А автоматически продолжает пытаться подключиться к удалённому пиру, но уже через мобильный WAN, что приводит к нежеленной передаче трафика и расходу лимитированного пакета.

При этом в настройках WireGuard на роутере А у пира не указан endpoint, а на роутере Б был указан внешний IP основного канала роутера А (который уже выключен). При этом соединение магическим образом продолжает работать. Видимо роутер А закешировал себе IPшник и порт роутера Б и продолжает стучаться туда же, но уже с резервного WAN, и WireGuard туннель продолжает работать, но уже по 4G.

При этом, даже при восстановлении основного канала, WireGuard не переключается на основной канал автоматически, из-за чего за ночь трафик резервного канала был практически исчерпан.

Желаемое поведение:

  1. Иметь возможность ограничить WireGuard-интерфейсу список WAN-интерфейсов, через которые он может направлять трафик.
  2. После восстановления основного канала, трафик WireGuard по резервному идти больше не должен.


доступно в cli

interface Wireguard<№> wireguard peer <public key> connect via <interface>

 

Изменено пользователем Denis P
  • 0
Опубликовано
18 минут назад, Denis P сказал:

interface Wireguard<№> wireguard peer <public key> connect via <interface>

 

Спасибо большое, не знал про такую возможность!

В таком случае можно считать, что фича уже есть, а по поводу того, что WireGuard не переключается автоматически с резервного на основной канал можно считать багом? В какой подфорум такое лучше переместить?

  • 0
Опубликовано
6 минут назад, Le ecureuil сказал:

Если включить connect via конкретный интерфейс, то через другие соединения он лезть не будет. В итоге сразу обе потребности вроде как закрыты.

В конкретно описанном выше сценарии да.

Но у меня есть ещё один VPN канал для подключения к NAS и его бы хотелось оставить с резервированием (при необходимости файлики перекачать или т.п.). И получается, что если роутер перейдёт на резервный канал, а потом обратно, туннель может остаться на лимитированном подключении и я не замечу, как выжру весь трафик, хотя проводной уже давно мог быть доступен.

Сейчас можно костыльно это решить, если сделать два VPN-туннеля и всегда ходить через один IP, а если он не доступен, то только тогда через IP резервного VPN, но это не очень удобно (у меня split-brain DNS и придётся два сервера держать и как-то между ними переключаться на клиентских машинах в случае отвала основного канала)

  • 0
Опубликовано (изменено)
1 час назад, Le ecureuil сказал:

Это поведение по умолчанию - предпочитать основной WAN-интерфейс

 

Решил перепроверить сейчас на Viva KN-1910 (версия 4.3.2), поведение разное в зависимости от того, заполню ли я в Keenetic'е поле "Адрес и порт пира" (Endpoint) или нет.

  • Если на стороне Keenetic поля Endpoint и PersistentKeepalive заполнены, а со стороны сервера оба поля не заполнены - всё работает так, как Вы и сказали. При восстановлении подключения по основному каналу, трафик WG сразу начинает идти через него.
    • Конфиг на сервере из двух строчек: PublicKey и AllowedIPs
  • Если на стороне Keenetic поля Endpoint и PersistentKeepalive пустые, а со стороны сервера заполнены - то Keenetic переключается на резервный канал связи, а обратно на основной канал не возвращается, оставаясь на резервном.
    • Конфиг на сервере из четырёх строчек: PublicKey, AllowedIPs, Endpoint и PersistentKeepalive

Видео-демонстрация: https://www.youtube.com/watch?v=OZJTzrk1d28

 

UPD:

Назначать интерфейс пирам, у которых не указан Endpoint как оказалось нельзя. А у таких пиров обычно IPшник серый и динамический (иначе почему бы не указать Endpoint), их только как-то костылять блокировкой по порту на уровне межсетевого экрана, наверное.

Wireguard::Interface error[75505872]: "Wireguard0": "xxxx": unable to set connect interface without endpoint.
Изменено пользователем maksimkurb

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...

Важная информация

На этом сайте используются файлы cookie. Нажимая "Я принимаю" или продолжая просмотр сайта, вы разрешаете их использование: Политика конфиденциальности.