Brique vpn » Historique » Révision 11
Révision 10 (stephane.ligozat, 10/03/2019 16:48) → Révision 11/38 (stephane.ligozat, 10/03/2019 16:52)
# Brique vpn
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 30 mars.
Le système utilisé ce jour est raspbian mais il faudra plus tard essayer openwrt (https://fr.wikipedia.org/wiki/OpenWrt), solution dédié à l'objectif étant, un PI offrant une connxion propre à l'internet, pour un foyer, une association ou une peite entreprise.
## Installation du système
https://www.raspberrypi.org/downloads/
~~~
dd bs=4M if=2018-11-13-raspbian-stretch.img of=/dev/sdX conv=fsync
~~~
## 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