Installation d’une Brique Internet

Cette documentation s’adresse à des personnes qui ont quelques notions d’informatique et qui souhaitent installer elles-mêmes leur Brique Internet.

Pour obtenir une Brique clé-en-main et pouvoir l’utiliser directement sans avoir besoin de connaissances particulières, il faut se rapprocher d’une 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

Aujourd'hui nous n'installons plus de Brique à la main en suivant ces instructions, nous vous conseillons d'utiliser l'outil d'installation automatique trouvable à cette adresse ou de contacter un FAI associatif local.

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. L’alimentation 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.


L’ordre des étapes est important.

Étapes préliminaires

  1. Télécharger l’image (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 à l’aide d’un 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 l’image 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 l’alimentation. 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 d’une minute car la partition est redimensionnée et le serveur est redémarré automatiquement.

  1. Récupérer l’adresse IP locale de la Brique :

Pour les commandes suivantes, nous admettons que l’adresse IP locale de la Brique est 192.168.4.2. Remplacer par l’adresse 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 qu’elle 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 l’IP 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 l’exception 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 l’interface d’administration YunoHost (ici https://michu.nohost.me/yunohost/admin), entrer le mot de passe d’administration puis se rendre dans Utilisateurs > Nouvel utilisateur.

Il faudra entrer un nom d’utilisateur 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 l’utilisateur, ainsi qu’un quota d’email éventuel et un mot de passe (à ne pas confondre avec le mot de passe d’administration dans ce cas).

  1. Installer l’application 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. L’adresse du serveur peut être configurée plus tard (utiliser par exemple dummy.vpn).

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

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

De manière générale, il convient bien sûr d’éditer les paramètres en fonction de son fournisseur d’accès VPN. Ce dernier devra vous fournir des certificats et/ou des identifiants ainsi qu’un 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 l’application Hotspot : s’assurer que l’antenne WiFi est bien branchée, et répéter les étapes 4, 5 et 6 en installant à l’aide de l’URL https://github.com/labriqueinternet/hotspot_ynh :

Attention : si vous n'installez pas DoctorCube votre brique ne fonctionnera pas au prochain redémarrage, en effet, il y a un bug avec le kernel 4.5 et les boards olimex qui empêche aux Briques de se connecter au réseau (et ce qui les rends donc inutilisable), DoctorCube résoud ce problème.

  1. Installer DoctorCube : de la même manière que pour les précédentes applications, installez l'application DoctorCube qui fournie des configurations et des fixs spécifiques à la brique, en utilisant l'URL suivante: https://github.com/labriqueinternet/doctorcube_ynh L'installation de DoctorCube peut prendre de nombreuses minutes.

  2. TESTER : la Brique devrait être accessible via l’IP publique que sa connexion VPN lui procure. Si l’utilisateur 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 l’utilisateur a opté pour son propre nom de domaine, c’est 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 l’utilisateur à l’étape 7 devrait être visible, et devrait vous router tout bien vers l’Internet. Il est possible de regarder l’IP 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 d’accès VPN, c’est 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 l’expérience de la Brique (fap fap fap).

rm /etc/cron.d/yunohost-dyndns
echo "* * * * * root /sbin/ifconfig tun0 > /dev/null 2>&1 || systemctl restart ynh-vpnclient" > /etc/cron.d/restart-vpn
#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

D’autres conseils de sécurité sont décrits sur la page : sécurité.


Notes