Brique vpn » Historique » Version 13
stephane.ligozat, 10/03/2019 16:53
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 | 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 |