Projet

Général

Profil

Brique vpn » Historique » Version 11

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

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