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

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

Опубликовано
1 час назад, vai73 сказал:

Проверьте, переключился с модуля ядра в юзерспейс, туннель поднялся, а dead "горит"

зы: Возможно разовый глюк - попереключал режимы еще несколько раз, такого не наблюдается 

image.png.6b49537d94056f5bdc00ae9941cfc248.png

Если будет повторение - напишите пожалуйста еще раз, желательно логи и порядок действий. 

  • Ответов 376
  • Создана
  • Последний ответ

Топ авторов темы

Опубликовано
12 часов назад, JentRy сказал:
  • В чем заключаются ключевые особенности режима работы «Модуль ядра»
  • Какие преимущества даёт режим «Модуль ядра» по сравнению с «Userspace»

Это стандартная проблема всех многозадачных осей. Есть ядро (kernel), есть прикладные программы запускаемые пользователем  (userspace). Прикладные прогпаммы (процессы) располагаются в каком-то куске памяти (userspace), к которому доступ должны иметь только они (или делегированные этими процессами другие процессы, и не должно быть доступа из других процессов).Из-за механизма распределения/разделения память процесса может быть организована физически не одним куском, а несколькими несмежными, а логически должно выглядеть для процесса одним куском. Все это описывается какой-то метаинформацией (контекст) о процессе. Так как система многозадачная  все процессы должны иметь шанс на исполнение. Этим занимается  планировщик - часть ядра, который распределяет ресурсы (память, время исполнения, прерывания и т.д.) между процессами. Дык вот когда исполнение на процессоре переходит от одного процесса к другому, должен быть замене контекста этого процесса. Это дорогая (по времени операция) - копирование куска памяти из памяти пользователя в память ядра для исполнения, проверки прав, очистка кеша (кешей) и загрузка заново. Более подробно надо изучать какие-то лекции или смотреть курсы по операционным системам, или спросить у LLM

Создатели amneziawg (точнее это еще сделал создатель wireguard - создатели амнезии пропатчили его прогу) пошли сразу двумя путями они создали и userspace программу amneziawg-go , и модуль amneziawg.ko (тоже на самом деле патч над wireguard.ko).  Во втором случае модуль это часть ядра, подгружаемая специальным пользователем с наивысшыми привилегиями  (root), который постоянно висит в памяти ядра, не испытывает проблемы переключения контекста, поэтому быстро и наименьшими использованием дополнительных ресурсов  обрабатывает поступающие пакеты.  Линукс в отличии от винды изначально строился как сетевая unix-подобная операционная система, кроме того бесплатен, есть варианты RTOS. Поэтому почти все роутеры, телефоны пользовательского класса под капотом имеет линукс (оставим в стороне Cisco - это не пользовательского класса оборудование). В частности и Entware - некая среда исполнения на ядром Linux в любом вашем кинетике. И в связи с вышеизложенным  часто и густо все сетевые технологии появляются в Linux, а иногда и только для него. 

 

Первый подход тоже имеет свои преимущества. Он написан на языке go , который портирован на многия оси, и если у вас есть права на исполнения прог на компе (но не имеете прав root,, или вообще отсутствует ядерный модуль/драйвер для какой-то оси), то вы можете развернуть амнезию или ваергуард хоть и с ограниченной производительностью. Это для ВПН лучше чем ниченр

Ну и как резюме... Модуль ядра имеет лучшую производительность и использование ресурсов. Go лучше портируема.

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

Это стандартная проблема всех многозадачных осей. Есть ядро (kernel), есть прикладные программы запускаемые пользователем  (userspace).

Благодарю Вас за то, что уделили время и подготовили столь содержательное объяснение! Вы очень наглядно разложили по полочкам фундаментальную разницу между режимами Kernel и Userspace 👍

Особенно ценно Ваше замечание про «дорогую операцию» переключения контекста — это именно тот нюанс, который объясняет, почему решение на базе модуля ядра (.ko), вероятно, всегда будет на голову выше в плане производительности, особенно на «железе» с ограниченными ресурсами.

