WireGuard client: Impossible de définir une configuration, msg d'erreur

Mon serveur YunoHost

Matériel: Raspberry Pi à la maison
Version de YunoHost: 11.2.1
J’ai accès à mon serveur : En SSH | Par la webadmin | En direct avec un clavier/écran | …
Êtes-vous dans un contexte particulier ou avez-vous effectué des modificiations particulières sur votre instance ? : non
**appli concernée: wireguard_client 0.3~ynh1

Bonjour,
en vue de faire un système domotique, j’ai installé yunohost sur un raspberry pi4 à la maison. Pour que ce système soit accessible depuis n’importe où, je compte utiliser un serveur yunohost que je loue chez OVH. Ce serveur a une adresse fixe, alors que mon raspberry est derrière une livebox dont l’adresse internet peut changer. L’idée est que depuis la toile, je peux accéder au raspberry via le VPN du serveur OVH.
J’ai installé Wireguard sur le serveur OVH, et je peux l’utiliser avec l’appli WireGuard client depuis mon téléphone. J’ai donc l’impression que mon serveur VPN fonctionne bien.

Par contre, j’ai installé l’application WireGuard client sur mon raspberry pi, mais là lorsque je tente d’ajouter un nouveau client avec l’interface graphique, j’ai le message d’erreur suivant qui s’affiche :

