Accueil → Guide → Héberger son serveur

Guide · 3 sur 3

Héberger son propre serveur

La mise en relation peut tourner chez vous, sans dépendre de personne. C'est l'argument central du produit — et ça se fait depuis l'interface, sans terminal.

Sur cette page

  1. Ce que fait ce serveur, et ce qu'il ne voit pas
  2. Trois niveaux, selon vos ambitions
  3. Entre machines d'un même logement
  4. Joignable depuis Internet
  5. Ce qui casse, et comment le reconnaître
  6. Le relais, si vos amis en ont besoin

1. Ce que fait ce serveur, et ce qu'il ne voit pas

Le serveur de mise en relation ne fait qu'une chose : présenter vos machines les unes aux autres. Il distribue les clés publiques et les adresses, puis s'efface — le tunnel s'établit directement entre les pairs.

Il ne voit jamais le trafic de vos parties. Ce n'est pas une politique de confidentialité, c'est une propriété de l'architecture : le trafic ne passe pas par lui, il n'y a rien à promettre.

Conséquence pratique : il est minuscule. Quelques messages à l'arrivée et au départ d'un pair. Il tourne sans difficulté sur la machine qui vous sert déjà de serveur de jeu, sur un vieux portable, ou sur le plus petit serveur virtuel que vous trouverez.

Le logiciel est le même des deux côtés

Héberger vous-même ne vous prive d'aucune fonction : salon, diagnostics, mode isolation, restrictions par pair, tout est identique. Ce que vous prenez en charge, c'est l'infrastructure — pas des fonctionnalités.

2. Trois niveaux, selon vos ambitions

SituationCe qu'il faut
Vos amis sont sous le même toit Rien de plus que le bouton « Héberger ». Aucun port, aucun domaine.
Vos amis sont ailleurs Une redirection de port sur votre modem/routeur, un nom de domaine gratuit, et un chiffrement de la liaison.
Vous voulez que ça tienne sans votre PC allumé Un petit serveur virtuel loué. Même logiciel, installation en ligne de commande.

3. Entre machines d'un même logement

C'est le cas le plus simple, et il ne demande aucune configuration réseau.

  1. Cliquez sur « Héberger mon réseau sur cette machine » Au premier écran, ou via « Revoir l'accueil ». Meshamoto démarre le serveur, crée le réseau et vous affiche le code d'invitation.
  2. Envoyez le code Il contient déjà l'adresse de votre machine sur le réseau local. Vos amis n'ont rien à saisir.
  3. Cochez le démarrage automatique Dans le panneau « Héberger un serveur », pour que le serveur reparte tout seul après un redémarrage de la machine.

Sur Linux, aucune de ces opérations ne demande de mot de passe administrateur : le port utilisé est supérieur à 1024, un service utilisateur suffit.

4. Joignable depuis Internet

Trois choses à mettre en place. Le panneau « Héberger un serveur » vous accompagne pour les deux dernières.

a. Rediriger le port sur votre modem/routeur

Dans l'interface de votre modem/routeur, redirigez le port du serveur vers l'adresse locale de votre machine. C'est la seule étape qui ne peut pas être automatisée : chaque appareil a sa propre interface.

Pensez à réserver l'adresse locale de la machine dans le DHCP du modem/routeur, faute de quoi la redirection pointera un jour dans le vide — une panne parfaitement muette.

b. Un nom de domaine qui suit votre adresse

Votre adresse Internet change toute seule. Un nom de domaine dynamique la suit, pour que vos amis gardent la même adresse. Meshamoto intègre DuckDNS, qui est gratuit : créez un sous-domaine sur leur site, puis renseignez le sous-domaine et le jeton dans le panneau d'hébergement, sur Windows comme sur Linux.

Le jeton est masqué à la saisie — ce panneau est typiquement montré en partage d'écran — et enregistré avec des droits restreints.

Un détail qui trompe tout le monde

DuckDNS répond KO dans le corps de sa réponse tout en annonçant un succès au niveau HTTP. Un outil qui se fie au code de retour croit donc avoir réussi alors que rien n'a été mis à jour. Meshamoto lit le corps, et vous dit ce qu'il en est réellement.

