Jump to content
  • 2
Кинетиковод

Саморазбриджевание Openvpn TAP

Question

Начиная с первой сборки 3.4 появился баг, когда после каждой перезагрузки openvpn tap саморазбриджуется. Соответственно его нужно каждый раз снова бриджевать.

До перезагрузки имеем:

dfgdfgdfgdfg.PNG.b0d24f04db444913e34fde35b27fed5e.PNG

После перезагрузки:

sdfsdfsdf.PNG.5ec827f05cb646872a0df2af37d6bc23.PNG

Селф тесты до и после прилагаю.

  • Thanks 1
  • Upvote 1

Share this post


Link to post
Share on other sites

19 answers to this question

Recommended Posts

  • 1

Тоже столкнулся с данной проблемой после обновления с 3.3.2 на 3.4.1 (не часто обновляюсь)

Так же судя по этому репорту, баг присутствует и в версии 3.5, и не только с OpenVPN:

 

Баг, похоже, связан в алгоритмом формирования файла конфига.

Имеется OpenVPN TAP сервер OpenVPN0, который подключает клиентов в домашнюю сеть Bridge0

В версии 3.3.2 порядок инициализации интерфейсов в файле startup-config был такой:

...
interface Bridge1
interface PPPoE0
interface PPPoE1
interface OpenVPN0
interface Bridge0
    ...
    include OpenVPN0
    ...
interface OpenVPN1
interface OpenVPN2
...

 

В версии 3.4.3 та же конфигурация стала иметь такой порядок:

...
interface Bridge0
    ...
    include OpenVPN0
    ...
interface Bridge1
interface PPPoE0
interface PPPoE1
interface OpenVPN0
interface OpenVPN1
interface OpenVPN2
...

 

interface Bridge0 include OpenVPN0 в версии 3.4.3 расположен выше, чем определение блока interface OpenVPN0. Из-за этого он скорее всего после перезагрузки и не применяется, и потом исчезает после любых изменений, т.к. отсутствует в running-config

Если вручную отредактировать файл конфига, сделав порядок интерфейсов как в версии 3.3, то при перезагрузке include OpenVPN0 применяется, но такой конфиг перетирается при любом изменении настроек через веб интерфейс.

 

По сути в 3.4.3 нормально не работает то что описано в этой статье:

https://help.keenetic.com/hc/ru/articles/360000001689-Возможно-ли-создание-OpenVPN-сервера-типа-TAP-

 

 

4 часа назад, Max Z сказал:

На Omni на 3.4.1 всё работало хорошо: OpenVPN0 при поднятии автоматом включался в Bridge0. На 4G с той же прошивкой даже этого не происходило, проблема была с самого начала.

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

Если моё предположение верно, то всё работало хорошо, т.к. конфиг был сформирован версией 3.3, после того как что-то в настройках поменялось, версия 3.4 перетерла старый конфиг.

Как временное решение можно вручную отредактировать и залить файл startup-config с правильным порядком инициализации интерфейсов - блок interface Bridge0 должен быть ниже блока interface OpenVPN0. И после этого ничего в настройках не менять, т.к. тогда эту операцию нужно будет делать снова.

Только проследи, чтобы текстовый редактор не привел все символы перевода строк к одному виду, а то я один раз отредактировал с помощью SublimeText, а он исправил все переводы строк к CR LF, и после залива такого файла настройки роутера сбились в дефолтные. После этого стал редактировать стандартным блокнотом из седьмой винды.

Edited by mpi
  • Upvote 1

Share this post


Link to post
Share on other sites
  • 0

Извиняюсь что не в тему, но мне до сих пор так и не удалось запустить tap-сервер на Кинетике, поэтому вопрос: помимо конфига (.ovpn) вы чего-нибудь делали (Маршруты, Межсетевой Экран,CLI)?

Share this post


Link to post
Share on other sites
  • 0
9 минут назад, Oleg Nekrylov сказал:

помимо конфига (.ovpn) вы чего-нибудь делали (Маршруты, Межсетевой Экран,CLI)?

interface Bridge0
include OpenVPN0
system configuration save

 

Share this post


Link to post
Share on other sites
  • 0
8 минут назад, Кинетиковод сказал:

interface Bridge0
include OpenVPN0
system configuration save

 

