Blog de dada

DevOps, bidouilleur et routard plein de logiciels libres

Réseau

Mastodon 3.0.0 disponible : Woaw !

Rédigé par dada / 04 octobre 2019 / Aucun commentaire


C'est presque deux ans après la dernière version majeure que les développeurs de Mastodon nous gratifient d'une belle incrémentation. J'ai envie de vous dire qu'elle apporte quelque chose de spéciale, que ce numéro 3 est symptomatique d'une évolution disruptive... mais non : en deux ans, nous en avons vu passer, des nouveautés incroyables.

Mine de rien, voici quand même un tour d'horizon, rapide, de ce qui vient de nous être déposé au pied du sapin avec 3 mois d'avance.

Les mots-dièse (hashtags)

S'il fallait s'arrêter sur une nouveauté, je choisirais la gestion des hashtags : ils deviennent la pierre angulaire de la découverte sous Mastodon ! Avec l'ajout d'un système d'auto-suggestion, vous avez accès aux tendances du moment. Commencez à taper #rw et vous serez orientés (pas forcés) vers #rwc2019 pour rejoindre les joyeux drilles qui discutent et commentent la coupe du monde de rugby 2019.

Autre chose, clairement folle : les tendances. Lorsqu'un hashtag est régulièrement utilisé, le modérateur de votre instance à la possibilité de l'afficher en tant que tendance du moment. Voyez ce qu'il se passe depuis mon instance en cette fin de vendredi :


On peut enfin savoir de quoi parlent les gens sans avoir à relire tous les messages qui circulent. Je trouve ça tout bonnement génial ! Tout comme l'intervention obligatoire d'un modérateur a priori pour éviter qu'un hashtag douteux viennent se glisser dans les tendances.

Le partage des images

Mastodon permet maintenant de partager des images dans des conditions de malade. Ils ont vraiment sorti l'artillerie lourde pour que les utilisateurs puissent partager et profiter aux mieux des images qui passent dans le réseau :


Voyez la capture d'écran :
- On peut cliquer sur un simple lien pour détecter le texte présent dans l'image et le transposer à l'écrit pour les mal voyants. 
- Le focus est toujours de la partie (le rond plus clair) et le rendu est directement visible en bas à gauche
- Le tout dans une large fenêtre à l'interface claire et efficace !

Le slow mode

Vous trouvez que ça va trop vite ? Si si, je te l'assure, petit produit de Twitter que j'entends pouffer : ça va parfois trop vite.
Maintenant, il est possible d'activer le slow mode qui va bloquer l'affichage en temps réel des nouveaux messages et proposer un petit encart pour les débloquer.


Appréciez ci-dessus l'affichage simplifié de Mastodon avec le slow mode actif. Il me semble que ça ressemble à ce qu'on trouve chez Twitter mais ma mémoire me lâche, je n'en suis pas certain ;-)

Et tout le reste

Il serait bien trop fastidieux de faire le tour de toutes les petites nouveautés autour de cette sortie. Il faudrait parler de l'optimisation de la recherche, des nouveautés bienvenues dans l'interface, du confort accru pour les modérateurs, de la migration de compte facilité, des correctifs de sécurités, de l'optimisation, de l'ajout du breton comme langue supportée et j'en passe. Bref, bien trop de choses.

J'avais simplement envie de vous parler de celles que je trouve les plus importantes et c'est fait.

Vous pouvez maintenant foncer vous inscrire par ici où partir à la recherche d'une instance qui vous conviendrait le mieux ! Abusez des mots-dièse, des FollowFriday et surtout, traînez parmi nous pour vos sortir du marasme abjecte porté par les autres réseaux sociaux.

Wireguard sur Debian 9

Rédigé par dada / 07 janvier 2019 / 2 commentaires



Heztner, c'est vraiment un hébergeur qui propose un cloud peu cher et performant. Vraiment. Par contre, il n'y a que ça. Jusqu'à peu, nous n'avions pas la possibilité d'ajouter des volumes pour gonfler l'espace disque des machines et pas de réseau privé. Maintenant, les volumes sont là, mais toujours pas de réseau privé. Tant pis, on va le faire à la main.

On m'a parlé de Wireguard : un outil simple, puissant et sécurisé pour monter des VPN entre nos serveurs. J'ai testé, j'approuve. Je n'aime pas le réseau, c'est pas mon truc mais avec Wireguard et mes balades sous Kubernetes, je commence à presque apprécier cette chose.

