Ошибка при установке Wireguard

Да, для сборки ядра для последнего релиза wb-2207.

Предполагаю, что подойдет инструкция по сбросу к заводским настройкам:
https://wirenboard.com/wiki/Wiren_Board_6_Firmware_Update

Здравствуйте, выкладываю кому нужно DEB пакеты с ядром, собранным с поддержкой wireguard.

Так же там выложены текстовые файлы с командами для проверки что ядро загрузится и получит доступ к корневой файловой системе на MMC памяти, файл load_kernel_from_usb.txt.

Так же там выложен файл root_on_usb_flash.txt с командами для расположение корневой файловой системы на USB флешке, нужно USB 2.0 флешка.

Ядро собрано для Wirenboard 6. В версии дистрибутива Debian Stretch.

При последующем обновлении штатным способом, через
apt update
apt upgrade

пакет с ядром может обновиться до версии из репозитория Wirenboard, в котором не будет поддержки wireguard.

Так же при сборке ядра опции поддержки USB и USB Storage Device были включены монолитно в ядро, а не модулем для обеспечения возможности расположения корневой файловой системы на внешнем USB накопителе.

2 лайка

Хорошая новость, в конфигурации ядра на GIT репозитории все нужные опции для поддержки wireguard включены по умолчанию.

Как следствие в новых пакетах с ядром в штатном репозитории Wirenboard модуль wireguard должен присутствовать.

Это если разработчики случайно не забыли отключить требуемые параметры.

Если всё же включили их специально - ждите, с новым ядром поддержка wireguard должна присутствовать из коробки.

Включили специально, как раз по запросам пользователей.

1 лайк

как проверить? )

Было б замечательно если бы включили по просьбам и другие недостающие модули о которым писалось не раз…
Например

  • чтобы упсы APC через usb в режиме hid работали
  • чтобы ip rule работал

экономия в 10кб размера ядра смысла не имеет, а пользы всем больше будет
или сделать как делают в том же openwrt или подобных, в ядре только самое нужное, а всё остальное через пакеты подулями ядра .ko прекрасно ставится и работает.

предлагать пользователям компилировать ядро самостоятельно конечно можно, но это ни разу не клиентоориентированность и нацеленность на создание классного продукта…

Проверить версию ядра

uname -r

Ядро должно быть версии выше 5.5.*.

В репозитории wirenboard последнее штатное ядро было версии 5.10.35, сейчас возможно более новое.

Если ядро младше версии 5.6, то обновляешь систему

apt update
apt upgrade

Перед обновлением удостоверься, что на корневой файловой системе и /mnt/data достаточно свободного места

df -h

После обновления перезагружаешься, ещё раз проверяешь версию ядра

uname -r

Должно быть 5.10.*, но может быть и выше.

Далее ставишь пакет wireguard-tools

apt install wireguard-tools

Ну и настраиваешь wireguard туннель.

Можешь просто попробовать загрузить модуль ядра wireguard

modprobe wireguard

И далее смотришь, что он загрузился

lsmod | grep wireguard

инструкция неполная )
какие репозитории добавлены?
у меня

apt install wireguard-tools
Чтение списков пакетов… Готово
Построение дерева зависимостей       
Чтение информации о состоянии… Готово
Пакет wireguard-tools недоступен, но упомянут в списке зависимостей другого пакета.
Это может означать, что пакет отсутствует, устарел, или доступен из источников, не упомянутых в sources.list

E: Для пакета «wireguard-tools» не найден кандидат на установку

Слушай, наверное я ставил из debian-backports
https://packages.debian.org/buster-backports/wireguard-tools
Но не подключая репозиторий:

wget http://ftp.us.debian.org/debian/pool/main/w/wireguard/wireguard-tools_1.0.20210223-1~bpo10+1_armhf.deb
dpkg -i wireguard-tools_1.0.20210223-1~bpo10+1_armhf.deb

Получилось?

Собственно для настройки Wireguard туннеля тебе нужны только утилиты из пакета wireguard-tools. Версии утилит из debian buster backprts бинарно совместимы с версией дистрибутива wirenboard на базе stretch.