La mise à jour n'est automatique que sur Arch

Le paquet Arch installe une minuterie système qui rafraîchit l'enregistrement toutes les quinze minutes, même Meshamoto fermé. Ailleurs — Windows, AppImage — il n'y a pas de minuterie : l'enregistrement n'est mis à jour qu'au moment où vous cliquez « Enregistrer » dans le panneau.

Conséquence à connaître : si votre adresse Internet change ensuite, le nom continuera de pointer vers l'ancienne et vos amis ne vous joindront plus, sans que rien ne le signale. Revenez cliquer « Enregistrer », ou vérifiez de temps en temps avec « Vérifier la joignabilité », qui compare le nom à votre adresse réelle.

c. Chiffrer la liaison

Le serveur de signalisation parle en clair, et c'est délibéré : le chiffrement est le travail d'un reverse proxy placé devant lui. Tant qu'il n'y en a pas, le mot de passe de votre réseau — la seule autorisation qui existe — traverse Internet lisible par qui écoute au passage.

Sans chiffrement, jusqu'où peut-on aller ?

Entre machines d'un même logement, le clair est un choix légitime et Meshamoto l'accepte sans rien vous demander. Dès que le serveur est joignable de l'extérieur, il ne l'est plus.

L'outil recommandé est Caddy : il obtient et renouvelle seul son certificat auprès de Let's Encrypt, gratuitement, sans qu'il y ait rien à surveiller. Il s'installe par votre distribution :

sudo pacman -S caddy      # Arch, CachyOS
sudo apt install caddy    # Debian, Ubuntu

Puis une configuration de quatre lignes dans /etc/caddy/Caddyfile, où vous remplacez le nom de domaine par le vôtre :

votre-nom.duckdns.org {
    reverse_proxy localhost:8765 {
        header_up X-Forwarded-For {remote_host}
    }
}

Enfin sudo systemctl enable --now caddy, et redirigez sur votre modem/routeur les ports 80 et 443 plutôt que 8765 — le 80 sert à obtenir le certificat, le 443 aux connexions. Vos amis saisissent alors https://votre-nom.duckdns.org, sans numéro de port.

Sous Windows, ces commandes ne s'appliquent pas

Caddy existe pour Windows, et nous l'y avons fait tourner : l'archive officielle caddy_windows_amd64.zip est publiée à chaque version et signée, elle s'extrait en un seul caddy.exe, et ce binaire démarre et écoute — vérifié sur Windows 10 avec la version 2.11.4, la même que sous Linux.

Ce que nous n'avons pas mesuré, c'est l'installation en SERVICE. Il n'y a pas de systemd : faire démarrer Caddy avec la machine et lui faire lire un Caddyfile passe par un autre mécanisme, que nous n'avons pas éprouvé. Plutôt que de recopier une procédure non vérifiée, nous renvoyons à la documentation officielle de Caddy — la configuration ci-dessus, elle, est identique sur tous les systèmes.

Le panneau d'hébergement en tient compte : sur un système où l'état du service n'est pas vérifiable, il ne prétend pas savoir s'il tourne. Il vous dit ce qu'il peut mesurer — si quelque chose accepte les connexions sur le port 443 — et vous renvoie au seul test qui tranche vraiment : viser votre nom de domaine en https:// depuis une autre machine.

Ces quatre lignes suffisent pour jouer, et pas pour tout

Elles publient la signalisation, ce qui couvre l'usage normal. Un ami dont le réseau bloque totalement l'UDP — Wi-Fi d'hôtel, réseau d'entreprise — peut en revanche cocher « mode réseau restreint », qui a besoin d'une route supplémentaire ; sans elle il croira que le relais ne répond pas, et rien ne le détrompera. Le montage complet, commenté ligne par ligne, est dans le fichier packaging/linux/Caddyfile.exemple du projet.

Pourquoi cette ligne header_up

