14 KiB
Installation d’une Brique Internet
Instructions basées sur l'image labriqueinternet_04-06-2015_jessie.img et écrites début Juillet par kload chez Neutrinet.
Prérequis
Une Brique Internet complète, soit :
- Un mini-serveur A20-OLinuXino-LIME ou A20-OLinuXino-LIME2.
- Une carte micro-SD (des Transcend 300x pour des raisons de performance/stabilité).
- Une antenne WiFi MOD-WIFI-R5370-ANT (non-libre) ou AR9271 (libre, mais limitée à 7 connexions simultanées maximum).
- 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.
Et évidemment, un ordinateur sous UNIX (e.g. GNU/Linux).
L’ordre des étapes est important.
Étapes préliminaires
- Télécharger l’image, la valider son checksum (en comparant la valeur de retour de la dernière commande avec celle sur le site), puis la décompresser :
% cd /tmp/
% wget http://repo.labriqueinter.net/labriqueinternet_latest_jessie.img.tar.xz
% sha512sum labriqueinternet_*.img.tar.xz
% tar -xf labriqueinternet_*.img.tar.xz
% mv labriqueinternet_*.img labriqueinternet.img
-
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 commandels -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). -
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
- Uniquement pour le modèle LIME2 : Monter la carte micro-SD et changer le lien symbolique suivant :
% sudo mount /dev/SDNAME /mnt/
% cd /mnt/boot/
% sudo rm board.dtb
% sudo ln -sf /boot/dtb/sun7i-a20-olinuxino-lime2.dtb board.dtb
- 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 10 secondes maximum.
- Récupérer l’adresse IP locale de la Brique :
- avec une commande comme
arp-scan --local | grep -P '\t02'
- soit via l'interface du routeur listant les clients DHCP
- soit en branchant un écran en HDMI à la Brique, et en exécutant
ifconfig
- Se connecter en SSH en root à la Brique, le mot de passe est olinux par défaut :
% 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 votre nouveau mot de passe.
- Mettre à jour le système (environ 15 minutes) :
% sudo apt-get update && sudo apt-get dist-upgrade
Étapes de configuration
- 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
- Procéder à la postinstallation en se connectant à la Brique sur https://michu.nohost.me (accepter l'exception de sécurité du certificat).
- 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.
-
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 exempledummy.vpn
). -
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.
-
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 :
resolv-retry infinite
ns-cert-type server
topology subnet
- 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
:
- 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 : IPv6 / IPv4.
É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).
- Supprimer le CRON DynDNS : si l’utilisateur 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 d’un potentiel changement d’IP publique. Or, l’IP fourni par la connexion VPN est fixe. Il convient donc de supprimer ce client, qui pourrait malencontreusement mettre à jour l’IP dans les DNS si la connexion VPN venait à tomber :
rm /etc/cron.d/yunohost-dyndns
-
S’assurer du nom de l’interface WiFi : lors du changement d’antenne WiFi (même si le modèle reste le même), il peut arriver que le nom de l’interface WiFi change, typiquement de
wlan0
àwlan1
. Pour continuer à utiliser l’application hotspot, il faut se rendre sur l’interface web de configuration de l’application (é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 s’assurer qu’il redémarrera automatiquement, une bonne méthode quick'n'dirty 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 s’occupe 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 (ce qui arrêtera aussi l'antispam), é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
- Arrêter le service postgrey : Postgrey est un mécanisme antivirus qui est assez peu efficace, et surtout assez pénible. Il refuse les emails en premier lieu lorsque qu’ils proviennent d’une source inconnue. Un serveur email de spam ne fait pas toujours l’effort de renvoyer le spam une seconde fois. Pour arrêter postgrey, il faut éditer le fichier
/etc/postfix/main.cf
et commenter la ligne relative à postgrey (ligne 132) :
smtpd_recipient_restrictions =
permit_mynetworks,
permit_sasl_authenticated,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unauth_destination,
check_policy_service unix:private/policy-spf
# check_policy_service inet:127.0.0.1:10023
permit
Une fois le fichier éditer, redémarrer le service postfix :
systemctl restart postfix
-
Mettre à jour la configuration SSH : par défaut, la connexion en tant que root est possible sur la Brique. Pour ne garder que la connexion en tant qu’admin (qui est sudoer), il convient d’éditer le
/etc/ssh/sshd_config
et de passer PermitRootLogin à without-password. -
Configurer le reverse DNS : pour s’assurer du bon fonctionnement du serveur email, il est recommandé de configurer un reverse DNS pour son IP. En tant que FAI associatif, c’est 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 d’autres dégraderont considérablement le spamscore si le DKIM n’est 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 l’interface d’administration YunoHost et tester l’envoi/réception d’email.
-
Installer d’autres 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.
-
Glances ne fonctionne pas sur l’image labriqueinternet_04-06-2015_jessie.img, ce qui rend l’onglet État du serveur inaccessible dans l’interface d’administration de YunoHost. Une mise à jour future du noyau sera à prévoir pour corriger le problème.