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

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

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

Очень хочется примеров их использования для интеграции приложений entware с "экосистемой" NDM.

Базовых примеров, демонстрирующих основные принципы их использования, с максимально возможным "разжёвыванием" этих принципов "для чайников".

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

Очень хочется примеров их использования для интеграции приложений entware с "экосистемой" NDM.

Базовых примеров, демонстрирующих основные принципы их использования, с максимально возможным "разжёвыванием" этих принципов "для чайников".

Поиск по форуму например amnezia-go, там можно найти про OpkgTun первоначальную информацию 

 

Изменено пользователем FLK
Опубликовано
4 часа назад, Pop70 сказал:

Очень хочется примеров

Здесь одна идея: интегрировать tun\tap интерфейс, который вы поднимаете в Entware, в логику прошивки. Включать\отключать этот интерфейс средствами прошивки вы не сможете, однако сможете использовать его в правилах файервола или роутинга в т.ч. прямо в веб-интерфейсе.

В Entware настраиваете свой любимый tunnel/vpn/mesh софт на использование интерфейса opkgtun0 (строчными, без прописных), в моём примере это tinc:

~ # cat /opt/etc/tinc/tinc.conf
…
Interface = opkgtun0

~ # cat /opt/etc/tinc/hosts/keenetic
Subnet = 192.168.254.3/32

В CLI роутера необходимо добавить описание интерфейса. Логика прошивки полагается только на эту часть:

interface OpkgTun0
    description Tinc
    security-level public
    ip address 192.168.254.3 255.255.255.255
    ip global auto
    ip tcp adjust-mss pmtu
    up
!
system configuration save

Обратите внимание, что адрес и подсеть вы задаёте дважды: при настройке софта в Entware и в CLI роутера.

Всё! Если сетевой интерфейс работоспособен, можете использовать его на страницах веб-интерфейса:

  • Интернет → Приоритеты подключений,
  • Сетевые правила → Межсетевой экран,
  • Сетевые правила → Переадресация портов,
  • Сетевые правила → Маршрутизация (включая Маршруты DNS),

Начните с этого.

Опубликовано
11 минут назад, Александр Рыжов сказал:

Здесь одна идея: интегрировать tun\tap интерфейс, который вы поднимаете в Entware, в логику прошивки. Включать\отключать этот интерфейс средствами прошивки вы не сможете, однако сможете использовать его в правилах файервола или роутинга в т.ч. прямо в веб-интерфейсе.

 

Начните с этого.

С этого начал, но...

проблемы:

1. "Мой любимый софт" создаёт tap интерфейс.

2. Интерфейс он создаёт с префиксом к тому, что указывается в настройках, и изменить это поведение невозможно.

Попытки объединть тот интерфейс с префиксом, с OpkgTap0 мостом ни к чему не привели. (объединяются, но результата нет)

3. dhcp (которым вполне себе логично было бы воспользоваться на tap интерфейсе в качестве клиента удалённого доступа) OpkgTap не поддерживает.

Пример применения OpkgTun интерфейса разбросан по всей теме, относящейся к конкретному приложению, примеров по Tap вообще не нашёл.

Идея понятная, и очень замечательная. 

Реализация, пока, для не специалиста, занимающегося сетями вплотную, не совсем очевидная. А отсутствие источников информации...

Вам, за пример по OpkgTun, спасибо огромное. 

Тему создал, чтобы сложить в одну кучу разрозненную информацию по применению этих новых, и очень полезных фич.

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

+ важным моментом для полноценной работы "интернета" через это подключение является добавление


ip route default OpkgTun0
 

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

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

3. dhcp (которым вполне себе логично было бы воспользоваться на tap интерфейсе в качестве клиента удалённого доступа) OpkgTap не поддерживает.

Т.е. команды выполняются без ошибок, но результата нет? К примеру:

interface OpkgTap0
up
!
interface Bridge0 include OpkgTap0

 

Опубликовано
34 минуты назад, Александр Рыжов сказал:

 К примеру:

interface OpkgTap0
up
!
interface Bridge0 include OpkgTap0

Да. Без ошибок, но в бридж я пихаю подключение от приложения и opkgtap0 в entware.

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

Ну и не понимаю как прописать шлюз интерфейсу OpkgTap0 в NDM.

Я вообще плохо понимаю как оно должно работать с этим интерфейсом.

Опубликовано
49 минут назад, Александр Рыжов сказал:

Т.е. команды выполняются без ошибок, но результата нет? К примеру...

 

И нет. При

Interface OpkgTap ip addres dhcp

Вылетает ошибка, что dhcp не поддерживает тип интерфейса OpkgTap.

Я, наверное, туплю дико - базовых знаний не хватает в этой области.

Опубликовано
В 11.01.2026 в 17:11, Pop70 сказал:

