Raspberry Pi as a router


Objectif

L’objectif est de transformer le Raspberry Pi en router. La carte wifi doit se connecter à un point d’accès mobile tel q’un téléphone ou un router 4G / 5G. Le trafic est ensuite routé vers la carte Ethernet.

Un serveur DHCP est également configuré sur la carte Ethernet.

Schéma

../../../../_images/schema.svg

Configuration des points d’accès wifi

Liens_Web:

Avertissement

Attention, il est important de respecter la casse du SSID (majuscule / minuscule). De plus, un SSID ne peux pas contenir d’espace.

L’ajout de SSID peut s’effectuer de 2 façons diférentes.

Configuration à l’aide de l’outil « Raspi-config »

Naviguer dans les menus pour configurer le SSID du wifi

  1. sudo raspi-config
    
  2. ../../../../_images/raspiConf1.png
  3. ../../../../_images/raspiConf2.png
  4. ../../../../_images/raspiConf3.png
  5. ../../../../_images/raspiConf4.png

Configuration manuelle

Il est possible de configurer les point d’accès directement depuis le fichier de configuration.

  1. Editer le fichier « wpa_supplcant »
    cd /etc/wpa_supplicant/
    sudo vi wpa_supplicant.conf
    
  2. Ajouter les informations Wifi (SSID + Password) à la fin du fichier
    network={
    ssid="The SSID of your network (eg. Network name)"
    psk="Your Wifi Password"
    }
    

Routeur

Liens_Web:

Configuration d’une IP statique sur eth0

  1. Editer le fichier dhcpcd.conf

    sudo vim /etc/dhcpcd.conf
    
  2. Définir l’adresse IP fixe et les DNS

    Ici, il n’est pas nécessaire de renseigner la passerelle car puisqu’il n’y en à qu’une (wlan0), elle est utilisée par défault.

    La définission des DNS est facultative. Par défault, les DNS sont fournis par l’ISP.

    interface eth0
    static ip_address=192.168.1.254/24
    static domain_name_servers=1.1.1.1 9.9.9.9
    
  3. Redémarrer le Pi

    sudo reboot
    
  4. Editer le fichier de configuration du Kernel

    sudo /etc/sysctl.conf
    
  5. Activer l’option router dans le Kernel

    # Uncomment the next line to enable packet forwarding for IPv4
    net.ipv4.ip_forward=1
    
  6. Installation d’Iptable

    sudo apt-get update
    sudo apt-get install iptables-persistent
    
  7. Ajout du fichier « rules.v4 » au group de l’utilisateur

    sudo chgrp pi /etc/iptables/rules.v*
    sudo chmod 664 /etc/iptables/rules.v*
    
  8. Création d’une table persistante

    sudo iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
    sudo iptables-save >/etc/iptables/rules.v4
    

Serveur DHCP

Liens_Web:
  1. Installation de dnsmasq

    sudo apt install dnsmasq
    
  2. Editer le fichier de configuration de dnsmasq

    sudo vim dnsmasq.conf
    
  3. Ajouter la configuration du DHCP en fin de fichier

    Avertissement

    Vérifier que les options et exemples déjà renseignés ne sont pas en conflit avec les informations ajoutées.

    # TP : 220814
    # Configuration manuelle du DHCP
    interface=eth0
    bind-dynamic
    domain-needed
    bogus-priv
    dhcp-range=192.168.1.50,192.168.1.80,255.255.255.0,12h
    
    ../../../../_images/dnsmasq.png
  4. Redémarrer le service dnsmasq

    sudo service dnsmasq restart
    

Webmin

Liens_Web:
  1. Editer le fichier source.list

    sudo vim /etc/apt/sources.list
    
  2. Ajouter le dépôt à la fin du fichier

    deb https://download.webmin.com/download/repository sarge contrib
    
  3. Installation de la clef GPG

    wget http://www.webmin.com/jcameron-key.asc
    sudo apt-key add jcameron-key.asc
    
  4. Installation de webmin

    sudo apt update
    sudo apt install webmin
    
  5. Accéder à webmin depuis une page web

    https://IP_ADDRESS:10000
    
    • Le port part défaut est le TCP 10000

    • Les identifiants sont les identifiants de l’utilisateurs sur le Pi


Serveur d’impression

Liens_Web:

Ici aucune dificulté. Il suffit de suivre un tuto installation et de configuration de CUPS.

# Pour accéder au serveur d'impression en local depuis un navigateur WEB
http://localhost:631

# Pour accéder au serveur d'impression depuis autre poste du réseau
http://[IP du serveur d'impression]:631