Table des matières

Installation d'une brique

Cette procédure explique comment installer une brique internet (Olimex Lime2 ou Lime) et la configurer avec le VPN de Neutrinet.

Générer les certificats du VPN

Pour utiliser notre VPN, vous devez suivre ce processus d'enregistrement. Vous aurez besoin de générer une clé privée et d'obtenir un certificat VPN personnel.

Dans le cas où, pour une certaine raison, vous réinstallez une brique et que vous souhaitez réutiliser vos identifiants VPN, vous pouvez les trouver sur une brique en fonction (ou à l'arrêt) sous la forme des fichiers : user.crt, user.key, ca-server.crt et credentials dans /etc/openvpn/keys.

Générer un fichier .cube

Pour configurer l'application VPN de Yunohost, vous aurez besoin d'un fichier cube qui contient vos identifiants et certificats VPN. Mettez tous vos fichiers VPN dans le même dossier.

Vous aurez aussi besoin d'un fichier contenant vos identifiants choisis pendant le processus d'enregistrement du VPN.

snippet.bash
cd <chemin/vers/le/dossier>
nano auth

Dans le fichier, écrivez vos identifiants, par exemple :

snippet.bash
une.adresse@mail.xyz
MotDePasse ou PhraseDePasse

Dans le même dossier, téléchargez le script de Neutrinet permettant de générer un .cube :

snippet.bash
wget https://git.domainepublic.net/Neutrinet/scripts/-/raw/master/cubefile/faire_un_point_cube.sh

Donnez les permissions d'exécution sur ce script :

snippet.bash
chmod +x ./faire_un_point_cube.sh

Exécutez le script :

snippet.bash
./faire_un_point_cube.sh 

Matériel nécessaire

C'est le strict minimum dont vous aurez besoin :

Vous pouvez trouver des détails sur les composants et les acheter ici

Autres

Vous aurez également besoin :

Installer Yunohost sur la carte SD

Télécharger l'image de Yunohost

Téléchargez la dernière version de Yunohost pour les briques internet (Olimex Lime1 et Lime2) depuis le Nextcloud de Neutrinet: https://files.neutrinet.be/s/x52qjKGkPiJYatC.

⚠ À l'heure actuelle (mai 2023), les images pour Olimex Lime1 ne sont plus mis à jour, car Armbian ne les supporte plus officiellement. Il est possible de partir d'une version plus ancienne de Yunohost (ex: 4.2.8) et faire une migration vers Yunohost 11, mais cela prendra beaucoup de temps.

💡 À l'heure actuelle (mai 2023), les images sur le site de Yunohost ne sont malheureusement plus à jour. Si vous malgré tout vous décidez d'utiliser une image de Yunohost, voici comment télécharger la clé GPG et vérifier la signature de l'image:

  1. Importez la clé GPG de Yunohost:
    bash gpg --keyserver keyserver.ubuntu.com --recv-keys 1904C5B42E4856DCD4E9CF96360AAF3259A3E6FF
  2. Téléchargez la signature de l'image:
    bash wget https://build.yunohost.org/internetcube-buster-4.1.7.4_v2021.04.01-lime2-stable.img.gz.sig
  3. Vérifiez la signature de l'image:
    bash gpg --verify internetcube-buster-4.1.7.4_v2021.04.01-lime2-stable.img.gz.sig

Pour les images fournies par Neutrinet, voici comment vérifier l'intégrité de l'image:

  1. Téléchargez le fichier sha256sums.txt depuis notre Nextcloud
  2. Placez le fichier dans le même dossier que l'image Yunohost
  3. Vérifiez l'intégrité de l'image:
    bash sha256sum --ignore-missing -c sha256sums.txt

Après avoir téléchargé et vérifié l'intégrité de votre image Yunohost, décompressez-la:

snippet.bash
gunzip internetcube_11.1.19_lime2-20230519.img.gz

Flashez la carte SD

Voyez la documentation de Yunohost pour d'autres méthodes graphiques : https://yunohost.org/fr/install/hardware:internetcube#flasher-l-image-image-typee

D'abord, insérez votre carte SD, puis trouvez le nom de votre carte SD :

snippet.bash
lsblk

Habituellement, c'est mmcblk0

Installez l'image sur votre carte SD (toutes les données contenues par la carte SD seront perdues) :

snippet.bash
sudo dd if=internetcube-buster-4.1.7.4_v2021.04.01-lime2-stable.img of=/dev/mmcblk0 status=progress

⚠ Veillez à ce que la carte SD ne soit pas montée pendant la copie!

Retirez la carte SD de votre ordinateur lorsque c'est fait.

Démarrez votre brique internet

Préparez-la

Démarrez-là

Trouvez la brique sur le réseau

Afin de connecter votre brique au réseau, vous devez trouver son adresse IP sur le réseau local.

Dans votre terminal, exécutez :

snippet.bash
sudo arp-scan -l | grep -P '\t02'

Le résultat doit ressembler à ceci :

192.168.1.46

Ces adresses IPs sont celles des briques internet connectées sur le réseau local.

Si le script ne trouve pas votre brique, essayez quelques minutes plus tard.

Démarrer l'installateur de la brique internet

Connectez vous sur : https://192.168.1.46 (Remplacez 192.168.1.46 avec l'adresse IP de votre brique telle qu'elle a été découverte lors de l'étape précédente)

Fournissez les détails suivants :

Vous serez en mesure de changer vos mots de passe ultérieurement si vous le souhaitez.

Installez l'application Neutrinet

Vos identifiants VPN seront valides pendant une année.

Connectez-vous en SSH à votre brique :

snippet.bash
ssh <identifiant>@192.168.1.46

(Remplacez 192.168.1.46 avec l'adresse IP de votre brique telle qu'elle a été découverte lors de l'étape précédente, et indiquez l'identifiant que vous avez choisi pour le premier utilisateur)

Installez l'application Neutrinet pour Yunohost qui renouvellera automatiquement les certificats avant leur expiration:

snippet.bash
sudo yunohost app install neutrinet

Vous pouvez laisser les valeurs par défaut.

Configurez le domaine principal

Configurez les enregistrements DNS

Connectez vous à l'interface d'admin de votre brique internet: https://192.168.1.46/yunohost/admin

Allez dans la partie Domaines et sélectionnez votre domaine principal.

Ensuite, sous l'onglet DNS, copiez les enregistrements DNS suggérés par Yunohost. Ils devraient être sous la forme:

; Basic ipv4/ipv6 records
@ 3600 IN A 111.222.333.444 # (Minimal) IPV4
@ 3600 IN 2001:AABB:CCDD:EEFF:1122:3344:5566:7788 # IPV6

; Mail
@ 3600 IN MX 10 domain.tld.
@ 3600 IN TXT "v=spf1 a mx -all"
mail._domainkey 3600 IN TXT "v=DKIM1; h=sha256; k=rsa; p=somelongrandomsecret"
_dmarc 3600 IN TXT "v=DMARC1; p=none"

; XMPP
_xmpp-client._tcp 3600 IN SRV 0 5 5222 domain.tld.
_xmpp-server._tcp 3600 IN SRV 0 5 5269 domain.tld.
muc 3600 IN CNAME domain.tld.
pubsub 3600 IN CNAME domain.tld.
vjud 3600 IN CNAME domain.tld.
xmpp-upload 3600 IN CNAME domain.tld.

; Extra
* 3600 IN A 111.222.333.444 # Wildcard: *.domain.tld and domain.tld redirection
* 3600 IN AAAA 2001:AABB:CCDD:EEFF:1122:3344:5566:7788
@ 3600 IN CAA 0 issue "letsencrypt.org"

Enfin, collez ces enregistrements DNS dans l'interface de configuration de votre registrar. Si vous ne voyez pas de quoi on parle, il est possible que Neutrinet gère le domaine pour vous. Il suffit de nous contacter pour qu'on effectue la modification.

Attendez quelques minutes le temps que les nouveaux DNS se propagent.

Installez le certificat Let's Encrypt

Par défaut, Yunohost un certificat auto-signé. Pour éviter que les visiteurs de votre site web se retrouvent face à un message qui fait peur, il faut installer un certificat Let's Encrypt.

Commencez par lancer l'outil Diagnostic de Yunohost, afin de vérifier que le domaine est correctement configuré (voir aussi l'étape précédente): https://192.168.1.46/yunohost/admin/#/diagnosis