Чтобы визуализировать Ваш рассказ, можно представить это как границу между двумя государствами.

  • Userspace (Пользовательское пространство): Это «безопасная зона», где живут прикладные программы, запускаемые пользователем. Если программа в этой зоне упадёт, система выживет. Но для отправки сетевого пакета программе нужно «постучаться» к ядру, пройти таможню (проверку прав) и передать данные.

  • Kernel (Ядро): Это «центр управления». Модули ядра (.ko) работают на максимальных скоростях и имеют прямой доступ к железу. Нет лишних перекладываний данных из одного кармана в другой (Zero-copy).

Основные выводы из Вашего сообщения:

  1. Производительность: Режим ядра (модуль amneziawg.ko) выигрывает за счёт того, что пакеты обрабатываются прямо в ядре.  Это критически важно для маломощных процессоров и устройств с дефицитом памяти, где исключение лишних переключений контекста и прерываний позволяет выжать максимум из «железа».

  2. Универсальность: Версия на Go (amneziawg-go) — это «швейцарский нож» 🗡 Пусть она медленнее и сильнее нагружает CPU из-за контекстных переключений, зато она запустится там, где доступ к ядру закрыт (Android, iOS или корпоративные ПК без прав root).

  3. Linux как стандарт: Вы абсолютно правы насчет сетевого стека Linux. Его гибкость и открытость сделали его идеальным фундаментом для современных сетевых технологий.

💡 Забавный факт: Создатель оригинального WireGuard, Джейсон Доненфельд, потратил годы, чтобы пропихнуть свой код именно в основное ядро Linux (Mainline), потому что понимал: только так можно добиться «магической» скорости, обходя неповоротливые решения вроде OpenVPN.

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

Попробовал накатить сейчас менеджер и все развалилось.

