Jump to content

Question

Posted (edited)

В версии 4.3.3 был добавлен валидатор подсетей для wireguard для изоляции пиров, что обычно делается поднятием другого интерфейса. Фактически был обрезан функционал туннеля.

  • Enhanced the allow‑ips validator to prevent overlapping networks across multiple WireGuard peers, ensuring proper routing and peer isolation. [NDM-3868]

Если возможно, откатите, пожалуйста, изменения. Или хотя бы дайте возможность валидатор отключить через cli или как то иначе.

Спасибо!

Edited by Александр Гольдварг
  • Upvote 2

20 answers to this question

Recommended Posts

  • 0
Posted
1 час назад, Александр Гольдварг сказал:

В версии 4.3.3 был добавлен валидатор подсетей для wireguard для изоляции пиров, что обычно делается поднятием другого интерфейса. Фактически был обрезан функционал туннеля.

  • Enhanced the allow‑ips validator to prevent overlapping networks across multiple WireGuard peers, ensuring proper routing and peer isolation. [NDM-3868]

Если возможно, откатите, пожалуйста, изменения. Или хотя бы дайте возможность валидатор отключить через cli или как то иначе.

Спасибо!

В чем собственно проблема? Вы уже не первый человек который это упоминает, но толкового объяснения почему и как это должно было работать до внедрения проверки никто предоставить не может

  • 0
Posted (edited)

Суть ситуации:

У нас есть несколько узлов в сети WireGuard, и мы хотим настроить маршрутизацию так, чтобы одни узлы могли служить шлюзами для других, даже если они находятся в одной и той же подсети.


🔹 Пример:

  • Есть большая подсеть 10.0.0.0/8.

  • В ней — сервер server1.domain с IP 10.0.0.1.

Конфигурация пира для него:

[Peer]
# name: server1.domain
PublicKey = ...
AllowedIPs = 10.0.0.1/32
AllowedIPs = 10.0.0.0/8
  • Есть другая, вложенная подсеть 10.0.0.0/24, и сервер server2.domain с IP 10.0.0.100.

Конфигурация пира:

[Peer]
# name: server2.domain
PublicKey = ...
AllowedIPs = 10.0.0.100/32
AllowedIPs = 10.0.0.0/24

Такую конфигурацию WireGuard спокойно обрабатывает и маршрутизирует, несмотря на пересекающиеся сети.


🔹 Что это даёт?

Допустим, есть узел node1, у которого настроены оба пира — server1.domain и server2.domain.
Также есть узлы node2, node3 и т.д., у которых есть только соединение с server2.domain, и им выданы адреса в подсети 10.0.0.0/24.

Теперь, если node1 захочет достучаться до node2, WireGuard сам правильно выберет маршрут — через server2.domain, потому что маршрут 10.0.0.0/24 более специфичный, чем 10.0.0.0/8.


🔹 Зачем это нужно?

  • Не все узлы в сети должны быть напрямую связаны между собой.

  • Некоторые пиры работают как маршрутизаторы (relay) для других.

  • Это позволяет строить гибкие и изолированные топологии.

  • Именно для таких сценариев и создавался WireGuard — без принудительных ограничений и валидаторов.


Если кратко:

WireGuard сам умеет разруливать пересекающиеся AllowedIPs по принципу «наиболее специфичный маршрут». Принудительный запрет таких конфигураций в Keenetic 4.3.3 — это ломание работающей архитектуры, а не её улучшение.

 

 

Edited by Александр Гольдварг
Дополнение.
  • 0
Posted (edited)
40 минут назад, Александр Гольдварг сказал:

Суть ситуации:

У нас есть несколько узлов в сети WireGuard, и мы хотим настроить маршрутизацию так, чтобы одни узлы могли служить шлюзами для других, даже если они находятся в одной и той же подсети.


🔹 Пример:

  • Есть большая подсеть 10.0.0.0/8.

  • В ней — сервер server1.domain с IP 10.0.0.1.

Конфигурация пира для него:

[Peer]
# name: server1.domain
PublicKey = ...
AllowedIPs = 10.0.0.1/32
AllowedIPs = 10.0.0.0/8
  • Есть другая, вложенная подсеть 10.0.0.0/24, и сервер server2.domain с IP 10.0.0.100.

Конфигурация пира:

[Peer]
# name: server2.domain
PublicKey = ...
AllowedIPs = 10.0.0.100/32
AllowedIPs = 10.0.0.0/24

Такую конфигурацию WireGuard спокойно обрабатывает и маршрутизирует, несмотря на пересекающиеся сети.


🔹 Что это даёт?

Допустим, есть узел node1, у которого настроены оба пира — server1.domain и server2.domain.
Также есть узлы node2, node3 и т.д., у которых есть только соединение с server2.domain, и им выданы адреса в подсети 10.0.0.0/24.

