Qu’est-ce qu’une sonde RIPE Atlas et à quoi ça sert ?

Temps de lecture : 3 minutes

Internet nous semble souvent immatériel et abstrait. Pourtant, derrière chaque site web, chaque vidéo et chaque e-mail, il existe une infrastructure bien réelle, répartie partout dans le monde. Pour mieux comprendre et mesurer le fonctionnement d’Internet, il existe un outil collaboratif peu connu, mais extrêmement puissant : la sonde RIPE Atlas.

Une sonde RIPE Atlas, qu’est-ce que c’est exactement ?

Une sonde RIPE Atlas est un petit boîtier matériel, de la taille d’un chargeur USB, que l’on branche chez soi sur sa connexion Internet.
Son rôle est très simple : effectuer régulièrement des mesures techniques du réseau et envoyer les résultats à la plateforme RIPE Atlas.

Ces mesures sont réalisées depuis des milliers de points répartis sur toute la planète. Chaque sonde devient ainsi un “capteur” qui observe Internet depuis son emplacement réel.

Que mesure une sonde RIPE Atlas ?

Les sondes RIPE Atlas peuvent effectuer plusieurs types de tests, par exemple :

  • le temps de réponse (latence) vers un serveur ou un site web,
  • le chemin réseau emprunté par les données (traceroute),
  • la disponibilité d’un service (est-ce qu’un site est joignable ou non),
  • la résolution DNS (comment un nom de domaine est traduit en adresse IP).

Ces mesures sont actives (la sonde envoie elle-même des requêtes) et ne concernent jamais votre trafic personnel. Elle ne voit ni vos sites visités, ni vos données privées.

À quoi ça sert concrètement ?

Les données collectées par RIPE Atlas sont utilisées par :

  • des opérateurs réseau pour diagnostiquer des pannes,
  • des chercheurs pour étudier la stabilité et la performance d’Internet,
  • des entreprises pour vérifier l’accessibilité de leurs services,
  • des particuliers et passionnés pour comprendre comment Internet fonctionne réellement.

Grâce à la diversité géographique des sondes, il est possible de comparer l’expérience réseau entre pays, régions ou fournisseurs d’accès. C’est un outil précieux pour rendre Internet plus transparent et plus fiable.

Pourquoi est-ce utile de participer ?

Héberger une sonde RIPE Atlas, c’est contribuer à un bien commun numérique.

En participant :

  • vous aidez à améliorer la qualité globale d’Internet,
  • vous fournissez des données indépendantes et ouvertes,
  • vous soutenez la recherche et la résolution de problèmes réseau à grande échelle.

Et en bonus, l’hébergeur d’une sonde reçoit des crédits RIPE Atlas, qui permettent de lancer ses propres mesures personnalisées sur le réseau mondial de sondes.

Est-ce contraignant ?

Pas du tout.
Une sonde RIPE Atlas :

  • consomme très peu d’électricité,
  • fonctionne de manière autonome,
  • n’impacte quasiment pas votre connexion Internet.

Une fois branchée, on peut presque l’oublier.

Comment obtenir une sonde RIPE Atlas ?

Pour obtenir une sonde, il suffit de :

  1. Créer un compte sur le site RIPE Atlas (géré par le RIPE NCC).
  2. Faire une demande de sonde en indiquant où elle sera installée.
  3. Attendre la validation (les sondes sont prioritairement envoyées dans les zones sous-représentées).

Si votre localisation est intéressante pour le réseau, une sonde vous sera envoyée gratuitement. Il ne restera plus qu’à la brancher.

En résumé

La sonde RIPE Atlas est :

  • un petit appareil simple,
  • un outil de mesure d’Internet à l’échelle mondiale,
  • un projet collaboratif et ouvert,
  • une façon concrète de contribuer à un Internet mieux compris et mieux surveillé.

Derrière ce petit boîtier discret se cache une immense carte vivante d’Internet, construite grâce à des milliers de volontaires. Peut-être bientôt vous ?

Résoudre les erreurs Mixed Content de WordPress

Temps de lecture : < 1 minute

Quand on utilise WordPress avec Nginx Proxy Manager et Docker par exemple, il peut arriver d’avoir l’erreur : Mixed Content dans les navigateurs.