Ты можешь даже не ставить их из пакета, а просто распаковать deb пакет и положить их по тем же путям, как файлы утилит лежат в пакете.

1 лайк

не, судя по всему, не только

wg-quick up client6
[#] ip link add client6 type wireguard
RTNETLINK answers: Operation not supported
Unable to access interface: Protocol not supported
[#] ip link delete dev client6
Cannot find device "client6"

модуля wireguard нет
на моём десктопе

$ modinfo wireguard | grep filename
filename:       /lib/modules/5.11.0-41-generic/kernel/drivers/net/wireguard/wireguard.ko

$ dpkg -S /lib/modules/5.11.0-41-generic/kernel/drivers/net/wireguard/wireguard.ko
linux-modules-5.11.0-41-generic: /lib/modules/5.11.0-41-generic/kernel/drivers/net/wireguard/wireguard.ko

на WB такого модуля нет )
откуда взял? )

Какая версия wirenboard? Какая версия дистрибутива wirenboard, на базе debian stretch или другая?

Какая версия ядра в wirenboard?

Покажи вывод

uname -a

Вот в этом сообщении: Ошибка при установке Wireguard - #34 от пользователя Konstantin_Ivanov

Я написал, что версия ядра должна быть выше 5.5.

На момент написания сообщения в официальном репозитории witenboard версия была 5.10.35-wb113.

Вот в этом сообщении:

Я выложил собранные мной deb пакеты с поддержкой wireguard.

Некоторые опции для работы wireguard были выключены и их нужно было включить, скомпилировать ядро и собрать deb пакеты.

Т.к. на момент когда я настраивал wireguard в репозитории wirenboard ядро было без поддержки wireguard.

А вот в этом сообщении: Ошибка при установке Wireguard - #30 от пользователя Konstantin_Ivanov

Я написал, что в git репозитории с исходными кодами ядра wirenboard все нужные опции для поддержки wireguard включены. И теперь при сборке ядра поддержка wireguard уже должна быть.

Вот в этом сообщении: Ошибка при установке Wireguard - #31 от пользователя BrainRoot

Представитель команды разработчиков или администратор форума подтвердил, что в исходных кодах ядра wirenboard, а точнее в конфигурации для сборки поддержка wireguard включена.

Из этого следует, что в репозитории wirenboard новые пакеты с ядром уже должны включать модуль wireguard.

Поэтому тебе нужно сделать

apt update
apt upgrade

Убедиться, что обновилось ядро, перезагрузиться с ним. Далее проверить что есть модуль wireguard и настроить VPN.

Если после обновления из репозитория и перезагрузки модуля нет - значит разработчики ещё не поместили в репозиторий deb пакет с ядром, в котором есть модуль wireguard.

Можешь установить собранный мной пакет, смотри ссылку на Яндекс диск или подождать пока разработчики обновят пакет с ядром в репозитории.

1 лайк

спасибо за развёрнутый ответ… сейчас пока нет времени с этим повозиться ) на днях , может, получится )

Добрый день!
Спасибо за добавление WireGuard в новый релиз. После обновления контроллера в тестовую среду, решил добавить WirenBoard как wireguard peer. Есть действующий сервер. Для настройки peer использовал следующую инструкцию - How To Set Up WireGuard on Debian 11 | DigitalOcean

но во время запуска столкнулся с ошибками, не понимаю пока причина в некорректной настройке или это ограничения вашего релиза? Заранее спасибо.

…пока отвечают спецы:
Я настраивал wireguard на WB по этой инструкции от Кинетика. Там подробно описана и установка, и выдача, и варианты проверить с помощью wg-quick. Единственное - п.1 инструкции можно не смотреть, у нас wireguard ставится штатным apt install wireguard.
Всё работает, но в процессе настройки пришлось доустанавливать пакет resolvconf (apt install resolvconf) - это есть в инструкции, п.7.

=======
Инструкция: https://help.keenetic.com/hc/ru/articles/360010511219

