Projet

Général

Profil

AtelierNuitDebout » Historique » Version 7

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 7 Laurent GUERBY
# IFACE_WAN est l'interface wan de chaussette :
31 7 Laurent GUERBY
iptables -t nat -A PREROUTING -p udp -i IFACE_WAN -d IP_PUBLIQUE_BOX_PRETEUSE --dport PORT -j DNAT --to-destination IP_LAN:PORT
32 6 Laurent GUERBY
# Dans /etc/dnsmasq.d/my.conf ajouter :
33 6 Laurent GUERBY
dhcp-host=00:11:22:33:44:55,nuitdebout,IP_LAN # remplace 00:11 par la MAC de eth1 du routeur.
34 6 Laurent GUERBY
# Puis :
35 6 Laurent GUERBY
/etc/init.d/dnsmasq restart
36 6 Laurent GUERBY
</pre>
37 6 Laurent GUERBY
38 6 Laurent GUERBY
Sur le routeur editer /etc/rc.local en remplaçant PORT et IP_LAN par les bonnes valeurs :
39 1 Laurent GUERBY
40 1 Laurent GUERBY
<pre>
41 1 Laurent GUERBY
sleep 20
42 1 Laurent GUERBY
43 1 Laurent GUERBY
openvpn --mktun --dev-type tun --dev tunndb
44 1 Laurent GUERBY
ip link set tunndb up
45 1 Laurent GUERBY
openvpn --dev tunndb --dev-type tun --port PORT --verb 3 --proto udp --local IP_LAN --daemon --keepalive 10 60
46 1 Laurent GUERBY
ip addr add 10.0.111.1/24 dev tunndb
47 1 Laurent GUERBY
48 1 Laurent GUERBY
iptables -t nat -A POSTROUTING -s 192.168.111.0/24 -o eth1 -j MASQUERADE
49 1 Laurent GUERBY
ip route add 192.168.111.0/24 dev tunndb
50 1 Laurent GUERBY
51 1 Laurent GUERBY
</pre>
52 1 Laurent GUERBY
53 1 Laurent GUERBY
Puis redemarrer le routeur
54 1 Laurent GUERBY
55 1 Laurent GUERBY
h3. Client OpenVPN
56 1 Laurent GUERBY
57 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.
58 1 Laurent GUERBY
59 1 Laurent GUERBY
Editer /etc/rc.local en remplacant IP_PUBLIQUE_BOX_PRETEUSE et PORT par les bonnes valeurs.
60 1 Laurent GUERBY
<pre>
61 1 Laurent GUERBY
sleep 10
62 1 Laurent GUERBY
63 1 Laurent GUERBY
openvpn --mktun --dev-type tun --dev tunndb
64 1 Laurent GUERBY
ip link set tunndb up
65 1 Laurent GUERBY
openvpn --dev tunndb --dev-type tun  --lport 0 --proto udp --daemon --remote IP_PUBLIQUE_BOX_PRETEUSE PORT --keepalive 10 60
66 1 Laurent GUERBY
ip addr add 10.0.111.2/24 dev tunndb
67 1 Laurent GUERBY
68 1 Laurent GUERBY
ip route add default dev tunndb table 31
69 1 Laurent GUERBY
ip route add 192.168.111.0/24 dev br-lan table 31
70 1 Laurent GUERBY
ip rule add iif br-lan table 31 prio 1000
71 1 Laurent GUERBY
72 1 Laurent GUERBY
</pre>
73 1 Laurent GUERBY
74 1 Laurent GUERBY
Mettre sur le LAN du routeur 192.168.111.1/24 et comme serveur DNS 10.0.111.1
75 1 Laurent GUERBY
76 1 Laurent GUERBY
Activer et configurer le wifi si besoin.
77 2 Laurent GUERBY
78 2 Laurent GUERBY
TODO: IPv6 si disponible, sinon supprimer par sécurité l'interface WAN6 du routeur.