Pour résoudre ce problème, il faut ajouter les lignes suivantes dans le fichier wp-config.php :

define('WP_HOME', 'https://xxxx.fr');
define('WP_SITEURL', 'https://xxxx.fr');
define('FORCE_SSL_ADMIN' , true);

if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
    $_SERVER['HTTPS'] = 'on';

Proxmox 8.3.5 Detected Hardware Unit Hang

Temps de lecture : < 1 minute

Sur un serveur dédié OVH avec une carte réseau Intel e1000e et Proxmox 8.3.5 j’ai eu l’erreur suivante lors de gros transferts :

Apr 08 08:47:34 nsXXXXXX kernel: e1000e 0000:00:19.0 eno1: Detected Hardware Unit Hang:
                                   TDH                  <de>
                                   TDT                  <ff>
                                   next_to_use          <ff>
                                   next_to_clean        <dd>
                                 buffer_info[next_to_clean]:
                                   time_stamp           <1000f6bf9>
                                   next_to_watch        <de>
                                   jiffies              <1001027c0>
                                   next_to_watch.status <0>
                                 MAC Status             <40080083>
                                 PHY Status             <796d>
                                 PHY 1000BASE-T Status  <3800>
                                 PHY Extended Status    <3000>
                                 PCI Status             <10>

Le serveur n’est alors plus accessible.

La solution que je teste actuellement (et qui semble fonctionner) :

sudo ethtool -K eno1 gso off gro off tso off tx off rx off rxvlan off txvlan off sg off

Et pour vérifier la prise en compte :

sudo ethtool -k eno1

Attention : cela n’est pas conservé après un redémarrage.

Sources : https://forum.proxmox.com/threads/e1000e-eno1-detected-hardware-unit-hang.59928/page-2 et https://gist.github.com/crypt0rr/60aaabd4a5c29a256b4f276122765237

Exporter les groupes Office 365 vers un fichier CSV

Temps de lecture : < 1 minute

Voici un script PowerShell pour exporter l’ensemble des groupes d’un tenant Office 365 vers un fichier CSV. Opération non disponible à ce jour par l’interface d’administration.

Connect-ExchangeOnline -UserPrincipalName xxxx@test.com # Mail de l'administrateur

$CSVPath = "ListingMembresGroupes.csv"

$list=Get-UnifiedGroup

foreach ($Group in $list)
{
    Get-UnifiedGroupLinks –Identity $Group.Id –LinkType Members | Select-Object @{Name="Group Name";Expression={$Group.DisplayName}}, @{Name="User Name";Expression={$_.DisplayName}}, PrimarySmtpAddress | Export-CSV $CSVPath -NoTypeInformation -Append
}

Convertir une machine virtuelle UTM vers VMware Fusion

Temps de lecture : < 1 minute

VMware Fusion pour MacOS étant gratuit pour un usage personnel depuis mai 2024 j’ai décidé de passer d’UTM à celui-ci. UTM ayant moins de fonctionnalités et ayant quelques problèmes parfois au démarrage des machines virtuelles.

Ne souhaitant pas réinstaller les machines virtuelles j’ai choisi de convertir celles-ci.

Voici la procédure sous MacOS :

Installer qemu avec le gestionnaire de package brew :

brew install qemu

Aller dans le répertoire contenant la machine virtuelle UTM, généralement :

cd /Users/<NOM UTILISATEUR>/Library/Containers/com.utmapp.UTM/Data/Documents/<NOM MACHINE VIRTUELLE>.utm/Data

Convertir la machine virtuelle avec la commande suivante :

qemu-img convert -p -f qcow2 -O vmdk XXX-XXXX-XXX-XXX.qcow2 YYYYY.vmdk

Créer une nouvelle machine virtuelle dans VMware Fusion et pour l’image disque choisir le fichier vmdk créé dans l’étape précédente.

Généralement il faut modifier la configuration de l’interface réseau dans la machine virtuelle.

Dans le cas d’Ubuntu Server 22.04, trouver le nom de l’interface avec la commande :

ip a

2: ens160: <BROADCAST,MULTICAST......

