Projet

Général

Profil

Brique vpn » Historique » Version 24

david.daugareil, 10/03/2019 17:21

1 23 david.daugareil
# Brique vpn
2 1 stephane.ligozat
3 4 stephane.ligozat
Séance du samedi 9 mars 2019.
4
5 1 stephane.ligozat
Il s'agit d'installer sur un raspberry pi un client VPN et un hotspot wifi.
6
7 11 stephane.ligozat
8 17 stephane.ligozat
## Installation du système
9 11 stephane.ligozat
10 23 david.daugareil
Télécharger le zip contenant l'image de Raspbian Lite : https://www.raspberrypi.org/downloads/raspbian/
11 1 stephane.ligozat
12 23 david.daugareil
Extraire l'image avec p7zip par exemple :
13 1 stephane.ligozat
14 14 stephane.ligozat
~~~
15 23 david.daugareil
7z x nom-de-l-image-raspbian-stretch-lite.zip
16 18 stephane.ligozat
~~~
17
18 23 david.daugareil
Identifier le périphérique correspondant à sa carte micro SD :
19 18 stephane.ligozat
20 15 stephane.ligozat
~~~
21 23 david.daugareil
sudo fdisk -l
22 1 stephane.ligozat
~~~
23 23 david.daugareil
insérer la carte micro SD et refaire la même manip, le device supplémentaire est la carte micro SD.
24 18 stephane.ligozat
25 23 david.daugareil
Copier l'image sur la micro SD (X est la lettre du device de l'étape précédente) :
26 1 stephane.ligozat
27 18 stephane.ligozat
~~~
28 23 david.daugareil
sudo dd bs=4M if=/chemin-de-l-image/nom-de-l-image-raspbian-stretch.img of=/dev/sdX conv=fsync status=progress
29 18 stephane.ligozat
~~~
30 1 stephane.ligozat
31 23 david.daugareil
/!\ créer un fichier vide ssh à la racine de la partition boot de la carte SD pour activer le démon SSH sur le pi
32 1 stephane.ligozat
33 15 stephane.ligozat
34
## Trouver la PI sur le réseau
35 1 stephane.ligozat
36
Ne pas brancher la PI et afficher la liste des IPS dispos sur le réseau 
37 18 stephane.ligozat
38 1 stephane.ligozat
~~~
39 15 stephane.ligozat
sudo arp-scan -l --interface wlp4s0
40 2 stephane.ligozat
~~~
41
42 23 david.daugareil
ici, wlp4s0 est le nom de l'interface WiFi
43 1 stephane.ligozat
44 23 david.daugareil
Autre méthode possible avec nmap (à adapter en fonction de votre IP privée) :
45 2 stephane.ligozat
46
~~~
47 23 david.daugareil
nmap -sP 192.168.1.*
48 1 stephane.ligozat
~~~
49 3 stephane.ligozat
50 23 david.daugareil
Brancher la PI et relancer la commande précédente de votre choix. Normalement une nouvelle IP est apparue, c'est celle de votre PI.
51 3 stephane.ligozat
52 23 david.daugareil
Se connecter au PI :
53 3 stephane.ligozat
54
~~~
55 23 david.daugareil
ssh pi@<IP_DE_MON_PI>
56 3 stephane.ligozat
~~~
57 1 stephane.ligozat
58 23 david.daugareil
Mot de passe par défaut : raspberry
59 3 stephane.ligozat
60 23 david.daugareil
## Première connexion au PI
61 1 stephane.ligozat
62 23 david.daugareil
Changer le mot de passe par défaut avec la commande :
63
64 1 stephane.ligozat
~~~
65 23 david.daugareil
passwd
66 4 stephane.ligozat
~~~
67 1 stephane.ligozat
68 23 david.daugareil
Mettre à jour du système
69 9 stephane.ligozat
70 1 stephane.ligozat
~~~
71 23 david.daugareil
sudo apt update && sudo apt upgrade
72 1 stephane.ligozat
~~~
73 9 stephane.ligozat
74 23 david.daugareil
Installer openvpn, hostapd et dnsmasq
75 9 stephane.ligozat
76 1 stephane.ligozat
~~~
77 23 david.daugareil
sudo apt install openvpn hostapd dnsmasq
78 1 stephane.ligozat
~~~
79
80 23 david.daugareil
Redémarrer le PI
81 1 stephane.ligozat
82
~~~
83
sudo reboot
84
~~~
85
86 23 david.daugareil
## Configuration du point d'accès
87 8 stephane.ligozat
88 23 david.daugareil
Mise en place d'un IP statique sur l'interface WiFi, éditer le fichier dhcpcd.conf avec vi, vim, nano...selon vos préférences :
89 1 stephane.ligozat
90 7 stephane.ligozat
~~~
91 1 stephane.ligozat
sudo vi /etc/dhcpcd.conf
92 8 stephane.ligozat
~~~
93
94 23 david.daugareil
A la fin du fichier ajouter, avec l'IP privée de votre choix (ici 172.16.10.1) :
95 1 stephane.ligozat
96 8 stephane.ligozat
~~~
97
interface wlan0
98 23 david.daugareil
    static ip_address=172.16.10.1/24
99 1 stephane.ligozat
    nohook wpa_supplicant