Lorsqu'aucun message n'apparaît dans la section Enregistrements DNS de l'outil Diagnostic, allez dans Domaines puis sélectionnez votre domaine principal.

Dans l'onglet Certificats, cliquez sur le bouton Installer un certificat Let's Encrypt.

Reverse DNS

Les reverse DNS sont nécessaires au bon fonctionnement du serveur mail qu'est votre brique internet. Il s'agit d'associer l'IP de votre VPN au nom de domaine de votre brique internet. Cela permet d'éviter d'être considéré comme un spammeur lorsque vous enverrez des mails.

Pour savoir si le reverse DNS est correctement configuré, allez dans l'outil Diagnostic de Yunohost: https://192.168.1.46/yunohost/admin/#/diagnosis

Dans la catégorie E-mail, un message indique si le reverse DNS est correctement configuré.

Si ce n'est pas le cas, contactez-nous pour que l'on vous configure le reverse DNS. Celui-ci ne peut malheureusement pas être configuré par les utilisateurs, car l'opération doit se faire sur le serveur VPN de Neutrinet.

Configurez le Wifi Hotspot

Si vous avez installé le Wifi hotspot, quelques étapes supplémentaires sont nécessaires pour configurer l'IPv6 et les DNS.

Configurez l'IPv6

Connectez-vous à https://user.neutrinet.be/ et indiquez les identifiants de votre compte VPN. Vous pourrez les trouver dans votre fichier cube ou dans le fichier /etc/openvpn/keys/credentials sur votre brique internet.