Puis modifier le fichier de configuration netplan :

sudo vi /etc/netplan/00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
  ethernets:
    # enp0s1: # ancienne interface
    ens160:
      dhcp4: true
  version: 2

Puis appliquer les modifications :

sudo netplan apply

Vérifier la configuration avec un ping par exemple :

ping perdu.com

Optimisation MySQL/MariaDB

Temps de lecture : < 1 minute

Quelques notes pour l’optimisation d’un serveur MySQL/MariaDB.

Cela se passe dans le fichier /etc/mysql/mariadb.conf.d/50-server.cnf sur un serveur Ubuntu 22.04

innodb_buffer_pool_size devrait être à 80% de la RAM allouée à MySQL/MariaDB

Utiliser le script MySQLTuner disponible ici : https://github.com/major/MySQLTuner-perl

Il y a probablement beaucoup d’autres choses à faire, si vous en connaissez n’hésitez pas à laisser un commentaire (je ne suis pas DBA).

Redémarrer automatiquement Apache/MySQL avec monit

Temps de lecture : < 1 minute

Sur un serveur web LAMP il peut arriver que la processus Apapche 2 ou MariaDB/MySQL se termine de façon anormale ou soit terminé par OOM Killer.

Pour surveiller ces processus il existe monit qui est très simple d’utilisation. Voici comment l’installer sur un Ubuntu Server 22.04 :

sudo apt install monit

Aller dans le répertoire de configuration de monit :

cd /etc/monit/conf.d/

Créer un fichier pour Apache, apache.conf contenant :

check process apache with pidfile /run/apache2/apache2.pid
    start program = "/usr/sbin/service apache2 start"
    stop program = "/usr/sbin/service apache2 stop"
    if failed host 127.0.0.1 port 80 protocol http then restart
    if 5 restarts within 5 cycles then timeout

Créer un second fichier pour MariaDB/MySQL, mysql.conf :

check process mysqld with pidfile /run/mysqld/mysqld.pid
    start program = "/usr/sbin/service mysql start"
    stop program = "/usr/sbin/service mysql stop"
    if failed host 127.0.0.1 port 3306 protocol mysql then restart
    if 5 restarts within 5 cycles then timeout

Puis redémarrer monit et vérifier que celui-ci fonctionne bien :

sudo service monit restart
sudo service monit status
● monit.service - LSB: service and resource monitoring daemon
     Loaded: loaded (/etc/init.d/monit; generated)
     Active: active (running) since Wed 2023-06-07 08:14:53 CEST; 4s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 58545 ExecStart=/etc/init.d/monit start (code=exited, status=0/SUCCESS)
      Tasks: 1 (limit: 9518)
     Memory: 1.7M
        CPU: 31ms
     CGroup: /system.slice/monit.service
             └─58551 /usr/bin/monit -c /etc/monit/monitrc

Jun 07 08:14:53 ip-172-31-26-128 systemd[1]: Starting LSB: service and resource monitoring daemon...
Jun 07 08:14:53 ip-172-31-26-128 monit[58545]:  * Starting daemon monitor monit
Jun 07 08:14:53 ip-172-31-26-128 monit[58545]:    ...done.
Jun 07 08:14:53 ip-172-31-26-128 systemd[1]: Started LSB: service and resource monitoring daemon.

Et voilà, c’est en place. monit vérifie toutes les 2 minutes que les processus fonctionnent et les redémarre si besoin.

Recopier les bases données d’un serveur MySQL/MariaDB vers un autre

Temps de lecture : < 1 minute

Voici un script Bash très simple qui permet de migrer toutes les bases de données d’un serveur MySQL/MariaDB vers un autre serveur.

Celui-ci peut servir par exemple pour migrer vers un serveur AWS RDS.

#!/bin/bash

# configuration de la machine hébergeant le serveur MySQL source
DB_HOST_PROD="srv.source.com"
# configuration de l'utilisateur MySQL et de son mot de passe
DB_USER_PROD="root"
DB_PASS_PROD="PASSWORD"

# configuration de la machine hébergeant le serveur MySQL de destination
DB_HOST_RDS="srv.dest.com"
# configuration de l'utilisateur MySQL et de son mot de passe
DB_USER_RDS="admin"
DB_PASS_RDS="PASSWORD"

