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

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

Опубликовано (изменено)

Я использовал эту статью Настройка WireGuard VPN между двумя роутерами Keenetic – Keenetic и настроил соединение между двумя LAN подсетями между Кинтеиками в интернете. Всё работаео как описано. Но мне нужно больше. Мне не подходит абсолютный доступ всех устройств со всех сегментов на каждом из роутеров к друг другу. В идеале хотелось бы иметь возможность с помощью политик доступа разрешать конкретным устройствам или сегментам использовать Wireguard туннель. И вот с какими проблемами я столкнулся и как пытался решить.

  1. Добавить ограничения в фаерволле на стороне "сервера". Для начала запретить одному IP пинговать подсеть "сервера". Ноль эффекта. Это правило в 192.168.1.1 сети
    Спойлер

    image.thumb.png.de3f156433d85ea8454eb3147f197f61.png

    Я так понял фаервол не работает потому что Wireguard интерфейс public
  2. Так же я заметил, что в политиках доступа нет Wireguard интерфейса, который я создал для туннеля. Вопреки статье я чекнул галочку "Использовать для выхода в интернет"
    Спойлер

    image.png.3d8b23b6ab7c9907811f5ede9e1e0dc5.png

    и тогда интерфейс стал доступен в политиках. Правда он ни на что не влиял. Туннель доступен всем клиентам глобально по причине в ручную настроенного статического маршрута. Этот маршрут работает во всех политиках, что я и проверил через CLI `show ip policy`
    Вообще я не понимаю, что помимо появляния в политиках даёт эта опция. Она меняет ещё какое-то поведение или разрешение? Как влияет на роутинг? Объясните пожалуйста. Как она связана с `security-level` или не связана?
  3. Так же в поисках решения попробовал опцию "Эксклюзивный маршрут" в надежде, что это как-то изменит поведения в моих нужда. Но нет. Маршрут доступен всё равно глобально 
    Спойлер

    image.png.2d79ec9b22a4372c5bcae97644cd8305.png

    Как-будто не хватает какой-то опции не добавлять маршрут в глобальную таблицу по умолчанию для роутера. Хотелось бы маршруты как-то маркировать и применять только в тех политиках в которых добавлен интерфейс Wireguard туннеля.
  4. Есть подозрения, что можно изменить уровень security-level интерфейса с public на private. Но я не понимаю до конца, что под капотом это меняет. И нужно ли оно мне. Хотелось бы помощи в объяснении разницы этих 2 режимах, что кроме правил межсетевого экрана по умолчанию меняется для них?
  5. В то же самое время на работе мне выдали OpenVPN для доступа к корпоративной внутренней сети. В этом интерфейсе я чкунул так же "Доступ к интернету" и галоку которую нет в Wireguard "Получать маршруты от удалённой стороны"
    Спойлер

    image.png.c64cf66c81c2600f3a9bbf2b33a20a7e.png

    При этом в интернет ходить через него нельзя. Нет доступа. Он только для приватных подсетей. Он просто добавляет новые маршруты. И работает как раз так как я и хотел - только для устройств, для которых есть это интерфейс в политике доступа. Т.е. есть политика "Работа". Она выбрана для одного ПК и нескольких мобильных. В политике "Работа" помимо обычного и резервного Интернета есть и этот OpenVPN. И только эти устройства могут открывать адреса корпоративной сети. Всё правильно. Вот только как добиться такого же, но через Wireguad между моими роутерам. Я попросту не понимаю, как привязать маршрут не к общей таблице, а к таблице выделенной только для Wireguard, чтобы Кинетик её применял в политиках доступа. Мне кажется очевидным решение, что команда Кинетика должна автоматически создавать маршруты для тех подсетей которые добавлены в Пирах Wireguard и, чтобы при этом они были маркированные для Policy Based Routing, а не глобальные. Что-то похоже я кажется видел в Wireguard модуле на OpenWrt. Там можно как выбирать добавлять ли маршрут по умолчанию, а так же что-то про маршруты для пиров. Либо подскажите как это в ручную сделать хотя бы. 
    Сейчас Кинетик уже автоматически прокидывает порты Wireguar. Минус одна ручная работа. Так почему бы не сделать и для роутинга к пирам? Это будет развитие той же идеи
  6. Так же у меня требования это чтобы можно было автоматически дискаверить сервисы на "сервере" со стороны устройств на клиенте. Я про SMB и DLNA. Существует галочка "Ретранслировать mDNS между сегментами". Но что считается сегментом? Если я сделаю интерфейс Wireguard private, он будет считаться сегментом? Будет ретранслирваться mDSN?