Update panel 'main' of app 'wireguard_client' configuration 
YunoHost encountered an internal error
Really sorry about that.
You should look for help on the forum or the chat to fix the situation, or report the bug on the bugtracker.
The following information might be useful for the person helping you: 
Error: "500" Internal Server Error
Action: "PUT" /yunohost/api/apps/wireguard_client/config/main
Error message:
Unexpected server error
Traceback
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/moulinette/interfaces/api.py", line 453, in process
    ret = self.actionsmap.process(arguments, timeout=30, route=_route)
  File "/usr/lib/python3/dist-packages/moulinette/actionsmap.py", line 580, in process
    return func(**arguments)
  File "/usr/lib/python3/dist-packages/yunohost/log.py", line 410, in func_wrapper
    result = func(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/yunohost/app.py", line 1895, in app_config_set
    return config_.set(key, value, args, args_file, operation_logger=operation_logger)
  File "/usr/lib/python3/dist-packages/yunohost/utils/configpanel.py", line 205, in set
    self._ask()
  File "/usr/lib/python3/dist-packages/yunohost/utils/configpanel.py", line 609, in _ask
    {
  File "/usr/lib/python3/dist-packages/yunohost/utils/configpanel.py", line 612, in <dictcomp>
    if question.value is not None
AttributeError: 'AlertOption' object has no attribute 'value'

J’ai donc l’impression qu’il y a un bug dans l’interface graphique ?

Par ailleur, avec l’aide du forum, j’ai pu lancer le client (avec sudo wg-quick up wg0.conf’ et le fichier de conf récupéré du serveur OVH) et j’ai l’impression que ça marche (depuis le raspberry, un curl sur monippublique.com me renvoit bien l’adresse du serveur OVH).

Qu’en pensez-vous ? le problème vient-il de mon utilisation ?

C’est un bug introduit par la v11.2 de YunoHost, corrigé par fix config panel readonly .value · YunoHost/yunohost@e1ceb08 · GitHub et inclut dans la v11.2.2. :wink:

Bonjour,
merci de cette réponse rapide.
J’ai donc fait une mise à jour du système, et l’interface a bien fonctionné pour la mise en place du tunnel avec le serveur OVH.
Par contre maintenant


**Error**: `"500" Internal Server Error`

**Action**: `"PUT" /yunohost/api/services/wireguard_client@cloud/start`

**Error message:**

Could not start the service 'wireguard_client@cloud'

Recent service logs:-- Journal begins at Tue 2022-12-06 18:45:10 GMT, ends at Thu 2023-07-20 18:24:09 BST. --
Jul 20 18:11:25 systemd[1]: Starting WireGuard Client on cloud...
Jul 20 18:11:25 wg-quick[21751]: [#] ip link add cloud type wireguard
Jul 20 18:11:25 wg-quick[21751]: [#] wg setconf cloud /dev/fd/63
Jul 20 18:11:25 wg-quick[21751]: [#] ip -4 address add 10.10.10.1/32 dev cloud
Jul 20 18:11:25 wg-quick[21751]: [#] ip -6 address add fd42::1/128 dev cloud
Jul 20 18:11:25 wg-quick[21751]: [#] ip link set mtu 1450 up dev cloud
Jul 20 18:11:26 wg-quick[21773]: [#] resolvconf -a tun.cloud -m 0 -x
Jul 20 18:11:26 wg-quick[21751]: [#] ip -4 route add 0.0.0.0/0 dev cloud table 51820
Jul 20 18:11:26 wg-quick[21813]: RTNETLINK answers: File exists
Jul 20 18:11:26 wg-quick[21751]: [#] resolvconf -d tun.cloud -f
Jul 20 18:11:27 wg-quick[21751]: [#] ip -4 rule delete table 51820
Jul 20 18:11:27 wg-quick[21751]: [#] ip -4 rule delete table main suppress_prefixlength 0
Jul 20 18:11:27 wg-quick[21751]: [#] ip link delete dev cloud
Jul 20 18:11:27 systemd[1]: wireguard_client@cloud.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Jul 20 18:11:27 systemd[1]: wireguard_client@cloud.service: Failed with result 'exit-code'.
Jul 20 18:11:27 systemd[1]: Failed to start WireGuard Client on cloud.
Jul 20 18:24:07 systemd[1]: Starting WireGuard Client on cloud...
Jul 20 18:24:08 wg-quick[23915]: [#] ip link add cloud type wireguard
Jul 20 18:24:08 wg-quick[23915]: [#] wg setconf cloud /dev/fd/63
Jul 20 18:24:08 wg-quick[23915]: [#] ip -4 address add 10.10.10.1/32 dev cloud
Jul 20 18:24:08 wg-quick[23915]: [#] ip -6 address add fd42::1/128 dev cloud
Jul 20 18:24:08 wg-quick[23915]: [#] ip link set mtu 1450 up dev cloud
Jul 20 18:24:08 wg-quick[23937]: [#] resolvconf -a tun.cloud -m 0 -x
Jul 20 18:24:08 wg-quick[23915]: [#] ip -4 route add 0.0.0.0/0 dev cloud table 51820
Jul 20 18:24:08 wg-quick[23977]: RTNETLINK answers: File exists
Jul 20 18:24:08 wg-quick[23915]: [#] resolvconf -d tun.cloud -f
Jul 20 18:24:09 wg-quick[23915]: [#] ip link delete dev cloud
Jul 20 18:24:09 systemd[1]: wireguard_client@cloud.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Jul 20 18:24:09 systemd[1]: wireguard_client@cloud.service: Failed with result 'exit-code'.
Jul 20 18:24:09 systemd[1]: Failed to start WireGuard Client on cloud.

**While processing the action the server said:**

Could not execute the command 'systemctl start wireguard_client@cloud'

j’ai essayé de démarrer le service à la main (sudo wg-quick up maisongif_pi4.conf), mais cette fois-ci il me semble que c’est un échec, monippublique retourne l’adresse de ma livebox.

Le serveur est ok, j’ai vérifié en utilisant le VPN depuis un téléphone.

Merci de votre aide

Essayons de déboguer ça. En ligne de commande:

sudo su
systemctl stop wireguard_client@cloud
ip -br a

La dernière commande devrait lister les interfaces disponibles. cloud ne devrait pas en faire partie. Au cas où, effaçons-la et redémarrons le service:

ip addr flush dev cloud
systemctl start wireguard_client@cloud
1 Like

Bonjour,
merci de cette réponse. Je comprends que j’ai du déclarer manuellement l’interface, et de nouveau lorsque le client a été configuré avec yunohost.
En me documentant sur le problème, pour essayer de comprendre, je suis tombé sur cette page que j’ai trouvée très accessible, et qui explique le fonctionnement de WireGuard : WireGuard VPN - Introduction | Ubuntu
Ce matin en redémarrant le raspberry pi, tout a fonctionné sans mon intervention, donc je ne touche à rien, et je considère que l’incident est clos.
Le problème était la mise à jour que j’aurais du faire.
Merci pour le support, et bravo pour le travail effectué sur yunohost, j’en suis toujours épaté.

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.