Projet

Général

Profil

Actions

Brique vpn » Historique » Révision 22

« Précédent | Révision 22/38 (diff) | Suivant »
stephane.ligozat, 10/03/2019 17:13


Atelier WIFI + VPN sur PI

Séance du samedi 9 mars 2019.

Il s'agit d'installer sur un raspberry pi un client VPN et un hotspot wifi.

Il a été impossible de se connecter aux 2 OLIMEX LIME2, cartes défectueuses ?

Cette séance très fructueuse se poursuivra samedi 23 mars.

Le système utilisé ce jour est raspbian mais il faudra plus tard essayer openwrt (https://fr.wikipedia.org/wiki/OpenWrt), solution parfaitement dédiée à l'objectif d'un PI offrant uniquement une connexion propre à l'internet, pour un foyer, une association ou une petite entreprise.

Installation du système

Télécharger le système raspbian dédié aux PIs : https://www.raspberrypi.org/downloads/

Copier le système sur la carte SD

Copier l'image sur une carte SD si possible neuve ou bien formatée bas niveau (à expliquer).

Il est conseillé d'utiliser une carte de class A1.

Avant d'insérer la carte taper dans un terminal

ls /sys/block

Insérer la carte et la démonter :

sudo umount /chemin/du/point/de/montage/de/la/carte

Maintenant que la carte est insérée, retaper

ls /sys/block

En comparant avec le /sys/block d'avant l'insertion, on constate qu'un nouvel emplacement est apparu, c'est celui que la carte insérée occupe (exemple sdb)

Copier l'image

dd bs=4M if=/chemin/vers/2018-11-13-raspbian-stretch.img of=/dev/sdX conv=fsync

if est le chemin de l'image.

of est l'emplacement de carte SD : la lettre X doit être remplacée par A ou B ou...

Expliquer les arguments bs et conv

Trouver la PI sur le réseau

Ne pas brancher la PI et afficher la liste des IPS dispos sur le réseau

sudo arp-scan -l --interface wlp4s0

où wlp4s0 est votre interface wifi (si vous êtes connecté en wifi)

Brancher la PI et relancer la commande précédente. Normalement une nouvelle IP est apparue, c'est celle de votre PI.

Se connecter à la PI

ssh pi@<IP_DE_MON_PI>

Mise à jour du système

Changer le mot de passe de l'utilisateur PI

$ sudo apt upgrade
$ sudo apt update

Le réseau

Vérifier que l'interface wifi est disponible, dans cette documentation, elle s'appelle wlan0.

ifconfig

Source de cette documentation :

https://www.raspberrypi.org/documentation/configuration/wireless/access-point.md

dnsmasq offre un service de nommage des machines du réseau interne.
hostapd le deamon de point d'accès wifi.

sudo apt-get install dnsmasq hostapd

Stoper ces deamons car leurs configurations n'est pas faites :

sudo systemctl stop dnsmasq
sudo systemctl stop hostapd

Redémarrer pour s'assurer qu'ils sont pris en charge par le kernel :

sudo reboot

Configurer une IP statique

Le PI doit avoir une IP statique affectée à l'interface wifi (wlan0) pour agir en tant que serveur. Le réseau utilisera la plage IPs 192.168.x.x donc le PI aura 192.168.0.1 comme IP fixe.

Éditer le fichier de conf de dhcpd :

sudo vi /etc/dhcpcd.conf

Au redémarrage de la machine hostapd ne part pas. Donc

sudo systemctl enable hostapd

Ajouter ceci à la fin du fichier :

interface wlan0
    static ip_address=192.168.4.1/24
    nohook wpa_supplicant

Reémarrer le deamon dhcpd :

sudo service dhcpcd restart

Configurer le serveur DHCP

Ce service est fourni par dnsmasq. Sauvegarder le fichier par défaut et en créer un vide.

sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig  
sudo vi /etc/dnsmasq.conf

Y coller ces instructions qui affectent à l'interface wifi nommée wlan0 la plage d'adresses de 192.168.4.2 à 192.168.4.20 avec un bail de 24 heures. La documentation de dnsmasq offre de nombreuses autres options (http://www.thekelleys.org.uk/dnsmasq/doc.html)

interface=wlan0      # Use the require wireless interface - usually wlan0
  dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h

Configurer le point d'accès WIFI

sudo vi /etc/hostapd/hostapd.conf

interface=wlan0
driver=nl80211 # ATTENTION VOTRE DRIVER WIFI PEUT ÊTRE DIFFÉRENT. COMMENT LE CONNAÎTRE ?
ssid=NameOfNetwork
hw_mode=g
channel=7 # CHOIX ARBITRAIRE ? (à expliquer)
wmm_enabled=0 # C'EST QUOI ?
macaddr_acl=0  # C'EST QUOI ?
auth_algs=1  # C'EST QUOI ?
ignore_broadcast_ssid=0
wpa=2 # POURQUOI 2 ?
wpa_passphrase=AardvarkBadgerHedgehog # MINIMUM 8 CARACTÈRES
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP

Maintenant il faut indiquer à hostapd où est son fichier de conf :

sudo vi /etc/default/hostapd

Chercher DAEMON_CONF et y ajouter le chemin vers le fichier édité juste avant.

DAEMON_CONF="/etc/hostapd/hostapd.conf"

Redémarrer dnsmasq et hostapd

sudo systemctl start hostapd
sudo systemctl start dnsmasq

Route et masquerade

L'IP masquerade permet aux ordinateurs d'un réseau privé n'ayant aucune adresse IP d'accéder à Internet via l'adresser IP unique d'une machine Linux. Ce sera y l'IP de l'interface WIFI de PI configurée plus haut (http://www.tldp.org/pub/Linux/docs/HOWTO/translations/fr/html-1page/Masquerading-Simple-HOWTO.html).

Ouvrir /etc/sysctl.conf et décommenter la ligne suivante :

net.ipv4.ip_forward=1

Add a masquerade for outbound traffic on eth0: Cette action s'est figée, Stéphane n'a pas pu aller plus loin (David oui...)

sudo iptables -t nat -A  POSTROUTING -o eth0 -j MASQUERADE

Enregistrement de la nouvelle règle iptables

sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"

Éditer /etc/rc.local et ajouter cette ligne juste avant "exit 0" pour installer es règles au démarrage :

iptables-restore < /etc/iptables.ipv4.nat

Redémarrer la PI, désormais un nouveau d'accès WIFI doit être disponible pour les postes connectés au réseau local.

le VPN

le par-feu

Mis à jour par stephane.ligozat il y a presque 6 ans · 22 révisions