1 лайк

Спасибо, сбросил контроллер до заводских настроек и повторил процесс настройки peer согласно инструкции - How To Set Up WireGuard on Debian 11 | DigitalOcean .
Сам сервер давно настроен и пользуюсь на других устройствах.

В итоге получилось следующее:
При попытке запуска с комадной " systemctl start wg-quick@wg-client.service", выходит следующая ошибка:

НО сервер показывает handshake и в процессе запуска данной команды 2-3 раза доходит пинг до контроллера.

А что у вас настроено в конфиге сервиса, что сервис в лог пишет?

конфиг на контроллере:

[Interface]
PrivateKey = [ключ пира]
Address = 10.8.0.7/24
PostUp = ip rule add table 200 from 192.168.88.92
PostUp = ip route add table 200 default via 192.168.88.1
PreDown = ip rule delete table 200 from 192.168.88.92
PreDown = ip route delete table 200 default via 192.168.88.1
DNS = [днс работает корректно, проверяю на https://www.dnsleaktest.com/]

[Peer]
PublicKey = [ключ сервера
AllowedIPs = 0.0.0.0/0
Endpoint = [адрес сервера]:51820

Прошу прощения, не разобрался где логи смотреть (по форуму пишут что логи в var\log, но в моем случае отсутвует файл messages…), выкладываю что пишет в терминале:

ручной запуск:

root@wirenboard-A2KR67BZ:~# wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 10.8.0.7/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] resolvconf -a tun.wg0 -m 0 -x
/etc/resolvconf/update.d/libc: Warning: /etc/resolv.conf is not a symbolic link to /run/resolvconf/resolv.conf
[#] wg set wg0 fwmark 51820
[#] ip -4 route add 0.0.0.0/0 dev wg0 table 51820
[#] ip -4 rule add not fwmark 51820 table 51820
[#] ip -4 rule add table main suppress_prefixlength 0
[#] sysctl -q net.ipv4.conf.all.src_valid_mark=1
[#] nft -f /dev/fd/63
/dev/fd/63:5:1-96: Error: Could not process rule: No such file or directory

[#] resolvconf -d tun.wg0 -f
/etc/resolvconf/update.d/libc: Warning: /etc/resolv.conf is not a symbolic link to /run/resolvconf/resolv.conf
[#] ip -4 rule delete table 51820
[#] ip -4 rule delete table main suppress_prefixlength 0
[#] ip link delete dev wg0

При этом, во время данного запроса доходит часть пингов с телефона, подключенного к тому же серверу:

Если запускать по команде systemctl start wg-quick@wg0.service:

root@wirenboard-A2KR67BZ:~# systemctl enable wg-quick@wg0.service
root@wirenboard-A2KR67BZ:~# systemctl start wg-quick@wg0.service
Job for wg-quick@wg0.service failed because the control process exited with error code.
See “systemctl status wg-quick@wg0.service” and “journalctl -xe” for details.
root@wirenboard-A2KR67BZ:~# systemctl status wg-quick@wg0.service
● wg-quick@wg0.service - WireGuard via wg-quick(8) for wg0
Loaded: loaded (/lib/systemd/system/wg-quick@.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2023-03-24 23:19:09 MSK; 30s ago
Docs: man:wg-quick(8)
man:wg(8)
https://www.wireguard.com/
Quick Start - WireGuard
wireguard-tools - Required tools for WireGuard, such as wg(8) and wg-quick(8)
wireguard-tools - Required tools for WireGuard, such as wg(8) and wg-quick(8)
Process: 18380 ExecStart=/usr/bin/wg-quick up wg0 (code=exited, status=1/FAILURE)
Main PID: 18380 (code=exited, status=1/FAILURE)
CPU: 1.127s

Mar 24 23:19:04 wirenboard-A2KR67BZ wg-quick[18551]: /dev/fd/63:5:1-96: Error: Could not process rule: No such file or directory
Mar 24 23:19:04 wirenboard-A2KR67BZ wg-quick[18380]: [#] resolvconf -d tun.wg0 -f
Mar 24 23:19:06 wirenboard-A2KR67BZ wg-quick[18579]: /etc/resolvconf/update.d/libc: Warning: /etc/resolv.conf is not a symbolic link to /run/reso>
Mar 24 23:19:07 wirenboard-A2KR67BZ wg-quick[18380]: [#] ip -4 rule delete table 51820
Mar 24 23:19:08 wirenboard-A2KR67BZ wg-quick[18380]: [#] ip -4 rule delete table main suppress_prefixlength 0
Mar 24 23:19:08 wirenboard-A2KR67BZ wg-quick[18380]: [#] ip link delete dev wg0
Mar 24 23:19:09 wirenboard-A2KR67BZ systemd[1]: wg-quick@wg0.service: Main process exited, code=exited, status=1/FAILURE
Mar 24 23:19:09 wirenboard-A2KR67BZ systemd[1]: wg-quick@wg0.service: Failed with result ‘exit-code’.
Mar 24 23:19:09 wirenboard-A2KR67BZ systemd[1]: Failed to start WireGuard via wg-quick(8) for wg0.
Mar 24 23:19:09 wirenboard-A2KR67BZ systemd[1]: wg-quick@wg0.service: Consumed 1.127s CPU time.
lines 1-23/23 (END)…skipping…
● wg-quick@wg0.service - WireGuard via wg-quick(8) for wg0
Loaded: loaded (/lib/systemd/system/wg-quick@.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Fri 2023-03-24 23:19:09 MSK; 30s ago
Docs: man:wg-quick(8)
man:wg(8)
https://www.wireguard.com/
Quick Start - WireGuard
wireguard-tools - Required tools for WireGuard, such as wg(8) and wg-quick(8)
wireguard-tools - Required tools for WireGuard, such as wg(8) and wg-quick(8)
Process: 18380 ExecStart=/usr/bin/wg-quick up wg0 (code=exited, status=1/FAILURE)
Main PID: 18380 (code=exited, status=1/FAILURE)
CPU: 1.127s

Mar 24 23:19:04 wirenboard-A2KR67BZ wg-quick[18551]: /dev/fd/63:5:1-96: Error: Could not process rule: No such file or directory
Mar 24 23:19:04 wirenboard-A2KR67BZ wg-quick[18380]: [#] resolvconf -d tun.wg0 -f
Mar 24 23:19:06 wirenboard-A2KR67BZ wg-quick[18579]: /etc/resolvconf/update.d/libc: Warning: /etc/resolv.conf is not a symbolic link to /run/resolvconf/resolv.conf
Mar 24 23:19:07 wirenboard-A2KR67BZ wg-quick[18380]: [#] ip -4 rule delete table 51820
Mar 24 23:19:08 wirenboard-A2KR67BZ wg-quick[18380]: [#] ip -4 rule delete table main suppress_prefixlength 0
Mar 24 23:19:08 wirenboard-A2KR67BZ wg-quick[18380]: [#] ip link delete dev wg0
Mar 24 23:19:09 wirenboard-A2KR67BZ systemd[1]: wg-quick@wg0.service: Main process exited, code=exited, status=1/FAILURE
Mar 24 23:19:09 wirenboard-A2KR67BZ systemd[1]: wg-quick@wg0.service: Failed with result ‘exit-code’.
Mar 24 23:19:09 wirenboard-A2KR67BZ systemd[1]: Failed to start WireGuard via wg-quick(8) for wg0.
Mar 24 23:19:09 wirenboard-A2KR67BZ systemd[1]: wg-quick@wg0.service: Consumed 1.127s CPU time.

Пинги с телефона так же доходят в процессе попытки запуска вторым способом:

1 лайк

Вот этой строкой конфига что хотите делать:

Так как:

https://wirenboard.com/wiki/Journalctl
Но можно и в веб-интерфейсе.
Ну и явно написано как это делать:

В общем, советую убрать добавление маршрутов и правил и попробовать поднять без них.

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.