Теперь, если node1 захочет достучаться до node2, WireGuard сам правильно выберет маршрут — через server2.domain, потому что маршрут 10.0.0.0/24 более специфичный, чем 10.0.0.0/8.


🔹 Зачем это нужно?

  • Не все узлы в сети должны быть напрямую связаны между собой.

  • Некоторые пиры работают как маршрутизаторы (relay) для других.

  • Это позволяет строить гибкие и изолированные топологии.

  • Именно для таких сценариев и создавался WireGuard — без принудительных ограничений и валидаторов.


Если кратко:

WireGuard сам умеет разруливать пересекающиеся AllowedIPs по принципу «наиболее специфичный маршрут». Принудительный запрет таких конфигураций в Keenetic 4.3.3 — это ломание работающей архитектуры, а не её улучшение.

 

 

wireguard сам ничего не маршрутизирует (его поведение нельзя назвать классической маршрутизацией), пользуйте статик роуты и будет вам счастье
з.ы ваше сообщение ну уж очень напоминает генерацию с помощью LLM

Edited by Denis P
  • 0
Posted

Не спешите писать, не разобравшись в вопросе.

Я и не применяю здесь термин "маршрутизация" в его классическом понимании, но иначе как маршрутизацией то, что делает wireguard, не назвать.

А ваше предложение использовать статические маршруты больше похоже на издевательство. Для маршрута нужен интерфейс, и для подсетей 10.0.0.0/8 и 10.0.0.0/24 маршрут будет один - до подсети с более широкой маской.

Если не можете что-нибудь дельное предложить, не пишите.

Спасибо! И надеюсь на понимание.

  • Upvote 1
  • 0
Posted
21 минуту назад, Александр Гольдварг сказал:

Не спешите писать, не разобравшись в вопросе.

Я и не применяю здесь термин "маршрутизация" в его классическом понимании, но иначе как маршрутизацией то, что делает wireguard, не назвать.

А ваше предложение использовать статические маршруты больше похоже на издевательство. Для маршрута нужен интерфейс, и для подсетей 10.0.0.0/8 и 10.0.0.0/24 маршрут будет один - до подсети с более широкой маской.

Если не можете что-нибудь дельное предложить, не пишите.

Спасибо! И надеюсь на понимание.

речь шла о маршрутах на ваших "клиентах" и использовании отдельных интерфейсов, а не многопирный вариант.

  • 0
Posted

То есть вы предлагаете переделать работающую архитектуру сети, просто потому что теперь есть валидатор подсетей, который дублирует и режет функционал wireguard?

Слишком много издержек, очевидное различие в поведении, которое описано в документациях технологии и оборудования. Костыль, если позволите.

Но спасибо за предложение.

  • 0
Posted

Хорошо, валидное замечание. Сделаем чтобы было просто предупреждение в консоли, а дальше пусть все сами думают.

В 4.3.4 и 5.0 будет поправлено.

  • Thanks 5
  • Upvote 1
  • 0
Posted

А у меня теперь с  версии 4.3.3 не работает правило Wireguard для выхода в интернет. 

 

Имеем несколько peers, одному пытаюсь назначить AllowedIPs 0.0.0.0/0, и он ругается, что это пересекается с другими пирами. Конечно пересекается, но как мне обозначить через какой peer будет выход в интернет. 

Как то можно откатить это ? Очень нужно плиз. 

  • 0
Posted
21 hours ago, Ivan Semenov said:

А у меня теперь с  версии 4.3.3 не работает правило Wireguard для выхода в интернет. 

 

Имеем несколько peers, одному пытаюсь назначить AllowedIPs 0.0.0.0/0, и он ругается, что это пересекается с другими пирами. Конечно пересекается, но как мне обозначить через какой peer будет выход в интернет. 

Как то можно откатить это ? Очень нужно плиз. 

Откатиться не выйдет, так что придется на dev 5.0 обновляться. Сам обновился - полёт нормальный.

  • 0
Posted
В 18.06.2025 в 19:30, Ivan Semenov сказал:

Как то можно откатить это ? Очень нужно плиз. 

Какая точно марка роутера - 1813 это ошибка 1811 или 1713