Те сценарий такой - у меня уже был создан туннель и он работает. называется opkgtun0 (по соседнем гайду https://gitlab.com/ShidlaSGC/keenetic-entware-awg-go/-/blob/main/blob/02__KeenOS_5.0_(OpkgTun)/KeenOS_5.0_(OpkgTun).md?ref_type=heads).

  1. Устанавливаю менеджер и стартует веб-морда
  2. Закидываю текущий конфиг, он дает предупреждение что нужно стопнуть службу, стопаем
    /opt/etc/init.d/S52awg-opkgtun0 stop
  3. Затем нажимаю продолжить и все, выходит ошибка 
    start awg0: address is required

    ну и в opkgtun0 сбрасывается закрепленный интерфейс и настройки, приходится пересоздавать интерфейс заново.

Мне пропустить этот шаг с созданием интерфейса и расскоментировать конфиг (ип и днс?)
Или проблема в имени туннеля, у меня opkgtun0, а вы ждете awg0 - можно тогда вынести в конфиг этот параметр?

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

Здравствуйте ,вопрос на засыпку: Если уже стоит в Entware AmneziaWG можно ставить AWG-Manager, хуже не будет? Я не спец в этих делах, но мне что нибуть настраивать интересно.

 

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

На DSL (KN-2010) EAEU в ядерном режиме даже не стоит пробовать наверное? В спеках указан Процессор - EcoNet EN7512U (MIPS34Kc) @ 700MHz, 2 VPE. Сейчас работает awg-go->opkgtun + HR, но после 10 мегабит загрузка процесора уходит в потолок. Если запустить шансы есть, могу на неделе потестировать...

Изменено пользователем Andy Frame
Опубликовано (изменено)
26 минут назад, DarkFell сказал:

Мне пропустить этот шаг с созданием интерфейса и расскоментировать конфиг (ип и днс?)

Прочтите внимательно инструкцию для awg-manager и действуйте по ней. 

Там прямо сказано - НИЧЕГО делать с конфигами не нужно! Программа сама волшебным образом не узнает адреса, если вы их ей не дали в конфиге. 

Взяли конфиг с сервера —> отдайте его таким же программе

И пожалуйста 🙏 не нужно скрещивать разные подходы и решения. Выберите какой вам подходящий вариант. 

Изменено пользователем hoaxisr
Опубликовано (изменено)
2 минуты назад, Andy Frame сказал:

На DSL (KN-2010) EAEU в ядерном режиме даже не стоит пробовать наверное? В спеках указан Процессор - EcoNet EN7512U (MIPS34Kc) @ 700MHz, 2 VPE. Сейчас работает awg-go + HR, но после 10 мегабит загрузка процесора уходит в потолок. Если запустить шансы есть, могу на неделе потестировать...

Не понимаю почему не стоит пробовать, если стоит задача добавить производительности. Попробуйте, расскажите по результатам проверки. 

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

Попробовал поставить на KN-1812, почему-то в режиме ядра Youtube (да и в целом роутированные сайты) начинает дико тормозить. Есть идеи куда копать?

Изменено пользователем KDeveloper
уточнение
Опубликовано
13 часов назад, hoaxisr сказал:

Меняется под "капотом" -- при переходе на kernel режим, не используется amneziawg-go (userspace приложение от amnezia), загружается amneziawg.ko (скомпилированный модуль ядра из исходников amnezia).

hoaxisr, на всякий случай хочу у Вас уточнить: перед переключением режима работы на «Модуль ядра» (amneziawg.ko) необходимо ли предварительно выполнить установку и настройку по инструкции amneziawg-linux-kernel-module-keenetic или программа заботливо настроит всё сама?

Опубликовано
16 минут назад, JentRy сказал:

hoaxisr, на всякий случай хочу у Вас уточнить: перед переключением режима работы на «Модуль ядра» (amneziawg.ko) необходимо ли предварительно выполнить установку и настройку по инструкции amneziawg-linux-kernel-module-keenetic или программа заботливо настроит всё сама?

Программа сделает все сама

Опубликовано
33 минуты назад, KDeveloper сказал:

Попробовал поставить на KN-1812, почему-то в режиме ядра Youtube (да и в целом роутированные сайты) начинает дико тормозить. Есть идеи куда копать?

Есть идея настроить правильно MTU, и копать в сторону IPv6.

На 1812 смысла в режиме ядра нет. 

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

Не могу победить приложение ютуб на телевизоре Lg. В режиме Модуль ядра ютуб работает на всех устройствах кроме тв. На Lg тупит не в какую не хочет. В режиме  Go работает и на телевизоре. Где копнуть чтоб Лыжи завести в режиме модуль ядра. Там само приложение ютуб на лыжах какое то особенное.

Опубликовано
51 минуту назад, balka004 сказал:

Здравствуйте ,вопрос на засыпку: Если уже стоит в Entware AmneziaWG можно ставить AWG-Manager, хуже не будет? Я не спец в этих делах, но мне что нибуть настраивать интересно.

 

Не знаю будет ли хуже и что подразумевается под "уже стоит AmneziaWG", в общем случае быть хуже не должно. 

Но также, если уже все работает, результат устраивает, для чего что-то менять? Работает - не трогайте, пусть работает. 

Опубликовано
11 минут назад, Nikei777 сказал:

Не могу победить приложение ютуб на телевизоре Lg. В режиме Модуль ядра ютуб работает на всех устройствах кроме тв. На Lg тупит не в какую не хочет. В режиме  Go работает и на телевизоре. Где копнуть чтоб Лыжи завести в режиме модуль ядра. Там само приложение ютуб на лыжах какое то особенное.

По порядку я бы делал так:

1. Отказался от всех DNS типа Яндекс, skydns. Попробовал бы настроить на самом ТВ - DNS типа простого гугла. 

2. Засунул бы ТВ в отдельную политику , выходом только через туннель.

3. Отключил бы ipv6 в домашнем сегменте сети

4. Задал бы MTU = 1200, если отлегко, то стал бы увеличивать. Не отлегко задал бы еще меньше. 1100. Посмотрел бы. Не отлегло? —> забил бы. Установил на ТВ VPN клиент и включал бы его там или сделал бы отдельную политику с тайцами для тв. 

Опубликовано
1 час назад, hoaxisr сказал:

Есть идея настроить правильно MTU, и копать в сторону IPv6.

В общем, какой MTU не ставил, все-равно тормозит. IPv6 отключено везде. Пока переехал в userspace

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

Keenetic Hopper (KN-3811) (2260) в  режиме Модуль ядра все летает... ютуб иснтаграм теелграмм. Автору респект!!

 

Изменено пользователем pedroalvares
Опубликовано (изменено)
37 минут назад, pedroalvares сказал:

Keenetic Hopper (KN-3811) (2260) в  режиме Модуль ядра все летает... ютуб иснтаграм теелграмм. Автору респект!!

 

Я тупой простите :)

