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