doc/installation_brique_fr.md
2016-03-30 14:32:52 +02:00

14 KiB
Raw Blame History

Installation dune Brique Internet

Cette documentation sadresse à des personnes qui ont **quelques notions dinformatique** et qui souhaitent installer elles-mêmes leur Brique Internet.

Pour obtenir une Brique clé-en-main et pouvoir lutiliser directement sans avoir besoin de connaissances particulières, il faut se rapprocher dune association locale qui fournit des Briques Internet à ses adhérents, comme celles référencées sur le site de FFDN.

Site du projet La Brique Internet

brique

Prérequis

Une Brique Internet complète, soit :

  • Un mini-serveur Olimex :
  • A20-OLinuXino-LIME
  • A20-OLinuXino-LIME2
  • Une carte micro-SD (des Transcend 300x pour des raisons de performance/stabilité).
  • Un adaptateur secteur européen pour alimenter la brique. Lalimentation via USB semble peu stable.
  • Un câble Ethernet/RJ-45 pour brancher la Brique à son routeur.
  • Une antenne WiFi :
  • MOD-WIFI-R5370-ANT (non-libre)
  • AR9271 (libre, mais limitée à sept connexions simultanées maximum)

Et évidemment, un ordinateur sous GNU/Linux ou BSD.


Lordre des étapes est important.

Étapes préliminaires

  1. Télécharger limage (lime1 ou lime2), valider son checksum MD5, puis la décompresser :
% cd /tmp/
% wget http://repo.labriqueinter.net/labriqueinternet_A20LIME_latest_jessie.img.tar.xz
% wget http://repo.labriqueinter.net/MD5SUMS
% md5sum -c MD5SUMS
% tar -xf labriqueinternet_*.img.tar.xz
% mv labriqueinternet_*.img labriqueinternet.img
  1. Identifier le nom de la carte micro-SD (SDNAME) en tapant la commande ls -1 /sys/block/, en insérant la carte micro-SD (éventuellement à laide dun adaptateur) dans son ordinateur, puis en retapant la commande ls -1 /sys/block/. Le nom de la carte micro-SD (SDNAME) correspond à la ligne qui apparaît en plus après la seconde saisie (e.g. sdb ou mmcblk0).

  2. Copier limage sur la carte (remplacer SDNAME par le nom trouvé lors de létape précédente) :

sudo dd if=/tmp/labriqueinternet.img of=/dev/SDNAME bs=1M
sync
  1. Mettre la carte micro-SD dans une Brique, connecter la brique à votre routeur avec le câble Ethernet, puis brancher lalimentation. La brique démarre normalement toute seule, et les LEDs du port Ethernet se mettent à clignoter au bout de dix secondes maximum.
Le premier démarrage peut prendre un peu plus dune minute car la partition est redimensionnée et le serveur est redémarré automatiquement.
  1. Récupérer ladresse IP locale de la Brique :
  • soit avec une commande comme sudo arp-scan --local | grep -P '\t02' ou bien avec la commande sudo arp-scan --local -I wlan0 | grep -P '\t02' si votre ordinateur est connecté en WiFi.
  • soit via linterface du routeur listant les clients DHCP,
  • soit en branchant un écran en HDMI à la Brique, et en exécutant ifconfig.
Pour les commandes suivantes, nous admettons que ladresse IP locale de la Brique est **192.168.4.2**. Remplacer par ladresse IP précédemment déterminée.
  1. Se connecter en SSH en root à la Brique, le mot de passe par défaut est olinux :
ssh root@192.168.4.2

À la première connexion, il sera demandé de changer le mot de passe : entrer à nouveau olinux, puis saisir deux fois le nouveau mot de passe.

  1. Mettre à jour le système (environ 15 minutes) :
apt-get update && apt-get dist-upgrade
  1. (optionnel) Si vous avez une antenne WiFi libre, la débrancher/rebrancher pour être sûr quelle soit reconnue après la mise à jour.

Étapes de configuration

