Brique vpn » Historique » Version 16
stephane.ligozat, 10/03/2019 17:03
1 | 16 | stephane.ligozat | # Atelier WIFI + VPN sur PI |
---|---|---|---|
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 | Il a été impossible de se connecter aux 2 OLIMEX LIME2, cartes défectueuses ? |
||
8 | |||
9 | 13 | stephane.ligozat | Cette séance très fructueuse se poursuivra samedi 23 mars. |
10 | 11 | stephane.ligozat | |
11 | 12 | stephane.ligozat | 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 une connexion propre à l'internet, pour un foyer, une association ou une petite entreprise. |
12 | 11 | stephane.ligozat | |
13 | 1 | stephane.ligozat | ## Installation du système |
14 | |||
15 | 15 | stephane.ligozat | Télécharger le système raspbian dédié aux PIs : https://www.raspberrypi.org/downloads/ |
16 | 1 | stephane.ligozat | |
17 | 15 | stephane.ligozat | ## Copier le système sur la carte SD |
18 | |||
19 | 14 | stephane.ligozat | Copier l'image sur une carte SD si possible neuve ou bien formatée bas niveau (à expliquer). |
20 | |||
21 | Il est conseillé d'utiliser une carte de **class A1**. |
||
22 | 1 | stephane.ligozat | |
23 | 15 | stephane.ligozat | Insérer la carte et la démonter : |
24 | |||
25 | 1 | stephane.ligozat | ~~~ |
26 | 15 | stephane.ligozat | sudo umount /chemin/du/point/de/montage/de/la/carte |
27 | 1 | stephane.ligozat | ~~~ |
28 | 15 | stephane.ligozat | |
29 | Copier l'image : |
||
30 | |||
31 | ~~~ |
||
32 | dd bs=4M if=/chemin/vers/2018-11-13-raspbian-stretch.img of=/dev/sdX conv=fsync |
||
33 | ~~~ |
||
34 | |||
35 | **if** est le chemin de l'image. |
||
36 | |||
37 | **of** est le device où la carte SD est. |
||
38 | |||
39 | Expliquer les arguments **bs** et **conv** |
||
40 | 2 | stephane.ligozat | |
41 | ## Trouver la PI sur le réseau |
||
42 | |||
43 | Ne pas brancher la PI et afficher la liste des IPS dispos sur le réseau |
||
44 | |||
45 | ~~~ |
||
46 | sudo arp-scan -l --interface wlp4s0 |
||
47 | ~~~ |
||
48 | |||
49 | où wlp4s0 est votre interface wifi (si vous êtes connecté en wifi) |
||
50 | 1 | stephane.ligozat | |
51 | Brancher la PI et relancer la commande précédente. Normalement une nouvelle IP est apparue, c'est celle de votre PI. |
||
52 | 3 | stephane.ligozat | |
53 | Se connecter à la PI |
||
54 | |||
55 | ~~~ |
||
56 | ssh pi@<IP_DE_MON_PI> |
||
57 | ~~~ |
||
58 | |||
59 | ## Mise à jour du système |
||
60 | |||
61 | Changer le mot de passe de l'utilisateur PI |
||
62 | |||
63 | ~~~ |
||
64 | $ sudo apt upgrade |
||
65 | $ sudo apt update |
||
66 | ~~~ |
||
67 | 4 | stephane.ligozat | |
68 | ## Le réseau |
||
69 | |||
70 | 9 | stephane.ligozat | Vérifier que l'interface wifi est disponible, dans cette documentation, elle s'appelle **wlan0**. |
71 | |||
72 | ~~~ |
||
73 | ifconfig |
||
74 | ~~~ |
||
75 | |||
76 | 7 | stephane.ligozat | Source de cette documentation : |
77 | |||
78 | 5 | stephane.ligozat | https://www.raspberrypi.org/documentation/configuration/wireless/access-point.md |
79 | 7 | stephane.ligozat | |
80 | 8 | stephane.ligozat | dnsmasq offre un service de nommage des machines du réseau interne. |
81 | hostapd le deamon de point d'accès wifi. |
||
82 | 7 | stephane.ligozat | ~~~ |
83 | 1 | stephane.ligozat | sudo apt-get install dnsmasq hostapd |
84 | 8 | stephane.ligozat | ~~~ |
85 | |||
86 | Stoper ces deamons car leurs configurations n'est pas faites : |
||
87 | ~~~ |
||
88 | |||
89 | sudo systemctl stop dnsmasq |
||
90 | sudo systemctl stop hostapd |
||
91 | ~~~ |
||
92 | |||
93 | Redémarrer pour s'assurer qu'ils sont pris en charge par le kernel : |
||
94 | |||
95 | ~~~ |
||
96 | sudo reboot |
||
97 | ~~~ |
||
98 | |||
99 | ### Configurer une IP statique |
||
100 | |||
101 | 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. |
||
102 | |||
103 | Éditer le fichier de conf de dhcpd : |
||
104 | |||
105 | ~~~ |
||
106 | sudo vi /etc/dhcpcd.conf |
||
107 | 7 | stephane.ligozat | ~~~ |
108 | 4 | stephane.ligozat | |
109 | 6 | stephane.ligozat | Au redémarrage de la machine hostapd ne part pas. Donc |
110 | |||
111 | ~~~ |
||
112 | sudo systemctl enable hostapd |
||
113 | ~~~ |
||
114 | 9 | stephane.ligozat | Ajouter ceci à la fin du fichier : |
115 | 6 | stephane.ligozat | |
116 | 9 | stephane.ligozat | ~~~ |
117 | interface wlan0 |
||
118 | static ip_address=192.168.4.1/24 |
||
119 | nohook wpa_supplicant |
||
120 | ~~~ |
||
121 | 6 | stephane.ligozat | |
122 | 9 | stephane.ligozat | Reémarrer le deamon dhcpd : |
123 | 1 | stephane.ligozat | |
124 | 9 | stephane.ligozat | ~~~ |
125 | sudo service dhcpcd restart |
||
126 | ~~~ |
||
127 | |||
128 | ### Configurer le serveur DHCP |
||
129 | |||
130 | Ce service est fourni par dnsmasq. Sauvegarder le fichier par défaut et en créer un vide. |
||
131 | |||
132 | ~~~ |
||
133 | sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig |
||
134 | sudo vi /etc/dnsmasq.conf |
||
135 | ~~~ |
||
136 | |||
137 | 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) |
||
138 | |||
139 | ~~~ |
||
140 | interface=wlan0 # Use the require wireless interface - usually wlan0 |
||
141 | dhcp-range=192.168.4.2,192.168.4.20,255.255.255.0,24h |
||
142 | ~~~ |
||
143 | |||
144 | ### Configurer le point d'accès WIFI |
||
145 | |||
146 | sudo vi /etc/hostapd/hostapd.conf |
||
147 | |||
148 | ~~~ |
||
149 | interface=wlan0 |
||
150 | 10 | stephane.ligozat | driver=nl80211 # ATTENTION VOTRE DRIVER WIFI PEUT ÊTRE DIFFÉRENT. COMMENT LE CONNAÎTRE ? |
151 | 9 | stephane.ligozat | ssid=NameOfNetwork |
152 | 10 | stephane.ligozat | hw_mode=g |
153 | 9 | stephane.ligozat | channel=7 # CHOIX ARBITRAIRE ? (à expliquer) |
154 | wmm_enabled=0 # C'EST QUOI ? |
||
155 | macaddr_acl=0 # C'EST QUOI ? |
||
156 | auth_algs=1 # C'EST QUOI ? |
||
157 | ignore_broadcast_ssid=0 |
||
158 | wpa=2 # POURQUOI 2 ? |
||
159 | wpa_passphrase=AardvarkBadgerHedgehog # MINIMUM 8 CARACTÈRES |
||
160 | wpa_key_mgmt=WPA-PSK |
||
161 | wpa_pairwise=TKIP |
||
162 | rsn_pairwise=CCMP |
||
163 | 1 | stephane.ligozat | ~~~ |
164 | |||
165 | 10 | stephane.ligozat | Maintenant il faut indiquer à hostapd où est son fichier de conf : |
166 | |||
167 | ~~~ |
||
168 | sudo vi /etc/default/hostapd |
||
169 | ~~~ |
||
170 | |||
171 | Chercher DAEMON_CONF et y ajouter le chemin vers le fichier édité juste avant. |
||
172 | |||
173 | ~~~ |
||
174 | DAEMON_CONF="/etc/hostapd/hostapd.conf" |
||
175 | ~~~ |
||
176 | |||
177 | Redémarrer dnsmasq et hostapd |
||
178 | |||
179 | ~~~ |
||
180 | sudo systemctl start hostapd |
||
181 | sudo systemctl start dnsmasq |
||
182 | ~~~ |
||
183 | |||
184 | ### Route et masquerade |
||
185 | |||
186 | 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). |
||
187 | |||
188 | Ouvrir /etc/sysctl.conf et décommenter la ligne suivante : |
||
189 | |||
190 | ~~~ |
||
191 | net.ipv4.ip_forward=1 |
||
192 | ~~~ |
||
193 | |||
194 | *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...) |
||
195 | |||
196 | ~~~ |
||
197 | sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE |
||
198 | ~~~ |
||
199 | |||
200 | Enregistrement de la nouvelle règle iptables |
||
201 | |||
202 | sudo sh -c "iptables-save > /etc/iptables.ipv4.nat" |
||
203 | |||
204 | Éditer /etc/rc.local et ajouter cette ligne juste avant "exit 0" pour installer es règles au démarrage : |
||
205 | |||
206 | ~~~ |
||
207 | iptables-restore < /etc/iptables.ipv4.nat |
||
208 | ~~~ |
||
209 | |||
210 | Redémarrer la PI, désormais un nouveau d'accès WIFI doit être disponible pour les postes connectés au réseau local. |
||
211 | |||
212 | |||
213 | |||
214 | 1 | stephane.ligozat | ## le VPN |
215 | 10 | stephane.ligozat | |
216 | ## le par-feu |