# récupération de la liste des bases
DATABASES=`MYSQL_PWD=$DB_PASS_PROD mysql -h $DB_HOST_PROD -u $DB_USER_PROD -e "SHOW DATABASES;" | tr -d "| " | grep -v -e Database -e _schema -e mysql`
# boucle sur les bases pour les dumper
for DB_NAME in $DATABASES; do
    # Pour créer les bases de données
    echo "create database if not exists $DB_NAME;" | MYSQL_PWD=$DB_PASS_RDS mysql -h $DB_HOST_RDS -u $DB_USER_RDS

    now=$(date +"%T")
    echo $now $DB_NAME
    #MYSQL_PWD=$DB_PASS_PROD mysqldump -u $DB_USER_PROD --column-statistics=0 --single-transaction --skip-lock-tables $DB_NAME -h $DB_HOST_PROD | MYSQL_PWD=$DB_PASS_RDS mysql -h $DB_HOST_RDS -u $DB_USER_RDS -D $DB_NAME # en fonction de la version de MySQL/MariaDB
    MYSQL_PWD=$DB_PASS_PROD mysqldump -u $DB_USER_PROD --single-transaction --skip-lock-tables $DB_NAME -h $DB_HOST_PROD | MYSQL_PWD=$DB_PASS_RDS mysql -h $DB_HOST_RDS -u $DB_USER_RDS -D $DB_NAME
done

Migrer de Twitter vers Mastodon

Temps de lecture : < 1 minute

Suite au rachat de Twitter par Elon Musk et à ses différentes décisions dans la gestion de ce réseau social beaucoup de personnes souhaitent passer sur le réseau social décentralisé Mastodon.

Voici donc quelques informations pour ceux qui sont perdus.

1.Choisir un serveur : Mastodon étant décentralisé il n’y pas « un seul serveur » comme pour Twitter. Le serveur du créateur de Mastodon est https://mastodon.social/ mais vous pouvez choisir parmi une multitude de serveurs. Une liste se trouve ici : https://joinmastodon.org/fr/servers

2. Créer un compte sur le serveur choisi et identifier son adresse en cliquant sur son profil. Par exemple la mienne est @brihx@mastodon.social

3. Ajoutez votre adresse Mastodon dans votre profil Twitter, cela permet aux personnes qui souhaitent migrer comme vous de pouvoir vous retrouver mais aussi aux outils qui vont suivre de vous aider pour la migration.

4. Connectez-vous sur l’outil Debirdfly https://debirdify.pruvisto.org/ et suivez les instructions. Puis recherchez les comptes que vous suivez. En bas de la page vous pourrez exporter un fichier CSV compatible avec l’import de Mastodon.

5. Importez le fichier CSV de l’étape précédente en allant dans les préférences de votre compte Mastodon puis Import et export > Import de données, type d’import : Liste d’utilisateur, Fusionner puis bouton Importer

Vous pouvez aussi importer les comptes qui vous suivent avec le même outil.

Assurer la transition avec l’outil Moa https://moa.party/ qui permet de poster d’un compte vers l’autre et inversement : Twitter <> Mastodon, comme ça pas besoin de poster 2 fois.

Au niveau des applications mobiles il y a Tusky sur Androïd et metatext sur iOS

Utilitaires macOS gratuites

Temps de lecture : < 1 minute

Voici quelques utilitaires gratuites et/ou libres que j’utilise sur mon Mac.

Hot : pour connaitre la température et les voltages de son Mac (très utile par ces fortes chaleurs de 2022). La température est visible directement dans la barre de menu. A télécharger ici : https://github.com/macmade/Hot

Hot

Flycut : est un manager de presse papier. Cela permet de garder en mémoire un certain nombre de copier pour faire coller plus tard. Disponible dans le Mac App Store https://apps.apple.com/fr/app/flycut-clipboard-manager/id442160987?mt=12

Topgrade : pour mettre facilement son Mac à jour. Attention ça se lance en ligne de commande donc c’est un peu pour les geeks. Toutes les infos là : https://github.com/r-darwish/topgrade

Topgrade