Brique vpn » Historique » Révision 22
Révision 21 (stephane.ligozat, 10/03/2019 17:12) → Révision 22/38 (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