Affichez les détails de votre client VPN en cliquant sur l'entrée avec votre adresse email.

Vous devriez voir un champ IPv6 subnet lease (la ligne avec un range IPv6 /64).

Il se peut que vous n'ayez pas encore de sous-réseau IPv6. Dans ce cas, cliquez sur Modify IP lease assignment.

Ensuite, cliquez sur votre adresse mail, et cliquez sur Add IPv6 subnet lease.

Choisissez un range de 64, et cliquez sur le bouton Assign.

Vous pouvez ensuite retourner dans les détails de votre client VPN pour connaître votre nouveau sous-réseau IPv6.

Connectez vous à la page d'admin du hotspot Wifi: https://192.168.1.46/yunohost/admin/#/apps/hotspot/main

Puis, sous l'onglet Configuration, cochez la case Advanced settings.

Dans le champ IPv6 delegated prefix, collez le sous-réseau IPv6, en omettant le /64.

Cochez également la case IPv6 firewall.

Cliquez sur le bouton Sauvegarder pour appliquer vos changements.

Configurez le résolveur DNS

Connectez vous à la page d'admin du hotspot Wifi: https://192.168.1.46/yunohost/admin/#/apps/hotspot/main

Puis, sous l'onglet Configuration, cochez la case Advanced settings.

