(Modifié le 18/05/2019)

Raspberry PI 3

  • Processeur Quad Core Broadcom 2837 ARMv8 64bit
  • Vitesse du processeur : 1,2 GHz
  • 1 GB RAM
  • BCM43143 WiFi intégré
  • Bluetooth Low Energy (BLE) intégré
  • 40 broches d’extension GPIO
  • 4 ports USB2
  • Sortie vidéo et stéréo
  • Port caméra CSI pour connecter la caméra Raspberry Pi
  • Port d’affichage DSI pour connecter l’écran tactile Raspberry Pi
  • Lecteur de carte Micro SD pour charger votre système d’exploitation et stocker vos données
  • Source d’alimentation Micro USB, supporte maintenant jusqu’à 2,5A

Raspbian Stretch Lite

Raspbian Stretch Lite (download)

Samsung USB 3.0 Flash Drive FIT 32GB

Le Raspberry Pi 3 est capable de booter sur un stockage USB, disque dur externe ou clé USB.

** /!\ ATTENTION : ** il faut une unité de stockage suffisamment rapide pour être prise en compte

Choix d’une clé Samsung USB 3.0 Flash Drive FIT 32GB
Samsung USB 3.0 Flash Drive FIT 32GB

NOTE:La possibilité de booter sur un stockage USB externe est vérifiable après boot sur une carte SD par la commande vcgencmd otp_dump | grep 17: qui doit afficher 17:3020000a

Insérer la clé Samsung USB 3.0 Flash Drive FIT 32GB sur un des connecteurs USB de l’ordinateur linux
Repérer sur quel périphérique

dmesg
[ 3420.876497] sd 4:0:0:0: [sde] 62652416 512-byte logical blocks: (32.1 GB/29.9 GiB)
[ 3420.877074] sd 4:0:0:0: [sde] Write Protect is off
[ 3420.877081] sd 4:0:0:0: [sde] Mode Sense: 43 00 00 00
[ 3420.877653] sd 4:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 3420.884367]  sde: sde1 sde2
[ 3420.886547] sd 4:0:0:0: [sde] Attached SCSI removable disk

La “Clé USB” est sur le périphérique système /dev/sde

Aller dans le dossier contenant l’image de raspbian

sudo dd bs=4M if=2019-04-08-raspbian-stretch-lite.img of=/dev/sde conv=fsync
445+0 enregistrements lus
445+0 enregistrements écrits
1866465280 octets (1,9 GB, 1,7 GiB) copiés, 145,811 s, 12,8 MB/s

ATTENTION !!! Pas d’accès à la carte raspberry en mode terminal par la liaison série ou SSH
Les dernières versions de Raspbian nécessitent un écran et un clavier, car il n’est plus possible de se connecter directement par la liaison série ou SSH au Raspberry par défaut.

  • Pour réactiver le lancement de SSH au boot ,placer dans la partition boot de la carte SD un fichier nommé ssh, vide et sans extension.
  • Pour la liaison série ,il faut modifier le fichier de configuration **config.txt ** avant insertion de la “Clé USB” dans le raspberry

Identifier le périphérique

dmesg
[ 3420.877074] sd 4:0:0:0: [sde] Write Protect is off
[ 3420.877081] sd 4:0:0:0: [sde] Mode Sense: 43 00 00 00
[ 3420.877653] sd 4:0:0:0: [sde] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 3420.884367]  sde: sde1 sde2
[ 3420.886547] sd 4:0:0:0: [sde] Attached SCSI removable disk
[ 3664.644705]  sde: sde1 sde2

Montage de la “Clé USB” (sde1 qui correspond au boot) sur un dossier temporaire :

sudo mkdir -p /mnt/temp        #Créer un dossier de montage temporaire
sudo mount /dev/sde1 /mnt/temp #montage de la partition boot sur /mnt/temp

Modifier le fichier **temp/config.txt **

sudo nano /mnt/temp/config.txt

ajouter en fin de fichier pour activer la liasion série

enable_uart=1

Sauvegarde Crtl x y ou o Entrée
fichier ssh vide dans la partition boot

