Projet

Général

Profil

AtelierNuitDebout » Historique » Version 6

Laurent GUERBY, 13/04/2016 18:57

1 1 Laurent GUERBY
{{>toc}}
2 1 Laurent GUERBY
3 1 Laurent GUERBY
h1. AtelierNuitDebout
4 1 Laurent GUERBY
5 1 Laurent GUERBY
Mise en place OpenWRT+OpenVPN pour partage de connection a travers un tunnel pour Nuit Debout place du capitole
6 1 Laurent GUERBY
7 1 Laurent GUERBY
h2. Technique
8 1 Laurent GUERBY
9 1 Laurent GUERBY
Prendre deux routeurs supportés par Linux ou OpenWRT, ici on a pris 2 TP-Link 740N v4
10 1 Laurent GUERBY
Flasher OpenWRT sur les deux routeurs, ici on a pris Chaos Chalmer 15.05.1
11 4 Laurent GUERBY
Ensuite sur les deux routeur 
12 4 Laurent GUERBY
# mettre un mot de passe a root
13 5 Laurent GUERBY
# desactiver le firewall
14 4 Laurent GUERBY
# changer la plage d'ip sur le LAN pour eviter 192.168.1.* et les conflits d'IP LAN/WAN, ici on a pris 192.168.111.0/24 
15 4 Laurent GUERBY
# connecter le port WAN a internet, puis ssh dessus et faire :
16 1 Laurent GUERBY
<pre>
17 1 Laurent GUERBY
# opkg update
18 1 Laurent GUERBY
# opkg install ip openvpn-nossl
19 1 Laurent GUERBY
# ip link show dev eth1 # noter l'adresse MAC
20 1 Laurent GUERBY
</pre>
21 1 Laurent GUERBY
22 1 Laurent GUERBY
h3. Serveur OpenVPN
23 1 Laurent GUERBY
24 1 Laurent GUERBY
Un des deux routeurs, le "serveur" va faire serveur OpenVPN, il va etre branché en filaire via son port WAN (bleu) sur la box de la personne qui va preter son addresse IP fixe (identité), ici la box tetaneutral.net de Mix'Art Myrys le PC "chaussette" avec comme IP publique IP_PUBLIQUE_BOX_PRETEUSE
25 1 Laurent GUERBY
26 6 Laurent GUERBY
Sur cette box il faut donner une IP fixe dans le LAN pour le routeur serveur (via MAC <=> IP dans DHCP), et rediriger sur cette IP LAN fixe un port UDP PORT.
27 6 Laurent GUERBY
Dans notre cas sur chaussette qui est un PC Linux :
28 1 Laurent GUERBY
29 6 Laurent GUERBY
<pre>
30 6 Laurent GUERBY
iptables -t nat -A PREROUTING -p udp -i br3131 -d IP_PUBLIQUE_BOX_PRETEUSE --dport PORT -j DNAT --to-destination IP_LAN:PORT
31 6 Laurent GUERBY
# Dans /etc/dnsmasq.d/my.conf ajouter :
32 6 Laurent GUERBY
dhcp-host=00:11:22:33:44:55,nuitdebout,IP_LAN # remplace 00:11 par la MAC de eth1 du routeur.
33 6 Laurent GUERBY
# Puis :
34 6 Laurent GUERBY
/etc/init.d/dnsmasq restart
35 6 Laurent GUERBY
</pre>
36 6 Laurent GUERBY
37 6 Laurent GUERBY
Sur le routeur editer /etc/rc.local en remplaçant PORT et IP_LAN par les bonnes valeurs :
38 1 Laurent GUERBY
39 1 Laurent GUERBY
<pre>
40 1 Laurent GUERBY
sleep 20
41 1 Laurent GUERBY
42 1 Laurent GUERBY
openvpn --mktun --dev-type tun --dev tunndb
43 1 Laurent GUERBY
ip link set tunndb up
44 1 Laurent GUERBY
openvpn --dev tunndb --dev-type tun --port PORT --verb 3 --proto udp --local IP_LAN --daemon --keepalive 10 60
45 1 Laurent GUERBY
ip addr add 10.0.111.1/24 dev tunndb
46 1 Laurent GUERBY
47 1 Laurent GUERBY
iptables -t nat -A POSTROUTING -s 192.168.111.0/24 -o eth1 -j MASQUERADE
48 1 Laurent GUERBY
ip route add 192.168.111.0/24 dev tunndb
49 1 Laurent GUERBY
50 1 Laurent GUERBY
</pre>
51 1 Laurent GUERBY
52 1 Laurent GUERBY
Puis redemarrer le routeur
53 1 Laurent GUERBY
54 1 Laurent GUERBY
h3. Client OpenVPN
55 1 Laurent GUERBY
56 1 Laurent GUERBY
L'autre routeur, le "client" va etre client OpenVPN, il va etre branché en filaire via son port WAN (bleu) sur la box d'un sympathisant pas loin du capitole.
57 1 Laurent GUERBY
58 1 Laurent GUERBY
Editer /etc/rc.local en remplacant IP_PUBLIQUE_BOX_PRETEUSE et PORT par les bonnes valeurs.
59 1 Laurent GUERBY
<pre>
60 1 Laurent GUERBY
sleep 10
61 1 Laurent GUERBY
62 1 Laurent GUERBY
openvpn --mktun --dev-type tun --dev tunndb
63 1 Laurent GUERBY
ip link set tunndb up
64 1 Laurent GUERBY
openvpn --dev tunndb --dev-type tun  --lport 0 --proto udp --daemon --remote IP_PUBLIQUE_BOX_PRETEUSE PORT --keepalive 10 60
65 1 Laurent GUERBY
ip addr add 10.0.111.2/24 dev tunndb
66 1 Laurent GUERBY
67 1 Laurent GUERBY
ip route add default dev tunndb table 31
68 1 Laurent GUERBY
ip route add 192.168.111.0/24 dev br-lan table 31
69 1 Laurent GUERBY
ip rule add iif br-lan table 31 prio 1000
70 1 Laurent GUERBY
71 1 Laurent GUERBY
</pre>
72 1 Laurent GUERBY
73 1 Laurent GUERBY
Mettre sur le LAN du routeur 192.168.111.1/24 et comme serveur DNS 10.0.111.1
74 1 Laurent GUERBY
75 1 Laurent GUERBY
Activer et configurer le wifi si besoin.
76 2 Laurent GUERBY
77 2 Laurent GUERBY
TODO: IPv6 si disponible, sinon supprimer par sécurité l'interface WAN6 du routeur.