Да. Без ошибок, но в бридж я пихаю подключение от приложения и opkgtap0 в entware.

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

Имелось в виду "к этому бриджу"? Боюсь, прошивка будет конфигурировать их без оглядки на дополнительные интерфейсы. Вон, для iptables есть хуки в /opt/etc/ndm/netfilter.d для сохранения кастомных правил. Ничего подобного для L2-уровня нет, насколько знаю.

В 11.01.2026 в 17:23, Pop70 сказал:

Вылетает ошибка, что dhcp не поддерживает тип интерфейса OpkgTap.

 Вероятно, так и должно быть. Скорее всего DHCP навешивается на бридж, а не на конкретный tap-интерфейс.

Опубликовано
10 часов назад, Александр Рыжов сказал:

Имелось в виду "к этому бриджу"? Боюсь, прошивка будет конфигурировать их без оглядки на дополнительные интерфейсы. 

Имелось в виду как-то соединить opkgtap0 и tap интерфейс, созданный приложением в opkg.

Очевидное решение - бридж - не работает. Видимо, из-за особенностей реализации opkgtap0.

Не понятно, почему бы не.., либо разрешить задавать имя создаваемого в opkg интерфейса (хотябы, брать его из "описания"), либо создавать и выпускать в opkg полноценный wan-бридж, как это сделано для лан-сегментов, к которым tap-интерфейс приложения из opkg подключается без каких-либо проблем - проверено - создаётся лан-сегмент,  в opkg появляется соответствующий бридж (br0-br(n)), и в него добавляется tap интерфейс приложения - всё - приложение в этом сегменте как дома. Если не жалко одного-двух лан-портов, то можно и в wan тупо кабелем запустить, и настроить ещё одного ethernet провайдера, без танцев с бубном.

Опубликовано
10 часов назад, Александр Рыжов сказал:

. Скорее всего DHCP навешивается на бридж, а не на конкретный tap-интерфейс.

Скорее всего, так и есть. Тогда, wan-бридж, вместо OpkgTap решил бы и проблему "неподдреживаемого интерфейса".

С opkgtun - аналогично напрашивается возможность задавать имя интерфейса, чтобы не страдала совместимость с приложениями в opkg.

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

"Носом чую" что так можно, но знаний не хватает...

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

В общем, спасибо @hoaxisr за идею, подсказанную в другой теме.

Получилось, хоть и с бубном и костылями, но достаточно просто подружить интерфейсы.

ip link set opkgtap0 down
ip link set opkgtap0 name vpn_vpn
ip link set vpn_vpn up

vpncmd localhost /client /CMD AccountConnect MyConnectionName

ip link set vpn_vpn down
ip link set vpn_vpn name opkgtap0
ip link set opkgtap0 up

ip addr add 192.168..../24 dev opkgtap0

ip route add default via 192.168..1 dev opkgtap0

Это добавлено в один из скриптов, срабатывающих при запуске кинетика.

Перед этим, нужно создать и настроить интерфейс OpkgTap в CLI.

interface OpkgTap0
    description Имя
    security-level public
    ip address 192.168..254 255.255.255.0
    ip global auto
    ip tcp adjust-mss pmtu
    up
!
ip route default 192.168..1 OpkgTap0
system configuration save

Смысл состоит в том, чтобы дважды сменить имя интерфейсу, созданному NDM.

Первый раз переименовываем в имя, которое ожидает увидеть приложение, предоставляющее интерфейс,

Потом, переименованный интерфейс скармливаем приложению. (устанавливаем подключение, или запускаем сервис)

А потом переименовываем обратно, чтобы NDM этот интерфейс не потеряло, когда будет к нему обращаться, и рулить им.

 

Опубликовано
В 11.01.2026 в 15:35, Александр Рыжов сказал:

Если сетевой интерфейс работоспособен, можете использовать его на страницах веб-интерфейса:

  • Интернет → Приоритеты подключений,
  • Сетевые правила → Межсетевой экран,
  • Сетевые правила → Переадресация портов,
  • Сетевые правила → Маршрутизация (включая Маршруты DNS),

Кстати, это подключение прекрасно отображается и в системном мониторе, и его даже можно "включить/выключить" (как я понял только в логике прошивки, на состояние приложения это конечно не влияет, хотя, через обработчики событий, можно, наверное, организовать и управление приложением).

Не хватает его только на странице "Другие подключения", хотя ссылка из монитора состояния ведёт туда. Видимо, на будущее...

Опубликовано
В 11.01.2026 в 16:34, Denis P сказал:

ip route default OpkgTun0

Или 

ip route default шлюз OpkgTap(Tun)

если интерфейс не "точка-точка"

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

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

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

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

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

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

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

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

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

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

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

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