29 points par GN⁺ 2026-03-31 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • Procédure pas à pas pour transformer un ordinateur classique ou un mini PC en routeur complet
  • Configuration d’un réseau filaire et sans fil avec un minimum de paquets comme hostapd, dnsmasq et bridge-utils sous Debian ou Alpine Linux
  • Avec seulement deux interfaces Ethernet, n’importe quel équipement — desktop, laptop, SBC — peut être converti en routeur
  • Mise en place de fonctions dignes d’un routeur du commerce via la configuration du pare-feu (nftables), des services DHCP/DNS et de l’IP forwarding
  • Possibilité de construire une infrastructure réseau stable et flexible uniquement avec du matériel réformé et de l’open source

Comment transformer n’importe quel appareil en routeur

  • Présentation d’une méthode pour construire soi-même un routeur à partir de matériel existant, à la suite de l’interdiction d’importation de routeurs grand public décidée par le gouvernement américain
  • À partir d’une expérience de plusieurs années d’exploitation stable d’un routeur basé sur un mini PC sous Linux, l’article détaille pas à pas les composants nécessaires et la procédure de configuration
  • Un routeur ayant fondamentalement la même architecture qu’un ordinateur classique, il peut être réalisé avec des équipements variés comme un desktop, un laptop ou un SBC
  • Configuration sous Debian ou Alpine Linux avec un minimum de paquets comme hostapd, dnsmasq, bridge-utils
  • L’objectif n’est pas de répondre à une politique particulière, mais de réutiliser du matériel existant et de mieux comprendre le fonctionnement des réseaux

Choix du matériel

  • Un mini PC à refroidissement passif est idéal, mais n’importe quel appareil convient à partir du moment où il dispose de deux interfaces Ethernet
    • On peut compléter avec un dongle USB-Ethernet ; c’est un peu moins fiable, mais cela fonctionne très bien
  • Exemple donné : une machine Celeron 3205U dual-core (1,5 GHz) peut traiter 820 à 850 Mbps en filaire et environ 300 Mbps en sans fil
  • Par le passé, l’auteur a assemblé un système à partir de pièces de récupération comme un ThinkPad T60, un pont ExpressCard-PCIe, un switch Cisco 2960 et un routeur D-Link (utilisé uniquement comme AP)
    • Le résultat était peu élégant, mais fonctionnait comme un routeur complet

Configuration réseau

  • Configuration des interfaces
    • eth0 : WAN
    • eth1 : LAN (filaire)
    • wlan0 : LAN (sans fil)
  • Le LAN filaire et sans fil sont réunis dans un bridge pour fonctionner sur le même réseau
  • Si davantage de ports LAN sont nécessaires, on peut ajouter des dongles USB-Ethernet et les rattacher au bridge
  • Le système d’exploitation utilisé est Debian Linux, avec les composants essentiels suivants
    • hostapd : création du réseau Wi-Fi
    • dnsmasq : services DNS et DHCP
    • bridge-utils : bridging des ports

Installation et configuration initiale

  • Réglages BIOS/UEFI
    • Désactiver le démarrage réseau PXE
    • Désactiver la gestion de l’alimentation USB/PCI
    • Activer l’option « démarrage automatique après retour du courant secteur »
    • Utiliser un dongle HDMI factice pour résoudre les problèmes de démarrage sans écran connecté
  • Certains matériels nécessitent l’activation du dépôt non-free-firmware
  • Installation du firmware selon le chipset Wi-Fi
    • Intel : firmware-iwlwifi
    • Realtek : firmware-ath9k-htc
    • Anciennes puces Atheros : firmware-atheros

Installation des paquets indispensables

  • Installer les principaux utilitaires avec la commande suivante
    sudo apt install bridge-utils hostapd dnsmasq
    
  • L’ensemble du système représente environ 250 paquets

Fixer les noms des interfaces réseau

  • Les versions récentes de Linux utilisent des noms du type enp0s31f6, mais il est possible de les fixer au format traditionnel ethX
  • Créer le fichier /etc/systemd/network/10-persistent-ethX.link
    [Match]
    MACAddress=AA:BB:CC:DD:00:11
    [Link]
    Name=ethX
    

Créer le réseau sans fil

  • Configurer un dongle Wi-Fi USB en point d’accès (AP)
  • Exemple de /etc/hostapd/hostapd.conf
    interface=wlan0
    bridge=br0
    hw_mode=g
    channel=11
    ssid=My Cool and Creative Wi-Fi Name
    wpa_passphrase=mysecurepassword
    
  • Activer le service hostapd
    sudo systemctl unmask hostapd
    sudo systemctl enable --now hostapd
    

Configuration des interfaces

  • Configuration de /etc/network/interfaces
    allow-hotplug eth0
    allow-hotplug eth1
    auto wlan0
    auto br0
    iface eth0 inet dhcp
    iface br0 inet static
    bridge_ports eth1 wlan0
    address 192.168.1.1/24
    
  • Après redémarrage, vérifier l’état du bridge avec la commande brctl show br0

Activer l’IP forwarding

  • Ajouter dans le fichier /etc/sysctl.d/10-forward.conf
    net.ipv4.ip_forward=1
    
  • Appliquer ensuite
    sudo systemctl restart systemd-sysctl.service
    

Configuration du pare-feu et du NAT

  • Configuration basée sur nftables (/etc/nftables.conf)
    • blocage du trafic externe
    • autorisation du DNS, du DHCP et du SSH internes
    • mise en place du NAT
  • Activer le service
    sudo systemctl enable nftables.service
    

Configuration DHCP et DNS

  • Utilisation de dnsmasq (/etc/dnsmasq.conf)
    interface=br0
    dhcp-range=192.168.1.50,192.168.1.250,255.255.255.0,6h
    dhcp-option=option:router,192.168.1.1
    dhcp-option=option:dns-server,192.168.1.1
    cache-size=10000
    
  • Activer le service
    sudo systemctl enable dnsmasq
    

Gestion du port série

  • Si l’appareil dispose d’un port console série, il peut être administré sans moniteur
  • Modifier /etc/default/grub
    GRUB_CMDLINE_LINUX='console=tty0 console=ttyS0,115200n8'
    GRUB_TERMINAL=serial
    GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
    
  • Exécuter systemctl enable [email protected], puis sudo update-grub

Vérification du fonctionnement

  • Après redémarrage, vérifier l’état du pare-feu avec sudo nft list ruleset
  • Valider la configuration avec sudo nft -c -f /etc/nftables.conf
  • Les règles peuvent être rechargées sans interruption via sudo systemctl reload nftables.service
  • Vérifier les logs DHCP
    sudo less /var/lib/misc/dnsmasq.leases
    sudo journalctl -eu dnsmasq.service
    

Fonctionnalités supplémentaires

  • Extensions possibles : journalisation et analyse du trafic, segmentation VLAN, prise en charge d’IPv6, tunneling VPN, routage dynamique (BGP, IGP)
  • Ajout possible de fonctions comme le monitoring basé sur Prometheus, le port forwarding DMZ, ainsi que la détection et le blocage d’intrusion
  • En revanche, il vaut mieux éviter d’installer trop de logiciels directement sur le routeur lui-même, et préférer l’isolation du trafic via une DMZ ou des VLAN

Conclusion

  • Il est possible de construire un routeur complet uniquement avec des logiciels gratuits et du matériel réformé
  • Un routeur n’est au fond rien d’autre qu’un ordinateur classique, et tout le monde peut donc en fabriquer un soi-même
  • Réutiliser du matériel inutile permet de bâtir une infrastructure réseau stable et flexible

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.