cClaude.rocks ☕ Le blog

[Nouvelles technologies du libre, sciences et coups de gueule…]

Menu
đŸ˜€ Ce billet a Ă©tĂ© Ă©ditĂ© le : 2022-12-13

LibreELEC intùgre nativement les binaires d’OpenVPN.

Le plus simple pour utiliser OpenVPN sur ce type de distribution de crĂ©er 3 fichiers dans le dossier .config de l’unique utilisateur de LibreELEC. Petit rappel sur LibreELEC, il n’y a qu’un seul utilisateur systĂšme : root, ce qui a pour consĂ©quence que la commande sudo n’existe pas.


ඏ

Voici les 3 fichiers dont vous aurez besoin :

  • /storage/.config/autostart.sh — Un petit script exĂ©cutĂ© au dĂ©marrage,
  • /storage/.config/my-open-vpn-configuration.ovpn — Votre fichier de configuration OpenVPN gĂ©nĂ©rĂ© lors de la crĂ©ation du compte VPN,
  • /storage/.config/.credentials — Un fichier contenant votre nom d'utilisateur pour le VPN et son mot de passe.

Le fichier /storage/.config/autostart.sh :

#!/bin/bash
sleep 20s

/usr/bin/openvpn --daemon \
  --config /storage/.config/my-open-vpn-configuration.ovpn \
  --auth-user-pass /storage/.config/.credentials

Le fichier /storage/.config/.credentials qui doit avoir le format suivant :

votre_nom_d_utilisateur_vpn
votre_mot_de_passe_utilisateur_vpn

Pour sécuriser à minima votre configuration (en ssh depuis la machine LibreELEC) :

chmod 600 /storage/.config/.credentials

Aide au diagnostique

Pour vous aider à recherche des problÚmes (en ssh depuis la machine LibreELEC) :

Créer un fichier ~/.config/autostart-debug.sh qui est presque le fichier initial, voici les différences :

#!/bin/bash
/usr/bin/openvpn \
  --config /storage/.config/my-open-vpn-configuration.ovpn \
  --auth-user-pass /storage/.config/.credentials

Ici nul besoin d’attendre (on enlùve la commande sleep) et on veut la sortie de la commande openvpn, on retire donc le paramùtre --daemon.

Avant d’exĂ©cuter le script, il faut s’assurer qu’il n’y ait pas de processus openvpn en mĂ©moire :

killall openvpn
bash ~/.config/autostart-debug.sh

Si vous devez corriger quelque chose dans la sĂ©quence de dĂ©marrage (donc directement aprĂšs le redĂ©marrage de la machine), par exemple pour affiner le temps d’attente, vous pouvez essayer de modifier le fichier ~/.config/autostart.sh comme suit :

#!/bin/bash
sleep 20s

logfile="${HOME}/.kodi/temp/openvpn.log"

/usr/bin/openvpn \
  --config /storage/.config/my-open-vpn-configuration.ovpn \
  --auth-user-pass /storage/.config/.credentials 1>&2 2>"${logfile}" &

ඏ

Créer un service pour OpenVPN

Notez que LibreELEC propose un exemple de service Linux pour OpenVPN /storage/.config/system.d/openvpn.service.sample que vous pouvez adapter Ă  vos besoins.

  • Exemple de service

    Voici ce qu’il contient :

    [Unit]
    Description=OpenVPN Autorun Service
    
    [Service]
    Type=forking
    Requires=network-online.service
    After=network-online.service
    ExecStart=/usr/sbin/openvpn --daemon --config /storage/.config/openvpn.config
    Restart=always
    RestartSec=15
    
    [Install]
    WantedBy=kodi.target
    

    Les notes contenues dans ce fichier :

    1) Edit /storage/.config/openvpn.config to the .config/.conf/.ovpn file from your VPN service provider and test it works first by connecting at the console:

    /usr/sbin/openvpn --daemon --config /storage/.config/openvpn.config
    

    2) The openvpn.service file must be addeded to the active systemd config before it will work. This is done by running:

    systemctl enable openvpn.service
    

    3) If you suspend/resume your LibreELEC system you will need to stop and restart the connection with a systemd *.power script, e.g.

    mkdir -p /storage/.config/sleep.d
    nano /storage/.config/sleep.d/01-openvpn.power
    

    Copy the sample script below.

    #!/bin/sh
    case "$1" in
      pre)
        systemctl stop openvpn.service
        ;;
      post)
        systemctl start openvpn.service
        ;;
      esac
    

ඏ

Autres astuces pour le diagnostic

Fonctionnement du VPN

Pour vĂ©rifier l’adresse IP extĂ©rieure vous pouvez utiliser les lignes suivantes :

curl https://ifconfig.me/ip
curl https://ifconfig.me/all.json

L’IP extĂ©rieure doit ĂȘtre celui du serveur VPN pas celle de votre box



Obtenir plus de détails

Ces informations peuvent ne pas ĂȘtre pertinente suivant les versions des diffĂ©rents os/logiciels.

Les informations de connexion peut-ĂȘtre trouvĂ© dessous : /etc/openvpn/

L’examen de syslog peut Ă©galement ĂȘtre utile :

grep VPN /var/log/syslog

Liens

኿


â„č 2006 - 2024 | 🏠 Accueil du domaine | 🏡 Accueil du blog