Voici donc comment mettre en place des connexions privées entre vos machines pour y faire transiter ce que vous voulez sans que ça se balade sur l'Internet mondial.

Installation de Wireguard

Au moment où j'écris ces lignes, l'outil n'est disponible que dans les dépôts unstable. C'est chiant, mais rien de grave.

Ajouter les dépôts installables

# echo "deb http://deb.debian.org/debian/ unstable main" > /etc/apt/sources.list.d/unstable-wireguard.list

Faire un peu de pinning

Pourquoi ? Parce qu'avec le dépôt que vous venez d'ajouter, si vous n'y faites pas attention, vous allez massacrer la stabilité de votre machine.
# printf 'Package: *\nPin: release a=unstable\nPin-Priority: 150\n' > /etc/apt/preferences.d/limit-unstable

Installer les paquets

On va d'abord installer les headers pour permettre à Wireguard de bien s'installer :
apt install linux-headers-$(uname -r)
On peut maintenant installer la bête :
# apt update && apt install wireguard
C'est installé !

Configuration

Exemple simple

On va prendre deux serveurs et on va s'amuser à les interconnecter. Sur les deux machines, nous allons générer les clés privées et publiques :
wg genkey | tee privatekey | wg pubkey > publickey

Configuration de l'interface réseau

Tout va se passer dans le fichier wg0.conf, qui sera placé dans /etc/wireguard/. Sur la première machine, son contenu va ressembler à ça :
# Votre premier serveur
[Interface]
Address = 10.0.42.1
PrivateKey = kEQpUJDtur3yHqtoto42Y0+FXNK5lyJoUhh2g21BFWo= 
ListenPort = 1190

# Votre deuxième serveur
[Peer]
PublicKey = MnL98kIZYrHgopn1U3kptoto42L/8MqgyqKh2g2Hixo=
Endpoint = IP.DE.MON.PEER:1190
AllowedIPs = 10.0.42.2/32
Sur la deuxième machine :
# Votre deuxième serveur
[Interface]
Address = 10.0.42.2
PrivateKey = kEQpUJDtur3yHqtoto42Y0+FXNK5lyJoUhh2g21BFWo= 
ListenPort = 1190

# Votre premier serveur
[Peer]
PublicKey = MnL98kIZYrHgopn1U3kptoto42L/8MqgyqKh2g2Hixo=
Endpoint = IP.DE.MON.PEER:1190
AllowedIPs = 10.0.42.1/32
Non, je n'ai pas changé les clés, la flemme. Pensez quand même à vérifier que vous n'avez pas fait de coquille en copiant/collant tout ça. C'est souvent en se trompant entre les clés qu'on perd un temps fou à déboguer.

Interface

La partie [Interface] porte bien son nom : c'est là que vous allez définir l'IP de la machine sur laquelle vous bossez, configurer sa clé privée et le port qui sera utilisé par Wireguard. Allez récupérer la clé privée générée quelques secondes auparavant et remplacez ma valeur de test.

Peer

La partie [Peer], qui porte aussi bien son nom si on speak l'english, permet de configurer un pair, c'est à dire un serveur distant qui va pouvoir passer par le VPN pour faire des coucous à votre première machine.
Endpoint est à remplir avec la véritable IP de la machine et AllowedIPs doit contenir les IP (ou range) VPN de vos machines clientes. Pas la véritable IP publique.

Tester la connexion

On va activer la connexion en tapant ça sur les deux machines :
root@master:/etc/wireguard# wg-quick up wg0
Vous devriez avoir une réponse, pour le premier serveur, dans le genre :
root@test1:/home/dada# wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip address add 10.0.42.1 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] ip route add 10.0.42.2/32 dev wg0
Et pour le deuxième :
root@test2:/home/dada# wg-quick up wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip address add 10.0.42.2 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] ip route add 10.0.42.1/32 dev wg0
Maintenant, si tout s'est bien passé, vous devriez pouvoir faire des pings sur les IPs VPN des machines !

Démarrer Wireguard avec la machine

Avec systemd :
systemctl enable wg-quick@wg0.service
Ça fait quelques semaines que mon infra tourne avec Wireguard sans le moindre souci de latence, de déconnexion ou de bogue. C'est du bon !