Elle remplace l'en-tête X-Forwarded-For au lieu de le compléter. Sans elle, un attaquant choisit lui-même la valeur que le serveur lit pour identifier la source des tentatives ratées : il n'a plus qu'à la changer à chaque essai pour que la limitation anti-force-brute ne se déclenche jamais. Ce défaut a réellement existé ici, et il a été trouvé le jour de la première mise en ligne.

Caddy ne s'arrête pas avec votre serveur

C'est un service système, installé par votre distribution et indépendant de Meshamoto : le bouton « Arrêter le serveur » pilote un service utilisateur et n'a aucune prise sur lui. Arrêter votre serveur laisse donc Caddy vivant, avec les ports 80 et 443 toujours ouverts — il répondra simplement 502 à qui frappe.

Pour l'arrêter aussi : sudo systemctl disable --now caddy. Sachez qu'il cesse alors de renouveler le certificat, donc réhéberger plus tard demandera de le réactiver et d'attendre une nouvelle émission.

d. Vérifier

Le bouton « Vérifier la joignabilité » se lance tout seul à l'ouverture du panneau, une fois le serveur démarré. Il contrôle que le serveur répond, que le modem/routeur laisse entrer, que le nom de domaine pointe bien sur votre connexion, et si la liaison sera chiffrée — Caddy est-il installé, actif, et sa configuration mentionne-t-elle bien votre port ? C'est lui qui dit ce qui manque encore.

5. Ce qui casse, et comment le reconnaître

Vous testez depuis chez vous, et rien ne répond

C'est le premier mur de l'auto-hébergement, et ce n'est pas une panne. La plupart des modems/routeurs refusent de renvoyer vers l'intérieur une connexion destinée à leur propre adresse publique. Votre serveur va très bien : c'est le demi-tour qui est refusé.

Meshamoto reconnaît la situation au lieu d'expirer. Il vous demande une seule fois l'adresse locale du serveur, s'en souvient, et bascule tout seul ensuite — y compris quand votre portable change de réseau. Il n'y a aucun fichier système à modifier.

Corollaire à retenir : tester votre adresse publique depuis chez vous ne prouve rien, ni dans un sens ni dans l'autre. Demandez à un ami, ou utilisez votre téléphone en données mobiles.

Le port est refusé alors que tout paraît bon

Si vous avez placé un reverse proxy devant le serveur, son port applicatif n'écoute sur aucune interface réseau : seul le proxy répond, sur 443. La saisie correcte est alors https://votredomaine, sans numéro de port — le 443 découle du schéma. Écrire votredomaine:443 échoue, parce que sans le https:// la connexion part en clair.

Le mot de passe est refusé

Après plusieurs échecs d'affilée, le serveur bloque temporairement les tentatives venant de la même adresse — y compris avec le bon mot de passe. C'est délibéré : récompenser l'essai qui finit par tomber juste annulerait la protection. Attendez quelques minutes, et utilisez le code d'invitation plutôt qu'une saisie manuelle.

Le serveur et le mode isolation sur la même machine

Le mode isolation bloque les connexions entrantes venant d'ailleurs que du réseau virtuel. Or vos amis doivent joindre votre serveur avant d'être dans le réseau. Sur la machine qui héberge, les deux se contrarient : c'est une limite connue, pas un défaut à chercher.

6. Le relais, si vos amis en ont besoin

Certains fournisseurs — mobile, satellite, quelques fibres — rendent toute liaison directe impossible. Pour ces cas, un relais transmet des paquets chiffrés qu'il ne peut pas lire.

Il s'installe avec le serveur mais ne démarre pas tout seul : il n'est utile qu'à qui a fait la redirection de ports correspondante. Tant que vos amis se connectent en direct, il ne sert à rien et n'a pas à tourner.

Le trafic relayé vous coûte deux fois

Entrant puis sortant, sur votre propre connexion. Une partie de jeu représente quelques dizaines de kilobits par seconde et ne se remarque pas ; une copie de fichiers, elle, saturera votre lien montant. Si vous avez régulièrement des amis sans liaison directe possible, un petit serveur loué est un meilleur endroit pour le relais que votre domicile.

Précédent ← Héberger un service Revoir Démarrer →