На 1811 есть draft 43C2, 43C0, 43B4, 43B1, 43A14, 43A12, 43A3, 43A2, 43A1, 421 и т.д. набор вас устроит почти полный - 28МБ

        <components>acl,base,cloudcontrol,corewireless,ddns,dhcpd,dlna,dns-filter,dns-https,dns-tls,dot1x,eoip,ext,fat,ftp,gre,igmp,ike-client,ip6,ipip,ipsec,l2tp,lang-en,lang-ru,mdns,miniupnpd,monitor,mws,nathelper-esp,nathelper-ftp,nathelper-h323,nathelper-pptp,nathelper-rtsp,ndmp,ndns,netflow,nextdns,ntce,ntfs,ocserver,openconnect,openvpn,opkg,opkg-kmod-fs,opkg-kmod-netfilter,opkg-kmod-netfilter-addons,opkg-kmod-tc,opkg-kmod-usbip,pingcheck,ppe,pppoe,pptp,proxy,sftp,snmp,ssh,sstp,sstp-server,storage,trafficcontrol,transmission,tsmb,udpxy,usb,usblte,usbmodem,usbnet,usbnet-extra,usbqmi,virtual-ip-server,vpnserver,vpnserver-l2tp,webdav,wireguard,wpa-eap,zerotier</components>

 

  • 0
Posted

Что-то в последнее время, что ни апдейт, то больше на саботаж похоже. Я думал, что это баг, а это фича оказывается.

  • Upvote 2
  • Y'r wrong 1
  • 0
Posted
В 18.06.2025 в 19:30, Ivan Semenov сказал:

А у меня теперь с  версии 4.3.3 не работает правило Wireguard для выхода в интернет. 

 

Имеем несколько peers, одному пытаюсь назначить AllowedIPs 0.0.0.0/0, и он ругается, что это пересекается с другими пирами. Конечно пересекается, но как мне обозначить через какой peer будет выход в интернет. 

Как то можно откатить это ? Очень нужно плиз. 

В 4.3.4 можно будет снова.

  • 0
Posted (edited)
В 21.06.2025 в 15:56, Le ecureuil сказал:

В 4.3.4 можно будет снова.

Скоро выйдет 4.3.4? Вернее, спрошу иначе: выйдет ли она в ближайшие 2 недели? Мне через 2 недели в отпуск уезжать, а вы Wireguard поломали в стабильной версии. 🤬 Он мне в отпуске очень понадобится.

Edited by Rinaldus
  • Upvote 2
  • 0
Posted (edited)
В 18.06.2025 в 19:30, Ivan Semenov сказал:

А у меня теперь с  версии 4.3.3 не работает правило Wireguard для выхода в интернет. 

 

Имеем несколько peers, одному пытаюсь назначить AllowedIPs 0.0.0.0/0, и он ругается, что это пересекается с другими пирами. Конечно пересекается, но как мне обозначить через какой peer будет выход в интернет. 

Как то можно откатить это ? Очень нужно плиз. 

В настройках сервера в разрешенных подсетях пропишите адрес_вашего_пира/32 (например, 172.16.82.2/32), а в настройках клиента пропишите 0.0.0.0/0, тогда будет доступ в интернет. Мне только что в соседней теме помогли.

Edited by Rinaldus
  • Thanks 1
  • 0
Posted
13 hours ago, Rinaldus said:

Скоро выйдет 4.3.4? Вернее, спрошу иначе: выйдет ли она в ближайшие 2 недели?

Ожидаем. Пожалуйста, потерпите!
Спасибо!

  • Upvote 1
  • 0
Posted
В 24.06.2025 в 16:09, Rinaldus сказал:

Мне только что в соседней теме помогли.

Если бы сам роутер не поудалял все прописанные в него подсети после overlap-нутого 0.0.0.0/0, проблемы бы не было. Вернул подсети, трафик пошел.

  • 0
Posted

Всем привет. В 4.3.5 этот механизм опять поломали?

Два роутера, один сервер, на нём настроена маршрутизация через AdGuardHome, другой к первому по WG подключается. На 4.3.4 всё нормально ходило, выходил в интернет через первый, сейчас обновился на 4.3.5 и вот на тебя, перестал.

  • 0
Posted
7 минут назад, dogoma сказал:

Всем привет. В 4.3.5 этот механизм опять поломали?

Два роутера, один сервер, на нём настроена маршрутизация через AdGuardHome, другой к первому по WG подключается. На 4.3.4 всё нормально ходило, выходил в интернет через первый, сейчас обновился на 4.3.5 и вот на тебя, перестал.

Self-test где?

  • 0
Posted (edited)
6 часов назад, dogoma сказал:

Всем привет. В 4.3.5 этот механизм опять поломали?

Два роутера, один сервер, на нём настроена маршрутизация через AdGuardHome, другой к первому по WG подключается. На 4.3.4 всё нормально ходило, выходил в интернет через первый, сейчас обновился на 4.3.5 и вот на тебя, перестал.

Я, кажется, понял в чём дело, для WG соединения на кинетике клиенте указывается DNS, но если в настройках DNS забит DoH или DoT адреса, то указанный в в WG соединении DNS игнорируется и пытается разрешить адрес через указанные DoH DoT.

Edited by dogoma

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

This site uses cookies. By clicking "I accept" or continuing to browse the site, you authorize their use in accordance with the Privacy Policy.