Nous installons ici la Brique de **michu.nohost.me**. Remplacer ce nom par le nom de domaine choisi (et comme précédemment lIP 192.168.4.2 par celle de la brique)
  1. Mettre à jour le fichier /etc/hosts de son ordinateur client pour pouvoir accéder à la Brique en local via michu.nohost.me, en ajoutant à la fin :
192.168.4.2 michu.nohost.me
  1. Procéder à la postinstallation en se connectant à la Brique sur https://michu.nohost.me (accepter lexception de sécurité du certificat).
**Note :** il est également possible de réaliser cette étape en ligne de commande via SSH en exécutant `yunohost tools postinstall`.
  1. Créer le premier utilisateur : se rendre dans linterface dadministration YunoHost (ici https://michu.nohost.me/yunohost/admin), entrer le mot de passe dadministration puis se rendre dans Utilisateurs > Nouvel utilisateur.
Il faudra entrer un **nom dutilisateur** sans majuscule/espace/tiret, un **nom/prénom/pseudo** en deux parties (obligatoires, merci LDAP) qui correspondra au nom qui apparaîtra sur les futurs emails de lutilisateur, ainsi quun **quota demail** éventuel et un **mot de passe** (*à ne pas confondre avec le mot de passe dadministration dans ce cas*).
  1. Installer lapplication VPN Client : se rendre dans Applications > Installer, et entrer https://github.com/labriqueinternet/vpnclient_ynh dans le champs URL du formulaire Installer une application personnalisée tout en bas de la page. Ladresse du serveur peut être configurée plus tard (utiliser par exemple dummy.vpn).

  2. Restreindre laccès à lapplication VPN Client (optionnel) : se rendre dans Applications > VPN Client > Accès et sélectionner lutilisateur précédemment créé, de sorte que les futurs potentiels nouveaux utilisateurs ne puissent pas modifier les paramètres daccès VPN.

  3. Configurer lapplication VPN Client : se connecter à linterface utilisateur (ici https://michu.nohost.me/yunohost/sso/) et entrer les identifiants de lutilisateur précédemment créé. Vous devriez voir apparaître VPN Client dans votre liste dapplication :

De manière générale, il convient bien sûr déditer les paramètres en fonction de son fournisseur daccès VPN. Ce dernier devra vous fournir des certificats et/ou des identifiants ainsi quun préfixe délégué IPv6.
Pour Neutrinet, dans **Advanced**, il faudra également ajouter trois directives spécifiques :
resolv-retry infinite
ns-cert-type server
topology subnet
**Attention** : le redémarrage du service, déclenché par le bouton **Save and reload**, peut prendre quelques minutes.
  1. Installer lapplication Hotspot : sassurer que lantenne WiFi est bien branchée, et répéter les étapes 4, 5 et 6 en installant à laide de lURL https://github.com/labriqueinternet/hotspot_ynh :
  1. TESTER : la Brique devrait être accessible via lIP publique que sa connexion VPN lui procure. Si lutilisateur a opté pour un nom de domaine en .nohost.me, patienter quelques minutes que son IP se propage sur le serveur DNS de YunoHost. Si lutilisateur a opté pour son propre nom de domaine, cest le moment de configurer ses enregistrements DNS correctement chez son registrar. Si tout se passe bien côté hotspot, un réseau WiFi du nom choisi par lutilisateur à létape 7 devrait être visible, et devrait vous router tout bien vers lInternet. Il est possible de regarder lIP avec laquelle on sort sur Internet (IPv4 / IPv6) :
% host $(wget -qO- ip.yunohost.org)
% host $(wget -qO- ip6.yunohost.org)

Si le retour des deux commandes précédentes contient le nom du fournisseur daccès VPN, cest que la Brique fait bien accéder à Internet via le VPN.

Étapes supplémentaires (pour une Brique idéale)

Ces étapes ne sont pas obligatoires mais peuvent améliorer considérablement lexpérience de la Brique (fap fap fap).

  • Supprimer le CRON DynDNS : si lutilisateur a opté pour un nom de domaine en .nohost.me, YunoHost a configuré automatiquement un client DynDNS sur la Brique qui va avertir le serveur DNS dun potentiel changement dIP publique. Or, lIP fournie par la connexion VPN est fixe. Il convient donc de supprimer ce client, qui pourrait malencontreusement mettre à jour lIP dans les DNS si la connexion VPN venait à tomber :
rm /etc/cron.d/yunohost-dyndns
  • Sassurer du nom de linterface WiFi : lors du changement dantenne WiFi (même si le modèle reste le même), il peut arriver que le nom de linterface WiFi change, typiquement de wlan0 à wlan1. Pour continuer à utiliser lapplication hotspot, il faut se rendre sur linterface web de configuration de lapplication (étape 10) et mettre à jour le Device.

  • Ajouter un CRON de restart du service VPN : selon les paramètres VPN client et serveur, il peut arriver que la connexion soit instable, et que le client VPN tombe de temps en temps. Pour sassurer quil redémarrera automatiquement, une bonne méthode quickndirty et de tester que le service tourne et de le redémarrer dans le cas contraire :

echo "* * * * * root /sbin/ifconfig tun0 > /dev/null 2>&1 || systemctl restart ynh-vpnclient" > /etc/cron.d/restart-vpn
  • Arrêter le service Amavis : Amavis est un antivirus qui soccupe de regarder si les pièces jointes des emails ne sont pas vérolées. Il est très lourd et tombe souvent en panne sur des petites machines comme la Brique. Pour arrêter Amavis, éditer le fichier /etc/postfix/main.cf et commenter la ligne 90 (normalement) :
#content_filter = amavis:[127.0.0.1]:10024

Éditer également le fichier /etc/postfix/master.cf pour y commenter les lignes relatives à Amavis, vers les lignes 119-122 :

#amavis unix    -       -       -       -       2     smtp
#     -o smtp_data_done_timeout=1200
#     -o smtp_send_xforward_command=yes
#     -o smtp_tls_note_starttls_offer=no

Une fois ces éditions effectuées, redémarrer le service postfix et arrêter le service amavis :

systemctl restart postfix
systemctl stop amavis
systemctl disable amavis
  • Mettre à jour la configuration SSH : par défaut, la connexion SSH en tant que root est possible sur la Brique ce qui est considéré comme une faille de sécurité. Quand vous voulez vous connecter en SSH, il est préférable de le faire en tant quadmin : cet utilisateur (qui est sudoer) a été créé automatiquement avec le même mot de passe que root. Pour ne garder que la connexion en tant quadmin, il convient déditer le /etc/ssh/sshd_config et de passer PermitRootLogin à without-password.
Dautres conseils de sécurité sont décrits sur la page : [sécurité](/security_fr).
  • Configurer le reverse DNS : pour sassurer du bon fonctionnement du serveur email, il est recommandé de configurer un reverse DNS pour son IP. Il faut sadresser au fournisseur de VPN. En tant que FAI associatif, cest un service faisable, autant le demander!

  • Configurer le DKIM : avec un SPF et un PTR bien configurés dans les DNS, les emails envoyés par la Brique ne devraient pas être considérés comme spam. Ceci dit, GMail et dautres dégraderont considérablement le spamscore si le DKIM nest pas configuré également. Cette opération est longue mais à considérer pour avoir un serveur email irréprochable en production. Plus de renseignement sur la page de documentation appropriée.

  • Installer Roundcube via linterface dadministration YunoHost et tester lenvoi et la réception demail.

  • Installer dautres applications et les découvrir.


Notes

  • Attention à la RAM : sur le modèle A20-OLinuXino-LIME, les 512 Mo partent vite. Les applications PHP ne sont pas très gourmandes, mais Searx et Etherpad Lite sont par exemple à installer avec des pincettes. Ce sont Amavis et MySQL qui consomment le plus de RAM. Amavis sera bientôt remplacé par rspamd qui est moins gourmand en ressources. Toutes les apps officielles fonctionnent sans problème de RAM avec le A20-OLinuXino-LIME2 (qui a 1 Go de RAM).

  • Attention à bien veiller à ce que les répertoires utilisateurs soient bien créés (étape 5.) dans /var/mail et /home/, sans quoi plusieurs bugs seront observables dans linterface dadministration (erreurs 500 en pagaille).