Projet

Général

Profil

ConfigurationTunnelConnexionEvenements » Historique » Version 2

Vross ., 11/09/2017 12:37

1 2 Vross .
h1. En pratique : connecter des evenements ponctuels
2 1 Vross .
1. trouver un sympathisant qui accepte de partager une partie de sa bande passante
3 1 Vross .
2. prendre le TP-link 740N "tunnel evenement" et le brancher sur la box de l'adherent (image)
4 1 Vross .
3. mettre des antennes et un tp-link flashe avec l'IP publique dediee aux evenements sur le lieu de l'evenement (explications)
5 1 Vross .
4. changer https://adherents.tetaneutral.net/admin/services/ipresource/89.234.156.111/ pour ajouter l'evenement a la liste
6 1 Vross .
7 1 Vross .
Comment c'a ete configure
8 1 Vross .
9 1 Vross .
h2. creer un tunnel et configurer le routage (h7/tp-link)
10 1 Vross .
11 1 Vross .
La premiere etape est de creer un tunnel VPN. Cela cree un lien direct entre le routeur sur la connexion du sympathisant et le routeur de Tetaneutral h7 et nous permettra de rediriger le traffic de l'evenement vers h7 (tandis que le traffic du sympathisant continuera a sortir directement par la box). Comme le tunnel nous donne acces au reseau local sur lequel sont les antennes, on peut alors administrer ces antennes facilement. 
12 1 Vross .
13 1 Vross .
Le traffic provenant d'internet adresse a l'IP publique de l'evenement, aux antennes, etc est redirige vers l'autre bout du tunnel, sur le TP-link branche a la box. 
14 1 Vross .
On aurait pu thoriquement connecter l'evenement directement sur la box du sympathisant, mais ce n'est pas quelque chose a faire ! En effet, le sympathisant serait alors responsable legalement du traffic qui sort sur Internet par sa connexion (avec son IP publique) et peut avoir des problemes. C'est pourquoi cette solution plus complexe est mise en place.
15 1 Vross .
16 1 Vross .
h3. routage h7
17 1 Vross .
18 1 Vross .
* config tunnel
19 1 Vross .
    dans /etc/rc.local (ce fichier sera pris en compte au prochain demarrage donc a ajouter et a tester en ligne de commande), on copie-colle un autre tunnel en changeant certaines valeurs, ca ressemble a :
20 1 Vross .
21 1 Vross .
<pre>
22 1 Vross .
openvpn --mktun --dev-type tun --dev tuneve
23 1 Vross .
ip link set tuneve up
24 1 Vross .
openvpn --dev tuneve --dev-type tun --cipher none --persist-tun --auth none --port 65138 --verb 3 --proto udp --local 91.224.148.1 --daemon --log-append /root/vpn/tuneve.log --keepalive 10 60
25 1 Vross .
ip addr add 10.0.111.1/24 dev tuneve
26 1 Vross .
ip route add 172.31.111.0/24 dev tuneve
27 1 Vross .
</pre>
28 1 Vross .
29 1 Vross .
* config routage IP publique
30 1 Vross .
    on a choisi une IP libre dans le SI qu'on a associee a l'evenement
31 1 Vross .
32 1 Vross .
    on a vérifie que l'IP est effectivement bien dispo :