Dans le champ DNS resolvers, indiquez les DNS de FDN par exemple (mais il en existe plein d'autres) :

80.67.169.12 80.67.169.40 2001:910:800::12 2001:910:800::40

Cliquez sur Add et sauvegardez les changements.

Problèmes connus

Pendant l'installation

Les dépôts de Debian ont changé de stable à old-stable

Voir aussi https://github.com/YunoHost/issues/issues/1852

Au début de l'installation de la brique, l'installation va être interrompue par l'erreur suivante :

snippet.bash
E: Repository 'http://deb.debian.org/debian buster InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
E: Repository 'http://security.debian.org buster/updates InRelease' changed its 'Suite' value from 'stable' to 'oldstable'
E: Repository 'http://deb.debian.org/debian buster-updates InRelease' changed its 'Suite' value from 'stable-updates' to 'oldstable-updates'
Command 'DEBIAN_FRONTEND=noninteractive APT_LISTCHANGES_FRONTEND=none LC_ALL=C apt-get -o=Acquire::Retries=3 -o=Dpkg::Use-Pty=0 --quiet --assume-yes update &>> ./data/upgrade.logs' returned non-zero exit status 100.

Connectez-vous à la brique en SSH avec le compte root :

snippet.bash
ssh root@192.168.1.46

Entrez yunohost comme mot de passe.

Ensuite, exécutez :

snippet.bash
apt update

Et répondez oui aux questions.

L'installation du VPN échoue

Voici aussi : https://github.com/labriqueinternet/install/issues/4

Dans le cas où le mot de passe du compte VPN contient des caractères spéciaux, l'installation échouera avec les erreurs suivantes :

snippet.bash
Running: yunohost app addaccess vpnclient -u '******'
'yunohost app addaccess' is deprecated and will be removed in the future
'yunohost app addaccess' is deprecated and will be removed in the future
allowed_users: 
  vpnclient: ******
Running: yunohost app setting vpnclient service_enabled -v 1
Running: ynh-vpnclient-loadcubefile.sh -u '******' -p '[REDACTED]' -c /tmp/config.cube
[VPN] Error: Configuration updated but service reload failed
Command 'ynh-vpnclient-loadcubefile.sh -u '******' -p '[REDACTED]' -c /tmp/config.cube &>> ./data/configure_vpnclient.logs' returned non-zero exit status 1.

Connectez vous à votre brique internet avec le compte admin :

snippet.bash
ssh admin@192.168.1.46

Entrez votre mot de passe d'administration.

Ensuite, lancez la commande qui a échoué :

snippet.bash
sudo ynh-vpnclient-loadcubefile.sh -u "<username>" -p "<password>" -c /tmp/config.cube

Remplacez s'il vous plait <username> et <password> par vos identifiants.

⚠ Faites attentions à laisser les guillemets.

Dans l'installateur de la brique internet, réessayer la dernière étape en cliquant sur le boutton jaune.

La barre de chargement freeze

Si la barre de chargement freeze pendant l'installation, activez le mode débug en appuyant sur le bouton.

Vous verrez ensuite les détails de l'install et ce que la procédure d'installation est en train de faire.

iptables/nftables ne semble pas fonctionner

Voir : https://chat.neutrinet.be/api/v4/files/3wxxx14t7fg6xjomitpyojk4fy/preview

Ceci est du à une mise à jour du noyau : vous devez juste redémarrer la brique.

Ensuite connectez-vous à l'installateur de la brique internet et réessayez la dernière étape.

Après l'installation

Problèmes avec /tmp dans la RAM

Par défaut dans les images Armbian, les fichiers du dosser '/tmp' sont stockés dans la RAM, ce qui n'est pas une bonne idée si vous avez moins d'un 1Gb de mémoire disponible. Voir tmpfs / armbian.

💡 Les images fournies par Neutrinet désactivent cette fonctionnalité par défaut.

Vous pouvez désactiver cela en exécutant les commandes suivantes :

snippet.bash
sudo sed s/^ENABLED=true/ENABLED=false/ /etc/default/armbian-zram-config -i
sudo sed s/^ENABLED=true/ENABLED=false/ /etc/default/armbian-ramlog -i
sudo sed 's/^tmpfs/# tmpfs/' /etc/fstab -i

Ensuite, redémarrez le cube:

snippet.bash
sudo reboot

L'installation de Roundcube échoue sur les Lime1

Roundcube nécessite plus de 500M pour s'installer. Sur les Lime1, il est nécessaire d'ajouter de la swap. Vous pouvez le faire en exécutant les commandes suivantes :

snippet.bash
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Vous pouvez vérifier la swap disponible :

bash sudo swapon --show

Ceci doit retourner une ligne à propos de la swap.

Ensuite, éditez le ichier fstab pour activer la swap au démarrage :

snippet.bash
sudo nano /etc/fstab

Ajoutez la ligne :

snippet.bash
/swapfile none swap sw 0 0

Le hotspot wifi ne démarre pas

Cela se produit lorsque l'antenne wifi n'a pas été correctement détectée.

Connectez-vous à l'interface d'admin du hotspot wifi: https://192.168.1.46/yunohost/admin/#/apps/hotspot/main

Dans l'onglet Configuration, cochez la case Enable Hotspot et sélectionnez le device correspondant à votre antenne wifi.

Cliquez sur Sauvegardez pour appliquer vos changements.


Si vous rencontrez d'autres problèmes, ou si vous avez éventuellement trouvé des solutions à des problèmes, n'hésitez pas à nous contacter : https://chat.neutrinet.be