sudo touch /mnt/temp/ssh

Démontage et insertion “Clé USB” dans le raspberry :

sudo umount /mnt/temp

Après avoir inséré la “Clé USB” dans son logement ,connecté le cordon réseau et la liaison série puis brancher la micro-usb d’alimentation sur la carte raspberry et enfin le DC-Pack sur le secteur.

Trouver l’adresse avec nmap et utiliser ssh

sudo nmap -T4 -sP 192.168.0.0/24
[...]
Nmap scan report for 192.168.0.41
Host is up (0.00038s latency).
MAC Address: B8:27:EB:54:7E:6A (Raspberry Pi Foundation)
[...]

Connexion SSH

ssh pi@192.168.0.41

Voir Raspbian Raspberry PI 3 + USB 3.0 Flash Drive FIT 32GB + “Real Time Clock” + écran tactile TFT LCD 2.8” pour les opérations supplémentaires

Outils

sudo apt install curl jq figlet git

Infos

nano ~/rc
#!/bin/bash

get_infos() {
    seconds="$(< /proc/uptime)"
    seconds="${seconds/.*}"
    days="$((seconds / 60 / 60 / 24)) jour(s)"
    hours="$((seconds / 60 / 60 % 24)) heure(s)"
    mins="$((seconds / 60 % 60)) minute(s)"
    
    # Remove plural if < 2.
    ((${days/ *} == 1))  && days="${days/s}"
    ((${hours/ *} == 1)) && hours="${hours/s}"
    ((${mins/ *} == 1))  && mins="${mins/s}"
    
    # Hide empty fields.
    ((${days/ *} == 0))  && unset days
    ((${hours/ *} == 0)) && unset hours
    ((${mins/ *} == 0))  && unset mins
    
    uptime="${days:+$days, }${hours:+$hours, }${mins}"
    uptime="${uptime%', '}"
    uptime="${uptime:-${seconds} seconds}"

   if [[ -f "/sys/devices/virtual/dmi/id/board_vendor" ||
                    -f "/sys/devices/virtual/dmi/id/board_name" ]]; then
	model="$(< /sys/devices/virtual/dmi/id/board_vendor)"
	model+=" $(< /sys/devices/virtual/dmi/id/board_name)"
   fi

   if [[ -f "/sys/devices/virtual/dmi/id/bios_vendor" ||
                    -f "/sys/devices/virtual/dmi/id/bios_version" ]]; then
        bios="$(< /sys/devices/virtual/dmi/id/bios_vendor)"
        bios+=" $(< /sys/devices/virtual/dmi/id/bios_version)"
        bios+=" $(< /sys/devices/virtual/dmi/id/bios_date)"
   fi
}

#clear
PROCCOUNT=`ps -Afl | wc -l`  		# nombre de lignes
PROCCOUNT=`expr $PROCCOUNT - 5`		# on ote les non concernées
GROUPZ=`users`
ipinfo=$(curl -s ipinfo.io) 		# info localisation format json
#ipinfo=$(curl -s iplocality.com) 		# info localisation format json
publicip=$(echo $ipinfo | jq -r '.ip')  # extraction des données , installer préalablement "jq"
ville=$(echo $ipinfo | jq -r '.city')
pays=$(echo $ipinfo | jq -r '.country')
cpuname=`cat /proc/cpuinfo |grep 'model name' | cut -d: -f2 | sed -n 1p`
iplink=`ip link show |grep -m 1 "2:" | awk '{print $2}' | cut -d: -f1`

if [[ $GROUPZ == *irc* ]]; then
ENDSESSION=`cat /etc/security/limits.conf | grep "@irc" | grep maxlogins | awk {'print $4'}`
PRIVLAGED="IRC Account"
else
ENDSESSION="Unlimited"
PRIVLAGED="Regular User"
fi
get_infos
logo=$(figlet "`hostname --fqdn`")
meteo=$(curl fr.wttr.in/$ville?0)
lvm_entet="Sys. fichiers\tTaille\tUtilisé\tDispo\tUti%\tMonté sur"
lvm=$(df -h |grep mapper)    # les montages lvm
sdx=$(df -h |grep "/dev/sd") # les montages /dev/sd
distri=$(lsb_release -sd)
distri+=" $(uname -m)"