Мой конфиг Wireguard выглядит вот так

Спойлер
Interface, name = "Wireguard1"
               id: Wireguard1
            index: 1
   interface-name: Wireguard1
             type: Wireguard
      description: Home 🏢
           traits: Ip
           traits: Ip6
           traits: Wireguard
             link: down
        connected: no
            state: up
              mtu: 1324
  tx-queue-length: 50
          address: 10.11.0.1
             mask: 255.255.255.0
           uptime: 0
           global: yes
        defaultgw: no
         priority: 356
   security-level: public
             ipv6: 
            defaultgw: no
        wireguard: 
           public-key: *******************************
          listen-port: 1011
               status: up
          summary: 

 

 

Изменено пользователем constgen
  • constgen изменил название на Как настроить Wireguard site-to-site через политики доступа?
Опубликовано (изменено)

1) не тот интерфейс выбран

2,3,4) ip policy Policy# standalone
5) ip policy Policy# route 
6) smb - да, будет доступен при private, но DLNA не заработает через wg

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

1) не тот интерфейс выбран

2,3,4) ip policy Policy# standalone
5) ip policy Policy# route 
6) smb - да, будет доступен при private, но DLNA не заработает через wg

Нет таких команд

Спойлер

image.png.0fc291b13bcb229f8a9c2acc79a7475b.png

В мануале Command Reference Guide тоже нет

Спойлер

image.thumb.png.c35f22118ed2b4c275019194a6def71f.png

 

 

Опубликовано (изменено)
11 минут назад, constgen сказал:

Нет таких команд

  Показать контент

image.png.0fc291b13bcb229f8a9c2acc79a7475b.png

В мануале Command Reference Guide тоже нет

  Скрыть контент

image.thumb.png.c35f22118ed2b4c275019194a6def71f.png

 

 

для начала уточняйте версию ПO, ip policy Policy# route появилась в 4.3
да и ищете вы как-то совсем плохо
image.thumb.png.3d5b8f9adc28c0dd6947c5393935f845.png

Изменено пользователем Denis P
Опубликовано
  1. А что по сути делает в интерфейсе "Использовать для выхода в интернет"? На что оно влияет? 
  2. При использовании `ip policy Policy# route ` интерфейс должен быть в политике или работает и без этого?
  3. По идее добавление интерфейса в политику это и есть добавление каких-то роутов в таблицу политики? Дефолтных роутов 0.0.0.0 как я понимаю. Но лучше объясните, какие изменения оно вносит

 

 

Опубликовано
1 час назад, constgen сказал:
  1. А что по сути делает в интерфейсе "Использовать для выхода в интернет"? На что оно влияет? 
  2. При использовании `ip policy Policy# route ` интерфейс должен быть в политике или работает и без этого?
  3. По идее добавление интерфейса в политику это и есть добавление каких-то роутов в таблицу политики? Дефолтных роутов 0.0.0.0 как я понимаю. Но лучше объясните, какие изменения оно вносит

 

 

1. То что в таком случае он помечен для применения в политиках.

2.

(config)> ip policy Policy
 Usage template:
           policy {name}
   Choose:
         Policy0
         Policy1
         Policy2
         Policy3

Примеры

Спойлер
ip policy Policy1
    description In-2
    permit global GigabitEthernet0/Vlan9
    permit global PPPoE0
    no permit global Wireguard1
...
ip policy Policy0
    description C...
    permit global Wireguard0
    no permit global GigabitEthernet0/Vlan9
    no permit global PPPoE0
...
ip policy Policy3
    description Y....
    permit global PPPoE0
    no permit global GigabitEthernet0/Vlan9
    no permit global Wireguard0
    ...
    route 64.хх.хх.0 255.255.224.0 Wireguard0 auto reject
    ...

Если галки на Wireguard0 нет для выхода в интернет, то данного интерфейса в политиках не увидеть.

3. В политике ДА если он один или несколько то самый верхний -> через него default

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