Делал, но при подключении клиента (Windows, Linux, второй keenetic), клиенты не получают адрес. По идее адрес должен прилетать от dhcp-сервера с Bridge0, но почему-то этого не происходит :(

Share this post


Link to post
Share on other sites
  • 0
2 минуты назад, Oleg Nekrylov сказал:

но почему-то этого не происходит

Значит в конфигах ошибка.

Share this post


Link to post
Share on other sites
  • 0

Ошибок нет, брал конфиги из этой статьи, только ключи/сертификаты свои, тем более что данные конфиги прекрасно работают на DD-WRT.

Share this post


Link to post
Share on other sites
  • 0
8 минут назад, Oleg Nekrylov сказал:

Ошибок нет, брал конфиги из этой статьи, только ключи/сертификаты свои, тем более что данные конфиги прекрасно работают на DD-WRT.

Странно. Надо искать причину. Так то всё работает, саморазбриджевание глюк другого рода. Может порт не открыли, на клиентах что-то не так или ещё чего, я не телепат, не могу знать. Конфиги из статьи я пробовал, всё работает. Винить Keenetic OS не представляется возможным, стало быть ошибка на вашей стороне.

Share this post


Link to post
Share on other sites
  • 0

У меня раньше работало (на прошивке3.0), но не долго, тоже ~ через сутки происходил вылет из бриджа (утечки памяти?) - лечилось перезагрузкой роутера и с последующим выключением/включением OpenVPN. После обновления на 3.3 и выше, заставить работать TAP так и не получается :(

Edited by Oleg Nekrylov

Share this post


Link to post
Share on other sites
  • 0
13 минуты назад, Oleg Nekrylov сказал:

но не долго, тоже ~ через сутки происходил вылет из бриджа

У меня нет систематических вылетов, но были редкие случаи на старых прошивках, может раза 3,4.  На 3.4 обязательный отвал после перезагрузки, а если не трогать, то всё в норме. На 3.3 вообще проблем не было.

  • Upvote 1

Share this post


Link to post
Share on other sites
  • 0
В 15.03.2020 в 00:07, Le ecureuil сказал:

Спасибо, проверим.

3.4.1 выпустили в релиз, но баг с tap так и не поправили.

  • Upvote 1

Share this post


Link to post
Share on other sites
  • 0

Присоединяюсь к потерпевшим.

Omni и 4G: оба коннектятся к одному и тому же Асусу с мерлиновской прошивкой. Клиентские конфиги полностью идентичны, с разницей только в сертификатах.

На Omni на 3.4.1 всё работало хорошо: OpenVPN0 при поднятии автоматом включался в Bridge0. На 4G с той же прошивкой даже этого не происходило, проблема была с самого начала.

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

С апгрейдом обоих на 3.4.3 ситуация не поменялась

Можно было бы заворкараундить каким-нть interface-up скриптом, как у Мерлина, но таковых в кинетиках не нахожу 😒

Edited by Max Z

Share this post


Link to post
Share on other sites
  • 0
On 3/14/2020 at 10:24 PM, Oleg Nekrylov said:

Делал, но при подключении клиента (Windows, Linux, второй keenetic), клиенты не получают адрес. По идее адрес должен прилетать от dhcp-сервера с Bridge0, но почему-то этого не происходит :(

У вас DHCP в каждом сегменте свой или один на всю сеть?

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

Share this post


Link to post
Share on other sites
  • 0
3 hours ago, mpi said:

interface Bridge0 include OpenVPN0 в версии 3.4.3 расположен выше, чем определение блока interface OpenVPN0. Из-за этого он скорее всего после перезагрузки и не применяется, и потом исчезает после любых изменений, т.к. отсутствует в running-config

в самом деле, команда include выполняется до того, как инициализируется интерфейс OpenVPN0, поэтому она из running-config в итоге выбрасывается

это также объясняет, почему после ручного приджевания, как показано здесь, копирование running-config в startup-config не приводит к желаемому результату при следующей перезагрузке.

И, так как предположение оказалось абсолютно верным, вот этот воркараунд сработал отлично:

3 hours ago, mpi said:

Как временное решение можно вручную отредактировать и залить файл startup-config с правильным порядком инициализации интерфейсов - блок interface Bridge0 должен быть ниже блока interface OpenVPN0. И после этого ничего в настройках не менять, т.к. тогда эту операцию нужно будет делать снова.

 

3 hours ago, mpi said:

Так же судя по этому репорту, баг присутствует и в версии 3.5, и не только с OpenVPN

Это, конечно, печально. Выходит, проблема будет наблюдаться на любом интерфейсе, создаваемом пользователем из веб-морды, так как бридж в любом случае создаётся раньше.

Покуда 3.5 не вышла в паблик, может быть, можно зарепортить дефект, чтобы успели поправить?

  • Thanks 1

Share this post


Link to post
Share on other sites
  • 0
18 часов назад, Max Z сказал:

Покуда 3.5 не вышла в паблик, может быть, можно зарепортить дефект, чтобы успели поправить?

Нашлась ошибка, в 3.4 и 3.5 будет исправлено в ближайшем обновлении. Ранние версии не подвержены.

  • Thanks 3

Share this post


Link to post
Share on other sites
  • 0

Привет. Новая версия исправит кривой конфиг? Или придётся к заводским сбрасывать?

Share this post


Link to post
Share on other sites
  • 0
11 минуту назад, Flashwrd сказал:

Привет. Новая версия исправит кривой конфиг? Или придётся к заводским сбрасывать?

Сбрасывать не надо. Надо просто бриджануть ещё раз и перезагрузиться для проверки.

  • Thanks 1

Share this post


Link to post
Share on other sites
  • 0
On 6/2/2020 at 7:38 PM, Кинетиковод said:

Сбрасывать не надо. Надо просто бриджануть ещё раз и перезагрузиться для проверки.

Или наоборот — выставить правильную последовательность, обновиться, проверить последовательность.

Share this post


Link to post
Share on other sites

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...