Не прочитал. И нагнал пурги :)

Спасибо. Рад, что у вас все работает :)

Изменено пользователем hoaxisr
Опубликовано
35 минут назад, pedroalvares сказал:

Keenetic Hopper (KN-3811) (2260) в  режиме Модуль ядра все летает

Можете огласить скорость на ARM? Что-то все ARMщики молчат как партизаны. Сколько ваш модный проц тащит? Есть ли разница по скорости в ядерном режиме и юзерспейс?

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

Keenetic Hopper (KN-3811) (2260) в  режиме Модуль ядра все летает. тарифный план провайдера 60/60 Мб. свой впс финляндия. скорость на картинке

photo_2026-02-15_17-26-50.jpg

Опубликовано
19 минут назад, Кинетиковод сказал:

Можете огласить скорость на ARM? Что-то все ARMщики молчат как партизаны. Сколько ваш модный проц тащит? Есть ли разница по скорости в ядерном режиме и юзерспейс?

это в ядерном режиме

 

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

скорость на ARM

kn-3811. так как использую бесплатный варп, то там скорость плавающая (сейчас в обоих режимах 200/80 показывает), но вот загрузка проца в userspace 80-90-100, а в kernel 70-80 (проверял кидая плойку в отдельную политику с этим варп и встроенной тест сети на ней). максимум на ядре видел 250 у себя (по внутреннему тесту awg manager)

ниже скриншоты пк в политике с варп и тест

image.thumb.png.47c6c3cc37b69d993be234b632e69eab.png1 - ядро

 

image.thumb.png.b2665736af7d2241298b5bda032aad7c.png2 - userspace

Изменено пользователем wednesday1388
перепутал подписи
Опубликовано

добрый день

в awg manager  при выборе интерфейса

отображается только один(основной)

хотя у меня 2 активных wan ethernet интерфейса.

есть возможность добавить выбор ?

 

Опубликовано
1 час назад, pedroalvares сказал:

тарифный план провайдера 60/60 Мб

С таким тарифным планом нет смысла тестировать ARM. Даже для MIPSов это маловато. wednesday1388 показал результат на 3811 на гигабитном канале. 

Опубликовано
41 минуту назад, AndroidMB сказал:

добрый день

в awg manager  при выборе интерфейса

отображается только один(основной)

хотя у меня 2 активных wan ethernet интерфейса.

есть возможность добавить выбор ?

 

Вообще говоря он должен быть сейчас этот выбор. Возможно слишком жестко фильтруются интерфейсы. Посмотрю

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

v.2.1.1

  • Исправлен порядок в мониторинге туннелей (pingcheck) когда выключаете мониторинг для одного из запущенных туннелей. Порядок всегда формируется по системным именам туннелей.
  • Исправлен debounce для событий WAN up при рестарте роутера
  • Исправлен фильтр WAN интерфейсов для установления маршрута до endpoint (должны быть видны все WAN интерфейсы)

Обновление доступно как в репозитории, так и в через скрипт установки. Обновление в программе тоже работает.

 

Нужны добровольцы на 7621, и других MIPS/MIPSEL для проведения испытаний на модуле ядра. Видимо нет необходимости изменять MTU. Но нужно в этом убедится.

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

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

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

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

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

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

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

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

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


×
×
  • Создать...

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

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