Comment configurer un Raspberry Pi comme routeur filaire

Setup:

  • Raspberry 2B
  • Raspberry Pi OS Lite : Bullseye
  • Clé usb wifi Tenda U3

Contexte

J’ai installé un serveur Proxmox pour mon homelab mais je n’ai ni abonnement ADSL ni fibre avec un boitier de l’opérateur qui me permette de donner accès à Internet à mes VMs Proxmox. J’ai plutôt un boitier wifi 4G+ qui me permet d’avoir Internet à la maison.

La première solution rapide que j’ai trouvé est de me connecter avec mon MacBook au wifi puis de faire un partage de connexion via un adaptateur USB-C/RJ45. Avec cette solution, il faut tout le temps que le serveur Proxmox soit connecté au MacBook.

La seconde solution à laquelle j’ai pensée est de recycler mon vieux Raspberry Pi 2B en routeur. Le Raspberry Pi dispose d’une interface réseau filaire, j’ai acheté une clé Usb Wifi pour qu’il puisse également se connecter sur le boitier wifi 4G+. L’idée est de connecter le Raspberry Pi au réseau Wi-Fi sans fil disposant d’une connectivité internet et acheminer le trafic internet vers l’interface du réseau câblé. De cette manière, je pourrai utiliser le Raspberry Pi comme un routeur câblé.

Configurations réseaux

Créer ou modifiez le fichier /etc/wpa_supplicant/wpa_supplicant.conf avec les informations du Wifi auquel le Raspberry va se connecter

    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    network={
    ssid="Airbox-5F86"
    scan_ssid=1
    psk="5xZbNu62CzcE" #le mot de passe du wifi
    key_mgmt=WPA-PSK
    }

Créer ensuite un fichier de configuration réseau pour l’interface wifi wlan0 :

    vim /etc/network/interfaces.d/wlan0

Rajouter le contenu suivant puis enregistrer :

    allow-hotplug wlan0
    iface wlan0 inet dhcp
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Créer un fichier de configuration réseau pour l’interface filaire eth0 :

    vim /etc/network/interfaces.d/eth0

Rajouter le contenu suivant puis enregistrer :

    auto eth0
    iface eth0 inet static
        address 192.168.100.1
        netmask 255.255.255.0

Désactivez ensuite le service dhcpcd à l’aide de la commande suivante :

    sudo systemctl disable dhcpcd

Redémarrez le Raspberry Pi pour vérifier que les modifications sont prises en compte et que la connexion au wifi se fait automatiquement.

    sudo reboot

Une fois votre Raspberry Pi démarré, vérifiez la configuration réseau de l’interface réseau wlan0 comme suit :

    ip addr show wlan0

wlan0 devrait être connecté au point d’accès wifi et obtenir une adresse IP via DHCP. Vérifiez également la configuration réseau de l’interface eth0 comme suit :

    ip addr show eth0

Configuration du serveur DHCP

Installez le serveur DHCP ISC avec la commande suivante :

    sudo apt install isc-dhcp-server

Modifier ensuite le fichier /etc/dhcp/dhcpd.conf et ajouter les lignes suivantes à la fin.

    authoritative;
    subnet 192.168.100.0 netmask 255.255.255.0 {
        range 192.168.100.50 192.168.100.240;
        option routers 192.168.100.1;
        option subnet-mask 255.255.255.0;
    }

Ouvrez maintenant le fichier de configuration /etc/default/isc-dhcp-server et rajouter eth0 à la variable INTERFACESv4 dhcp interface

Redémarrer le service isc-dhcp-server et vérifiez sont status :

    sudo systemctl start isc-dhcp-server
    sudo systemctl status isc-dhcp-server

Configurer le pare-feu et activer le transfert de paquets

Installez firewalld puis vérifiez son status comme suit :

    sudo apt install firewalld
    sudo systemctl status firewalld

Autorisez maintenant le trafic DHCP à travers le pare-feu à l’aide de la commande suivante :

    sudo firewall-cmd --add-service=dhcp --permanent

Autoriser le transfert de paquets IP avec la commande suivante

    sudo firewall-cmd --add-masquerade --permanent

Tests

Une fois que le Raspberry Pi a démarré, connectez sont port RJ45 à un switch puis connecter un ordinateur au swtich pour tester si ce dernier reçoit automatiquement des paramètres réseaux (IP, configuration de route) et arrive à se connecter à Internet. Dans mon cas, j’ai directement connecté le Raspberry à mon Mac, j’ai désactivé le wifi puis j’ai fait les tests. dhcp client

Test de ping sur l’IP du routeur Raspberry (192.168.100.1) ping router

Test de ping sur google.fr ping google.fr

Speedtest pour voir les débits montant et descendant Speed test

Et voilà, il ne me reste plus qu’à acheter un switch en attendant l’ADSL puis la fibre.

S'inscrire à ma liste de diffusion

Abonnement réussi

Erreur lors de l'inscription.

Nous ne communiquerons jamais votre adresse électronique à qui que ce soit.