100 8 stephane.ligozat
~~~
101
102 23 david.daugareil
Remarque : dhcpcd exécute tous les scripts du répertoire '/lib/dhcpcd/dhcpcd-hooks' dans l'ordre croissant. L'option **nohook wpa_supplicant** empèche le script du même nom de s'exécuter et à wpa_supplicant de prendre la main sur le WiFi.
103 1 stephane.ligozat
104 23 david.daugareil
Enregistrer et redémarrer le démon dhcpcd
105
106 1 stephane.ligozat
~~~
107
sudo service dhcpcd restart
108 8 stephane.ligozat
~~~
109 7 stephane.ligozat
110 23 david.daugareil
Le message suivant s'affiche : Warning: dhcpcd.service changed on disk. Run 'systemctl daemon-reload' to reload units.
111 6 stephane.ligozat
112 23 david.daugareil
Faire :
113 6 stephane.ligozat
114 9 stephane.ligozat
~~~
115 23 david.daugareil
sudo systemctl daemon-reload
116
sudo service dhcpcd restart
117
~~~
118
119
Configuration du serveur DHCP, editer le fichier dnsmasq.conf
120
121
~~~
122
sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
123
sudo touch /etc/dnsmasq.conf
124 9 stephane.ligozat
sudo vi /etc/dnsmasq.conf
125
~~~
126
127 23 david.daugareil
Et y mettre :
128 9 stephane.ligozat
129
~~~
130 23 david.daugareil
interface=wlan0      # Interface WiFi - habituellement wlan0
131
  dhcp-range=172.16.10.100,172.16.10.120,255.255.255.0,24h
132 9 stephane.ligozat
~~~
133
134 23 david.daugareil
Ici pour wlan0, nous allons fournir des adresses IP entre 172.16.10.100 et 172.16.10.120, avec un temps de location de 24 heures.
135 9 stephane.ligozat
136 23 david.daugareil
Configuration de hostapd :
137
138
~~~
139
sudo touch /etc/hostapd/hostapd.conf
140 9 stephane.ligozat
sudo vi /etc/hostapd/hostapd.conf
141 23 david.daugareil
~~~
142 9 stephane.ligozat
143 23 david.daugareil
Y coller :
144
145 9 stephane.ligozat
~~~
146
interface=wlan0
147 23 david.daugareil
driver=nl80211
148
ssid=SonicLeHerisson
149 10 stephane.ligozat
hw_mode=g
150 23 david.daugareil
channel=6
151
ieee80211d=1
152
country_code=FR
153 10 stephane.ligozat
ignore_broadcast_ssid=0
154 23 david.daugareil
wmm_enabled=0
155
macaddr_acl=0
156
wpa_passphrase=lemotdepassedeouf
157
auth_algs=1
158
wpa=2
159 10 stephane.ligozat
wpa_key_mgmt=WPA-PSK
160
rsn_pairwise=CCMP
161
~~~
162
163 24 david.daugareil
Je mets le détail ici car hostapd n'aime pas trop les commentaires dans le fichier de conf :
164
* interface=wlan0         # l'interface utilisée par l'AP
165
* driver=nl80211          # nl80211 avec tous les drivers Linux mac80211 => https://wireless.wiki.kernel.org/en/users/drivers
166
* ssid=SonicLeHerisson    # petit nom du hotspot
167
* hw_mode=g               # mode Wi-Fi (a = IEEE 802.11a, b = IEEE 802.11b, g = IEEE 802.11g)
168
* channel=6               # le canal utilisé
169
* ieee80211d=1            # limiter les fréquences utilisées à celles autorisées dans le pays
170
* country_code=FR         # l'indicatif du pays
171
* ignore_broadcast_ssid=0         # envoyer les SSID vides dans les balises et ignorer les trames de requête de sonde qui ne le font pas
172
* wmm_enabled=0           # pas de QoS
173
* macaddr_acl=0           # pas d'authentification basée sur l'adresse MAC de la station
174
* wpa_passphrase=lemotdepassedeouf        # la phrase de passe
175
* # WPA2 Personnel, AES
176
* auth_algs=1
177
* wpa=2
178
* wpa_key_mgmt=WPA-PSK
179
* rsn_pairwise=CCMP 
180
181 23 david.daugareil
Puis éditer '/etc/default/hostapd' pour modifier la ligne DAEMON_CONF :
182 10 stephane.ligozat
183
~~~
184
sudo vi /etc/default/hostapd
185
DAEMON_CONF="/etc/hostapd/hostapd.conf"
186
~~~
187
188 23 david.daugareil
Et on démarre/redémarre tout ce beau monde fraîchement configuré :
189 10 stephane.ligozat
190
~~~
191
sudo systemctl start hostapd
192
~~~
193
194 23 david.daugareil
Le message suivant s'affiche : Failed to start hostapd.service: Unit hostapd.service is masked.
195 10 stephane.ligozat
196 23 david.daugareil
Continuer :
197 10 stephane.ligozat
198
~~~
199 23 david.daugareil
sudo systemctl unmask hostapd
200
sudo systemctl start hostapd
201
sudo systemctl restart dnsmasq
202 10 stephane.ligozat
~~~
203
204 23 david.daugareil
Remarque : A partir de maintenant, il est possible de se connecter sur le hotspot qui doit maintenant être visible, il n'y a pas encore d'accès au NET, c'est normal.
205 10 stephane.ligozat
206 23 david.daugareil
Activer le démon hostapd au démarrage et redémarrer pour vérifier si tout ce qui a était fait jusqu'à présent persiste :
207 10 stephane.ligozat
208
~~~
209 23 david.daugareil
sudo systemctl enable hostapd
210
sudo reboot
211 10 stephane.ligozat
~~~
212
213
214 23 david.daugareil
## le WIFI
215 10 stephane.ligozat
216 23 david.daugareil
## le VPN