33 1 Vross .
<pre>
34 1 Vross .
grep <ip> /root/ip_ttnn.txt
35 1 Vross .
</pre>
36 1 Vross .
(cette commande doit nous retourner : <ip> unused, sinon il faut changer d'IP et reporter cette erreur a l'equipe de sysadmins de l'asso) 
37 1 Vross .
38 1 Vross .
    Indiquer le tunnel associe a cette ip dans ip_ttnn.txt, c'est a dire qu'on y change 
39 1 Vross .
<pre>
40 1 Vross .
89.234.156.111 unused
41 1 Vross .
</pre>
42 1 Vross .
    par
43 1 Vross .
<pre>
44 1 Vross .
89.234.156.111 tuneve
45 1 Vross .
</pre>
46 1 Vross .
47 1 Vross .
    lancer le script ip_ttnn.sh <ip> <tunnel>  qui crée les routes
48 1 Vross .
49 1 Vross .
    vérifier ip route get <ip> (comme pour le tunnel)
50 1 Vross .
51 1 Vross .
    recuperer les lignes qu'on copiera dans la conf du shuttle (en theorie) ou du tp-link tunnel legerement modifiees (dans notre cas) : ip_ttnn.sh <ip> show   (montre les deux définitions de route : IPv4 et IPv6)
52 1 Vross .
53 1 Vross .
h3. routage tp-link tuneve cote sympathisant
54 1 Vross .
55 1 Vross .
Sur le routeur TP-link qui ira chez le.a sympathisant.e :
56 1 Vross .
57 1 Vross .
* flasher avec OpenWRT, la version preconnisee dans le wiki (pour les 740n : https://wiki.openwrt.org/toh/tp-link/tl-wr740n ; pour les 841n : https://wiki.openwrt.org/toh/tp-link/tl-wr841nd ) ; /!\ avec LEDE, y'a pas la place pour installer OpenVPN ; telecharger la version "factory"
58 1 Vross .
* se reconnecter a l'interface web du routeur flashe et changer le mdp root pour pouvoir ensuite se connecter en ssh
59 1 Vross .
* changer l'adresse IP du routeur pour une plage moins utilisee, par ex ici : 192.168.111.1/24 et connecter le port WAN (bleu) du routeur a une box (note : on peut aussi connecter le WAN en WiFi en bidouillant un peu) pour que le routeur ait acces au net et qu'on puisse y installer des paquets, se connecter en ssh et installer openvpn-nossl (openvpn sans chiffrement, car y'a pas la place sur les tp-link) et ip :
60 1 Vross .
  - opkg update
61 1 Vross .
  - opkg install ip openvpn-nossl
62 1 Vross .
  - dans /etc/rc.local :
63 1 Vross .
<pre>
64 1 Vross .
        sleep 20 # since barrier breaker interface not up when rc.local called
65 1 Vross .
66 1 Vross .
        openvpn --mktun --dev-type tun --dev tuneve
67 1 Vross .
        ip link set tuneve up
68 1 Vross .
        openvpn --dev tuneve --dev-type tun  --lport 0 --proto udp --daemon --remote 91.224.148.1 65138 --proto udp --daemon --keepalive 10 60
69 1 Vross .
        ip addr add 10.0.111.2/24 dev tuneve
70 1 Vross .
71 1 Vross .
        ip route add default dev tuneve table 25
72 1 Vross .
        ip -6 route add default dev tuneve table 25
73 1 Vross .
74 1 Vross .
        ip rule add from all iif tuneve table 25
75 1 Vross .
        ip -6 rule add from all iif tuneve table 25
76 1 Vross .
77 1 Vross .
        ip rule add from all iif br-lan table 25
78 1 Vross .
        ip -6 rule add from all iif br-lan table 25
79 1 Vross .
80 1 Vross .
        ip rule add from 10.0.111.2 table 25
81 1 Vross .
        ip rule add from 172.31.111.1 table 25
82 1 Vross .
83 1 Vross .
        ip route add 172.31.111.0/24 dev br-lan table 25
84 1 Vross .
85 1 Vross .
        ip -6 addr add fe80::31/64 dev br-lan
86 1 Vross .
        ip addr add 91.224.148.0/32 dev br-lan
87 1 Vross .
88 1 Vross .
        # routage IP publique evenement (donne par l'execution de `./ip_ttnn.sh <ip> show` sur h7)
89 1 Vross .
        ip route add 89.234.156.111/32 dev br-lan table 25
90 1 Vross .
        ip -6 route add 2a03:7220:8083:6f00::/56 via fe80::83:6f dev br-lan table 2
91 1 Vross .
92 1 Vross .
        exit 0
93 1 Vross .
</pre>
94 1 Vross .
    avec 91.224.148.1, l'IP publique d'h7
95 1 Vross .
96 1 Vross .
    65138 etant un port libre sur h7, on en choisit un de libre sur le SI (pour l'instant, c'est pas possible et on fait avec le wiki), et verifier que c'est effectivement pas utilise avec la commande : <pre>netstat -a | grep <numport></pre>, si c'est utilise, reporter le probleme et en choisir un autre de la meme facon.
97 1 Vross .
98 1 Vross .
    ici, la plage IP privees = 10.0.111.x/24 est une plage libre sur h7 egalement
99 1 Vross .
100 1 Vross .
    une plage d'IP privees pour les antennes, ici 172.31.111.0/24,
101 1 Vross .
102 1 Vross .
    89.234.156.111 est une IP publique libre jusqu'a present (a verifier et reserver sur le SI)
103 1 Vross .
104 1 Vross .
h2. configuration tp-link cote evenement
105 1 Vross .
106 1 Vross .
Du cote de l'evenement, on utilise le routeur qui a ete flashe avec le firmware donne par le script habituellement utilise pour les installations chez les particuliers quick_lede.sh.
107 1 Vross .
108 1 Vross .
h2. Configuration lors de l'Universite d'ete des mouvements sociaux (ATTAC)
109 1 Vross .
110 1 Vross .
TODO
111 1 Vross .
TODO : un schema gns3 ?