echo -e "
\e[1;31m$logo
\e[1;35m   \e[1;37mHostname \e[1;35m= \e[1;32m`hostname`
\e[1;35m \e[1;37mWired IpV4 \e[1;35m= \e[1;32m`ip addr show $iplink | grep 'inet\b' | awk '{print $2}' | cut -d/ -f1`
\e[1;35m \e[1;37mWired IpV6 \e[1;35m= \e[1;32m`ip addr show $iplink | grep -E 'inet6' |grep -E 'scope link' | awk '{print $2}' | cut -d/ -f1`
\e[1;35m     \e[1;37mKernel \e[1;35m= \e[1;32m`uname -r`
\e[1;35m    \e[1;37mDistrib \e[1;35m= \e[1;32m$distri
\e[1;35m     \e[1;37mUptime \e[1;35m= \e[1;32m`echo $uptime`
\e[1;35m       \e[1;37mBios \e[1;35m= \e[1;32m`echo $bios`
\e[1;35m      \e[1;37mBoard \e[1;35m= \e[1;32m`echo $model`
\e[1;35m        \e[1;37mCPU \e[1;35m= \e[1;32m`echo $cpuname`
\e[1;35m \e[1;37mMemory Use \e[1;35m= \e[1;32m`free -m | awk 'NR==2{printf "%s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }'`
\e[1;35m   \e[1;37mUsername \e[1;35m= \e[1;32m`whoami`
\e[1;35m   \e[1;37mSessions \e[1;35m= \e[1;32m`who | grep $USER | wc -l`
\e[1;35m\e[1;37mPublic IpV4 \e[1;35m= \e[1;32m`echo $publicip`
\e[1;35m\e[1;37mPublic IpV6 \e[1;35m= \e[1;32m`ip addr show $iplink | grep -m 1 'inet6\b'  | awk '{print $2}' | cut -d/ -f1`
\e[1;35m\e[1;96m$lvm_entet\e[1;35m\e[1;49m
\e[1;35m\e[1;33m$sdx
\e[1;35m\e[1;33m$lvm
\e[1;35m\e[1;32m$meteo
\e[1;0m
"

Droit en exécution et exécution

cd ~
chmod +x rc
./rc

Activer la wifi

éditer le fichier wpa_supplicant.conf

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Rendez-vous à la fin du fichier et ajoutez la définition de votre box en suivant ce template :

network={
    ssid="nomDeLaBox"
    psk="cléDeSécurité"
    key_mgmt=WPA-PSK
}

Remplacez nomDeLaBox par le SSID de votre box internet et cléDeSécurité par le mot de passe de votre box.
Si votre box utilise une clé de type WEP plutôt que du WPA/WPA2, insérez la valeur NONE dans key_mgmt, pour obtenir quelque chose de la forme key_mgmt=NONE.
Sauvegarder le fichier en faisant CTRL+O, puis quittez-le avec CTRL+X !

Raspberry Pi 3 est maintenant configurer pour se connecter à internet via sa puce Wi-Fi. Il ne vous reste plus qu’à redémarrer le Raspberry Pi avec cette commande :

sudo reboot

Kodi sur Raspbian Stretch

Introduction

Après tant d’articles sur les problèmes rencontrés lors de l’installation de Kodi sur Raspbian, spécialement sur le nouveau Raspbian Stretch, voici un guide complet sur la façon de le faire, et une tentative pour garder les choses ensemble au même endroit.

A l’époque de la première image Raspbian Stretch publiée par la Fondation RPi, il n’y avait que la version générique de Debian Kodi (17.1) qui est compilée contre OpenGL, donc pas optimale pour fonctionner sur le RPi (du moins à cette époque), elle fonctionne très lentement. Mais maintenant, la dernière version stable est disponible sur les repos, compilée contre OpenGLES, optimisée pour le RPi.

Dernière version stable disponible sur Raspbian : Kodi 18.1 Leia

Installation Kodi

Pour l’installer, vous devez d’abord mettre à jour/rafraîchir les paquets, puis installer le paquet principal. Ceci peut être fait dans un terminal virtuel en exécutant les commandes respectives :

sudo apt update
sudo apt install kodi

Notez que Kodi sur Raspbian, comme la plupart des systèmes d’exploitation basés sur Debian, est divisé en plusieurs paquets, donc vous ne pouvez installer que ce dont vous avez vraiment besoin. En plus du paquet principal, vous trouverez de nombreux paquets “addons binaires” qui fournissent des fonctionnalités supplémentaires à Kodi. Par exemple, PVRs, support de joystick, flux d’entrées, visualisations, etc.

Vous pouvez facilement rechercher des paquets supplémentaires en cours d’exécution :

apt-cache search kodi

Et installez ce que vous voulez. Par exemple, dans ce cas, nous installerons le support du joystick, IPTV Simple PVR et les addons d’inputstream :

sudo apt-get install kodi-peripheral-joystick kodi-pvr-iptvsimple kodi-inputstream-adaptive kodi-inputstream-rtmp

Ensuite, redémarrez Kodi et vérifiez si les addons binaires sont activés dans l’interface Kodi, sinon, activez-les.

Voici d’autres addons binaires recommandés à installer (uniquement pour Kodi 18 et plus) :
-kodi-vfs-libarchive - support des fichiers compressés
-kodi-vfs-nfs - support NFS
-kodi-vfs-sftp - support SFTP

sudo apt-get install kodi-vfs-libarchive kodi-vfs-nfs kodi-vfs-sftp

Alternativement et plus facilement, si vous utilisez Raspbian avec Desktop, vous pouvez simplement ouvrir le gestionnaire de paquets graphiques “Dont know the name of it” dans le menu en haut à gauche, rechercher “Kodi” et installer les paquets que vous voulez.

Ajustements

C’est très important !

-Kodi sur Raspbian nécessite un minimum de 160 Mo de RAM dédiée au GPU pour fonctionner correctement !
Ceci peut être fait en exécutant “sudo raspi-config” -> “Advanced Options” -> “Memory Split” -> 160.

-Si vous avez un RPi 2/3, le volume recommandé est de 256 Mo de RAM pour le GPU.

-Kodi 18 sur le Raspberry Pi supporte maintenant les fichiers vidéo 10bit (au moins h264 et h265) mais ils sont décodés par logiciel. Le Pi 3B / 3B+ ne peut faire que du 720p 10 bits et du 1080p 10 bits à faible débit !
Pour cela, vous avez besoin d’au moins 300 Mo de RAM pour le GPU.

Si vous avez un RPi 0/1/2 et que vous voulez lire des vidéos h264 50 ou 60 images/seconde, selon la version du noyau/firmware que vous utilisez, vous devrez peut-être ajouter une nouvelle ligne dans /boot/config.txt avec :

disable_auto_turbo=0

Raspberry Pi 3 : Memory Split 300Mo (nécessite un redémarrage)

Information importante

Kodi ne fonctionnera que si vous utilisez les pilotes Broadcom ! C’est le pilote “Original non-GL desktop driver” sur raspi-config, qui est actuellement le pilote par défaut sur les images Raspbian.
Si vous sélectionnez le pilote OpenGL open-source, cela ne fonctionnera pas !

Le package Kodi inclut à la fois un binaire ARMv6 et ARMv7, qui est autosélectionné en fonction de la version du Raspberry Pi que vous avez pour de meilleures performances. Les optimisations disponibles dans Open/LibreELEC comme l’accélération H265/HEVC NEON sont également incluses et activées automatiquement si vous avez un RPi 2/3.

Information supplémentaire (falcultative)

EXÉCUTER KODI AVEC UN AUTRE UTILISATEUR DIFFÉRENT DE L’UTILISATEUR PAR DÉFAUT “PI” :

Si vous voulez exécuter Kodi avec un utilisateur différent de “pi” par défaut, cet utilisateur doit faire partie des groupes suivants, pour que tout fonctionne correctement :
audio, vidéo, entrée, dialout, plugdev, netdev (nécessite confirmation), utilisateurs, cdrom (seulement si vous avez des lecteurs cd/dvd) et tty (nécessite confirmation).
Pour cela, exécutez la commande suivante :

sudo usermod -a -G audio,video,input,dialout,plugdev,netdev,users,cdrom,tty "username"

Remplacez “username” par le nom d’utilisateur désiré.
Selon le cas d’utilisation de Kodi, tous ces groupes peuvent ne pas être nécessaires.

DÉMARRAGE AUTOMATIQUE DE KODI AU DÉMARRAGE :

Option 1 (sans bureau) :
Si vous voulez démarrer automatiquement Kodi au démarrage, allez dans rc-gui sur le bureau Raspbian ou dans raspi-config sur un terminal virtuel, et choisissez l’option pour démarrer en CLI/console. Ceci peut être fait en exécutant:
“sudo raspi-config” -> “Boot Options” et sélectionner “B2 Console Autologin Text console, automatically logged in as ‘pi’ user”

Copiez/collez ensuite ce qui suit dans un terminal virtuel pour créer un service systemd pour le démarrage automatique :

sudo tee -a /etc/systemd/system/kodi.service <<_EOF_
[Unit]
Description = Kodi Media Center
After = remote-fs.target network-online.target
Wants = network-online.target

[Service]
User = pi
Group = pi
Type = simple
ExecStart = /usr/bin/kodi-standalone
Restart = on-abort
RestartSec = 5

[Install]
WantedBy = multi-user.target
_EOF_

Appuyez sur Entrée après collage. Activez ensuite le service :

sudo systemctl enable kodi.service

Ensuite, redémarrez.
Si vous voulez démarrer automatiquement Kodi au démarrage avec un autre utilisateur, modifiez les champs “Utilisateur” et “Groupe” ci-dessus en conséquence.
Dans ce cas, si vous ne pouvez pas monter/accéder aux disques et que vous avez également les options de redémarrage et d’arrêt manquantes, cochez cette case :https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=192499&start=50#p1240007

Option 2 (avec bureau) :
Si vous voulez démarrer automatiquement Kodi au démarrage mais aussi garder l’environnement de bureau en arrière-plan, éditez simplement le fichier (avec sudo) /etc/xdg/lxsession/LXDE-pi/autostart et ajoutez une ligne, de préférence au début du fichier avec :

@kodi

Cette option est un peu plus gourmande en ressources car l’DE est chargé en arrière-plan.

Code source

Le code source de ces paquetage/binaires est disponible ici : https://github.com/PIPplware/xbmc

La branche Krypton (Kodi 17) utilisée est “krypton_stable”, pour Leia (Kodi 18) elle est “leia_stable”, etc.
Chacune de ces branches est la branche originale de Kodi + des patchs correctifs pour Raspbian.

Si vous avez un problème, veuillez inclure votre journal Kodi. Pour plus d’informations sur la procédure à suivre : http://kodi.wiki/view/Log_file

NFS

Activation

    sudo systemctl enable rpcbind  
    sudo systemctl enable nfs-common.service
Synchronizing state of nfs-common.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable nfs-common
Failed to enable unit: Unit file /lib/systemd/system/nfs-common.service is masked.

    sudo rm /lib/systemd/system/nfs-common.service
    sudo systemctl daemon-reload
    sudo systemctl start nfs-common
    sudo systemctl status nfs-common
● nfs-common.service - LSB: NFS support files common to client and server
   Loaded: loaded (/etc/init.d/nfs-common; generated; vendor preset: enabled)
   Active: active (exited) since Mon 2019-05-13 18:31:29 CEST; 17s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 2564 ExecStart=/etc/init.d/nfs-common start (code=exited, status=0/SUCCESS)

May 13 18:31:29 raspberrypi systemd[1]: Starting LSB: NFS support files common to client and server...
May 13 18:31:29 raspberrypi nfs-common[2564]: Starting NFS common utilities: statd
May 13 18:31:29 raspberrypi nfs-common[2564]: Not starting: portmapper is not running ... (warning).
May 13 18:31:29 raspberrypi systemd[1]: Started LSB: NFS support files common to client and server.

    sudo systemctl enable nfs-common
    sudo systemctl start rpcbind

Portmap doit attendre les instructions sur le port 111:

sudo rpcinfo -p | grep portmap
    100000    4   tcp    111  portmapper
    100000    3   tcp    111  portmapper
    100000    2   tcp    111  portmapper
    100000    4   udp    111  portmapper
    100000    3   udp    111  portmapper
    100000    2   udp    111  portmapper

Autofs

Montage auto pour la gestion des cartes

sudo apt install autofs

Modifier le fichier /etc/auto.master

sudo nano /etc/auto.master
+auto.master
/home/pi/nfs        /etc/auto.nfs --ghost

Créer le fichier /etc/auto.nfs

sudo nano /etc/auto.nfs

videos -fstype=nfs,rw,uid=1000,guid=1000,rsize=8192,wsize=8192 192.168.0.28:/home/yannick/video

Recharger

sudo systemctl restart autofs

Vérifier

ls /home/pi/nfs/videos
    c_est_pas_sorcier  films  serie  StylesModeles.pdf

OpenVPN

Installer les paquets openvpn openresolv

sudo apt install openvpn openresolv

décompressez le fichier téléchargé mullvad_config_linux_all.zip dans /etc/openvpn/client/.

sudo -s
cd /etc/openvpn/client
unzip mullvad_config_linux_all.zip
rm mullvad_config_linux_all.zip

Le dossier /etc/openvpn/client/mullvad_config_linux_all contient tous les fichiers de configuration par pays (.conf) , le certificat mullvad_ca.crt , le fichier qui contient log/mdp mullvad_userpass.txt et le script update-resolv-conf.

Afin d’utiliser les serveurs de noms fournis par Mullvad, le script update-resolv-conf est appelé au démarrage et à l’arrêt de la connexion avec OpenVPN pour modifier resolv.conf afin d’inclure les bonnes adresses IP. Ce script est également inclus dans le fichier zip de configuration Mullvad, mais doit être déplacé vers /etc/openvpn/ pour correspondre au chemin spécifié dans le fichier de configuration Mullvad :

sudo mv /etc/openvpn/client/mullvad_config_linux_all/update-resolv-conf /etc/openvpn/
sudo chmod 755 /etc/openvpn/update-resolv-conf  # droits d'accès en exécution

Le script peut être mis à jour avec le script openvpn-update-resolv-conf, qui contient également une correction pour les fuites DNS.

Configuration test en ligne de commande

En plus du déplacement du script update-resolv-conf
Déplacer les fichiers suivants sous /etc/openvpn/client/ :

sudo mv /etc/openvpn/client/mullvad_config_linux_all/mullvad_ca.crt /etc/openvpn/client/
sudo mv /etc/openvpn/client/mullvad_config_linux_all/mullvad_userpass.txt /etc/openvpn/client/

Pour faire des tests en ligne de commande , on va copier un fichier de configuration Mullvad

sudo cp /etc/openvpn/client/mullvad_config_linux_all/mullvad_fr.conf /etc/openvpn/client/mullvad.conf
sudo -s # on passe en super utilisateur
cd /etc/openvpn/client/  # se rendre dans le dossier
openvpn mullvad.conf # exécuter

A la fin de l’intialisation

[...]
Sat May 18 15:09:37 2019 /sbin/ip route add 185.128.25.162/32 via 192.168.0.254
Sat May 18 15:09:37 2019 /sbin/ip route add 0.0.0.0/1 via 10.9.0.1
Sat May 18 15:09:37 2019 /sbin/ip route add 128.0.0.0/1 via 10.9.0.1
Sat May 18 15:09:37 2019 add_route_ipv6(::/2 -> fdda:d0d0:cafe:1195:: metric -1) dev tun0
Sat May 18 15:09:37 2019 /sbin/ip -6 route add ::/2 dev tun0
Sat May 18 15:09:37 2019 add_route_ipv6(4000::/2 -> fdda:d0d0:cafe:1195:: metric -1) dev tun0
Sat May 18 15:09:37 2019 /sbin/ip -6 route add 4000::/2 dev tun0
Sat May 18 15:09:37 2019 add_route_ipv6(8000::/2 -> fdda:d0d0:cafe:1195:: metric -1) dev tun0
Sat May 18 15:09:37 2019 /sbin/ip -6 route add 8000::/2 dev tun0
Sat May 18 15:09:37 2019 add_route_ipv6(c000::/2 -> fdda:d0d0:cafe:1195:: metric -1) dev tun0
Sat May 18 15:09:37 2019 /sbin/ip -6 route add c000::/2 dev tun0
Sat May 18 15:09:37 2019 Initialization Sequence Completed

Ouvrir un second terminal et vérifier

ip addr
4: tun0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 100
    link/none 
    inet 10.9.0.10/16 brd 10.9.255.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fdda:d0d0:cafe:1195::1008/64 scope global 
       valid_lft forever preferred_lft forever
    inet6 fe80::7a78:d83f:ae0:8fa9/64 scope link flags 800 
       valid_lft forever preferred_lft forever

Sur le premier terminal, Ctrl C pour stopper l’exécution du vpn.

Démarrage auto OpenVPN

Après la configuration, la connexion VPN peut être gérée avec openvpn-client@mullvad.service. Si le service ne démarre pas avec une erreur comme Impossible d’ouvrir TUN/TAP dev /dev/net/tun : En l’absence d’un tel périphérique (errno=19), vous devrez peut-être redémarrer le système pour permettre à OpenVPN de créer le périphérique réseau approprié pour la tâche.

sudo systemctl start openvpn-client@mullvad.service
sudo systemctl status openvpn-client@mullvad.service
● openvpn-client@mullvad.service - OpenVPN tunnel for mullvad
   Loaded: loaded (/lib/systemd/system/openvpn-client@.service; disabled; vendor preset: enabled)
   Active: active (running) since Sat 2019-05-18 15:15:02 CEST; 10s ago
     Docs: man:openvpn(8)
           https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
           https://community.openvpn.net/openvpn/wiki/HOWTO
 Main PID: 2881 (openvpn)
   Status: "Initialization Sequence Completed"
   CGroup: /system.slice/system-openvpn\x2dclient.slice/openvpn-client@mullvad.service
           └─2881 /usr/sbin/openvpn --suppress-timestamps --nobind --config mullvad.conf

mai 18 15:15:02 raspberrypi openvpn[2881]: add_route_ipv6(::/2 -> fdda:d0d0:cafe:1195:: metric -1) dev tun0
mai 18 15:15:02 raspberrypi openvpn[2881]: /sbin/ip -6 route add ::/2 dev tun0
mai 18 15:15:02 raspberrypi openvpn[2881]: add_route_ipv6(4000::/2 -> fdda:d0d0:cafe:1195:: metric -1) dev tun0
mai 18 15:15:02 raspberrypi openvpn[2881]: /sbin/ip -6 route add 4000::/2 dev tun0
mai 18 15:15:02 raspberrypi openvpn[2881]: add_route_ipv6(8000::/2 -> fdda:d0d0:cafe:1195:: metric -1) dev tun0
mai 18 15:15:02 raspberrypi openvpn[2881]: /sbin/ip -6 route add 8000::/2 dev tun0
mai 18 15:15:02 raspberrypi openvpn[2881]: add_route_ipv6(c000::/2 -> fdda:d0d0:cafe:1195:: metric -1) dev tun0
mai 18 15:15:02 raspberrypi openvpn[2881]: /sbin/ip -6 route add c000::/2 dev tun0
mai 18 15:15:02 raspberrypi openvpn[2881]: Initialization Sequence Completed
mai 18 15:15:02 raspberrypi systemd[1]: Started OpenVPN tunnel for mullvad.

Si tout est ok , valider pour démarrage au boot

sudo systemctl enable openvpn-client@mullvad.service