Projet

Général

Profil

Brique vpn » Historique » Version 14

stephane.ligozat, 10/03/2019 16:56

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