Второй ответ это справка не по этой команде `ip policy Policy# route `. Вы показали как политику создавать. А вопрос был при добавлении "политического" роута с привязкой к интерфейсу, оно требует чтобы этот интерфейс был в этой же политике или он найдёт интерфейс и глобально?

Опубликовано (изменено)
В 25.06.2025 в 22:46, constgen сказал:

Второй ответ это справка не по этой команде `ip policy Policy# route `. Вы показали как политику создавать. А вопрос был при добавлении "политического" роута с привязкой к интерфейсу, оно требует чтобы этот интерфейс был в этой же политике или он найдёт интерфейс и глобально?

не нужно, без этого всё будет работать

Единственный минус, в вебе этих маршрутов видно не будет, только через show run

Изменено пользователем Denis P
Опубликовано (изменено)

Надеюсь когда нибудь `standalone` и `route` и до UI доеудут. Я в принципе проблему не вижу. Кажется уже понятно что

  • `standalone` - это галочка в политике, по образу и подобию `multipath mode`
    Спойлер

    image.png.53c0a5a86e06909122608939d3b9a552.png

  • `route` - есть 2 альтернативы как это сделать
    • другая вкладка с отдельной таблицей для каждой политики в разделе Маршрутизации
      Спойлер

      image.thumb.png.72f5c12676b6839661f9b17a2a48dd52.png

    • либо в той же общей таблице всех маршрутов, но добавить привязку к политике через новое поле в форме создания
      Спойлер

      image.thumb.png.4eeb0d84c3ab00debfb4a5ebd3efdff4.png

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

У меня мало опыта в настройке Wireguard туннелей. Есть вообще случаи когда маршруты выглядят НЕ так же как направление в сторону подсетей указанных в пирах?

 

 

Изменено пользователем constgen
Опубликовано

Короче поэкспериментировал я с командой ip policy Policy# standalone. И нашёл именно то, что я и искал в своём оригинальном вопросе. ip policy Policy# route команда даже и не понадобилась, да она и не работает ещё в моей версии прошивки. Поэтому опишу это здесь

Изначально я хотел управлять роутингом через политики доступа примерно так: добавил интерфейс в политику - трафик через него идёт. Не добавил - не идёт. Оказалось именно так это себя ведёт с командой `standalone`. А именно мы не просто отказываемся от глобальных кастомных роутов. Мы всё таки можем получить роуты из глобально настроенных в ручную пользователем, но только если они используют интерфейсы которые включены в политику. Странно, что об этом нигде в документации не сказано. Это очень важное и полезное поведение. Таким образом

  1. Можно настроить роуты глобально руками для подсетей через тунель Wireguard. Они действительно будут работать всегда для всех устройств. Но мы переходим на пункт 2
  2. Я перевёл абсолютно все политики в самостоятельный режим с помощью ip policy Policy# standalone . Это дало то, что теперь ни один глобально настроенный роут не применяется ни для одного устройства, кроме системного. Но его использует только роутер в моём случае. При этом некоторые роуты всё таки применяются в политиках, если там уже включены соответствующие интерфейсы
  3. Теперь Wireguard туннель нигде не доступен (кроме роутера). Можно выбрать именно ту политику в которой он должен быть доступен, добавив её в конец списка . Применить политику устройству или сегменту. Эти сегменты или устройства смогут заходить на удалённые подсети на другом конце туннеля. Роуты на его интерфейсе, созданные в ручную глобально, попадут только в политику.
    Спойлер

    image.png.7664293051af46f3d003095b4873f001.png

  4. Если Wireguard интерфейс не видно в политиках, значит надо включить в его настройках галочку "Использовать для выхода в интернет"
    Спойлер

    image.png.0bfb9113af128127d5665f4207925d02.png

  5. Если были другие роуты специально пущенные по другим VPN интерфейсам специально для обхода каких-то ограничений. Просто включаем эти VPN интерфейсы в политику в конец списка. Интернет через них ходить не будет. Но ваши роуты будут включены и применяться. Нужные сайты будут ходить через VPN
    Спойлер

    image.png.608da7b8e3a277470d08b0ad586e3dfa.png

Теперь всё работает более интуитивно понятно и можно управлять доступом в удалённую сеть более гибко через стандартные политики доступа роутера. При этом мы не сломали старое поведение и даже сделали его более настраивамым.

Очень жду галочку "standalone mode" в UI политики.

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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

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

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

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