Wi-CAT LLC

Wireless Comprehensive Advanced Technology. Build your network now.

Wi-CAT LLC
Навигация Форума
Вы должны войти, чтобы создавать сообщения и темы.

VPN gre/wireguard/openvpn (Wive-NG-HQ 2.6.4 и старше), плюс пара слов о PSS

Начиная с 2.6.4 в Wive-NG-HQ для опытных пользователей и любителей Linux доступны вариации gre туннелей + openvpn + wireguard.

Конфигурируются они ровно так же как и в любом Linux , не забывая подгрузить нужные модули через modprobe (ip_gre/tun/wireguard соответственно).

Для хранения конфигураций и сертификатов предусмотрен раздел /pss который, в отличии от /etc (rwfs), не сбрасывается при обновлении ПО и по кнопке сброс. Т.е. представляет из себя постоянное хранилище.

Как и для RWFS с PSS можно иполнять свои скрипты по разным событиям используя хуки, только пути будут не /etc а /pss.

Список хуков:
1) /etc/udhcp.d - scripts start after udcpc renew lease
2) /etc/vlan.d - scripts start after vlans configure
3) /etc/ip(6)tables.d - scripts start after netfilter configure
4) /etc/ppp-l2tpsrv/ip-up(down).d - scripts start after client connect(disconnect) to VPN server
5) /etc/ppp/ip-up(down).d - scripts start after router connetc(disconnect) to external VPN server
6) /etc/scripts/wan_up.sh - this script start after WAN up and full services reinit
7) /etc/dnsmasq.d - include another lot of configuration dnsmasq options

Также исполняются по очереди все скрипты из /pss/rc.d после полной загрузки устройства (такой микроинит).

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

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

Для удобного управления кастомизациями предусмотрена поддержка пакетов и загрузки их из web (аналогично rwfs см тему в разделе по MT). Т.е. можно сформировать пакет на какой-то случай, а затем массово его заливать или модифицировать на ПК заливая через UI.

В UI (кроме openvpn) данный функционал в пределах устройств серии FT-AIR выноситься не будет, т.к. не ориентирован на неподготовленного пользователя и домашние устройства. Но всё может измениться... ;)

Напоминаю что Wive-NG-HQ поддерживает из UI следующие варианты VPN:
PPPOE
L2TP
L2TPv3
EOIP
PPTP

Поддерживаются как серверные, так и клиентские режимы работы.

P.S. Состояние pss сохраняется по команде fs pssave сбрасывается по fs resetps

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

Уважаемый, sfstudio. Когда может будет ожидать настройку OpenVPN Server через UI?

На текущий момент есть иные задачи, более критичные. Как будет свободное время (именно свободное, т.к. это сверх контракта с заказчиком FT-AIR будет делаться), так сразу. Пока увы.

Благодарю за ответ! Что ж, буду ждать... А не через UI у Вас есть описание, как выполнить настройку?

Аналогично развёртыванию из Entware (https://www.google.com/search?q=openvpn+entware&oq=openvpn+entware&aqs=chrome..69i57j0.5023j0j7&sourceid=chrome&ie=UTF-8)

Только ставить ничего не надо. Кладём конфиг, сертификаты в /etc, сохраняем fs save, добавляем запуск демона с переводом в фон из /etc/rc.d/rc.local например (ну или из другого какого хука).

Можно всё это оформить в виде пакета загружаемого через UI.

Ровно так же поступаем и с wireguard если надо.

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

Скрипты из /pss/rc.d исполняются дважды. Так задумано или это ошибка?

 

/etc/rc.d/rcS:

# support integrate pss storage services if exist
if [ "$PSFSDEVICE" != "" ] && [ -e /pss/rc.d ]; then
    $LOG "Add pss part services"
    ln -sf /pss/rc.d/S* /var/run/rc0.d
    ln -sf /pss/rc.d/W* /var/run/rc1.d
fi

/etc/rc.d/S98switchstage:

# customizers/isp scripts start
if [ -e /pss/rc.d ]; then
    $LOG "Starting customiser PSS services now."
    run-parts -a start /pss/rc.d &
fi

Упс, эт я зарапортjвался. Должен быть вызов только из switchstage. Пасибо.

Цитата: sfstudio от 03/06/2020, 12:11

В UI (кроме openvpn) данный функционал в пределах устройств серии FT-AIR выноситься не будет, т.к. не ориентирован на неподготовленного пользователя и домашние устройства. Но всё может измениться... ;)

Добрый день!

В UI так и нет возможности настроить OpenVPN сервер. Большая просьба: как это сделать вручную, напишите плз (или скиньте ссылку) понятную для подготовленного, но не очень, пользователя инструкцию.

Похоже забыли добавить вызов wan_up.sh для PSS. Остальные пока не проверял.

З.Ы. В конце опечатка(fs pssave вместо saveps)

А должны были?

pss != rwfs. PSS это операторская штука для постоянного хранения НЕКОТОРЫХ компонентов под КОНКРЕТНЫЕ запрошенные задачи операторов, оно не дублирует RWFS и его хуки и использовать его обычному юзверю чревато потом поиском программатора или консольного кабеля. Ибо если загнать через него устройство в режим комы или бутлупа, то сбросить состояние уже не выйдет.

Крайне не рекомендую энд юзерам что-то в pss делать. Лучше уж оформлять пакетом и подгружать после обновления в RWFS чем потом платить за восстановления СЦ ибо не гарантия.

 

P.S. Даю наводку. Что бы исполнять что либо из PSS хуками с rwfs достаточно в /pss/rc.d положть скриптик создающий нужные симлинки из rwfs в pss при старте. Но ещё раз обращаю внимание на небезопасность работы с PSS. Поэтому в паблик даже полного описания оного не дано. Ибо работать  с ним должен человек подготовленный и имеющий под рукой хотя бы консольный шнур на всякий.

C 3.5.6 будет добавлен хук /pss/usersrvc.sh и /etc/scripts/usersrvc.sh исполняемый в конце services.sh.

В виде параметров получает режим и вызов (подробнее см services.sh).

Ещё раз призываю по возможности не юзать PSS до момента пока логика написанная вами не отлажена на RWFS. Любая ошибка в логике на PSS может привести к тому, что устройство по просту не загрузится. И даже рекавери режимы не попогут её восстановить, потребуется как минимум консольный кабель для этого.

Поэтому если всё же решились юзать PSS то отладьте сначала всё с использованием RW-FS а потом уже переносите наработки в постоянное хранилище.

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

О, а вот это здорово, спасибо. Подозреваю, что Wireguard по аналогии со встроенным VPN-сервером надо будет передавать все вызовы.

Это вопрос вкусовщины. См сами как удобнее. Было бы у меня время, нарисовал бы штатные скрипты в инит. Но сейчас в силу определённых причин такой трындец...

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: