Projet

Général

Profil

ConfigurationTunnelConnexionEvenements » Historique » Version 4

Matthieu Herrb, 26/05/2022 11:31

1 3 Vross .
En pratique : connecter des evenements ponctuels
2 3 Vross .
3 1 Vross .
1. trouver un sympathisant qui accepte de partager une partie de sa bande passante
4 1 Vross .
2. prendre le TP-link 740N "tunnel evenement" et le brancher sur la box de l'adherent (image)
5 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)
6 4 Matthieu Herrb
4. changer https://adhesions.tetaneutral.net/admin/services/ipresource/89.234.156.111/ pour ajouter l'evenement a la liste
7 1 Vross .
8 3 Vross .
On va voir dans le reste de cette page comment c'a ete configure.
9 1 Vross .
10 1 Vross .
h2. creer un tunnel et configurer le routage (h7/tp-link)
11 1 Vross .
12 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. 
13 1 Vross .
14 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. 
15 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.
16 1 Vross .
17 1 Vross .
h3. routage h7
18 1 Vross .
19 1 Vross .
* config tunnel
20 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 :
21 1 Vross .
22 1 Vross .
<pre>
23 1 Vross .
openvpn --mktun --dev-type tun --dev tuneve
24 1 Vross .
ip link set tuneve up
25 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
26 1 Vross .
ip addr add 10.0.111.1/24 dev tuneve
27 1 Vross .
ip route add 172.31.111.0/24 dev tuneve
28 1 Vross .
</pre>
29 1 Vross .
30 1 Vross .
* config routage IP publique
31 1 Vross .
    on a choisi une IP libre dans le SI qu'on a associee a l'evenement
32 1 Vross .
33 1 Vross .
    on a vérifie que l'IP est effectivement bien dispo :
34 1 Vross .
<pre>
35 1 Vross .
grep <ip> /root/ip_ttnn.txt
36 1 Vross .
</pre>
37 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) 
38 1 Vross .
39 1 Vross .
    Indiquer le tunnel associe a cette ip dans ip_ttnn.txt, c'est a dire qu'on y change 
40 1 Vross .
<pre>
41 1 Vross .
89.234.156.111 unused
42 1 Vross .
</pre>
43 1 Vross .
    par
44 1 Vross .
<pre>
45 1 Vross .
89.234.156.111 tuneve
46 1 Vross .
</pre>
47 1 Vross .
48 1 Vross .
    lancer le script ip_ttnn.sh <ip> <tunnel>  qui crée les routes
49 1 Vross .
50 1 Vross .
    vérifier ip route get <ip> (comme pour le tunnel)
51 1 Vross .
52 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)
53 1 Vross .
54 1 Vross .
h3. routage tp-link tuneve cote sympathisant
55 1 Vross .
56 1 Vross .
Sur le routeur TP-link qui ira chez le.a sympathisant.e :
57 1 Vross .
58 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"
59 1 Vross .
* se reconnecter a l'interface web du routeur flashe et changer le mdp root pour pouvoir ensuite se connecter en ssh
60 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 :
61 1 Vross .
  - opkg update
62 1 Vross .
  - opkg install ip openvpn-nossl
63 1 Vross .
  - dans /etc/rc.local :
64 1 Vross .
<pre>
65 1 Vross .
        sleep 20 # since barrier breaker interface not up when rc.local called
66 1 Vross .
67 1 Vross .
        openvpn --mktun --dev-type tun --dev tuneve
68 1 Vross .
        ip link set tuneve up
69 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
70 1 Vross .
        ip addr add 10.0.111.2/24 dev tuneve
71 1 Vross .
72 1 Vross .
        ip route add default dev tuneve table 25
73 1 Vross .
        ip -6 route add default dev tuneve table 25
74 1 Vross .
75 1 Vross .
        ip rule add from all iif tuneve table 25
76 1 Vross .
        ip -6 rule add from all iif tuneve table 25
77 1 Vross .
78 1 Vross .
        ip rule add from all iif br-lan table 25
79 1 Vross .
        ip -6 rule add from all iif br-lan table 25
80 1 Vross .
81 1 Vross .
        ip rule add from 10.0.111.2 table 25
82 1 Vross .
        ip rule add from 172.31.111.1 table 25
83 1 Vross .
84 1 Vross .
        ip route add 172.31.111.0/24 dev br-lan table 25
85 1 Vross .
86 1 Vross .
        ip -6 addr add fe80::31/64 dev br-lan
87 1 Vross .
        ip addr add 91.224.148.0/32 dev br-lan
88 1 Vross .
89 1 Vross .
        # routage IP publique evenement (donne par l'execution de `./ip_ttnn.sh <ip> show` sur h7)
90 1 Vross .
        ip route add 89.234.156.111/32 dev br-lan table 25
91 1 Vross .
        ip -6 route add 2a03:7220:8083:6f00::/56 via fe80::83:6f dev br-lan table 2
92 1 Vross .
93 1 Vross .
        exit 0
94 1 Vross .
</pre>
95 1 Vross .
    avec 91.224.148.1, l'IP publique d'h7
96 1 Vross .
97 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.
98 1 Vross .
99 1 Vross .
    ici, la plage IP privees = 10.0.111.x/24 est une plage libre sur h7 egalement
100 1 Vross .
101 1 Vross .
    une plage d'IP privees pour les antennes, ici 172.31.111.0/24,
102 1 Vross .
103 1 Vross .
    89.234.156.111 est une IP publique libre jusqu'a present (a verifier et reserver sur le SI)
104 1 Vross .
105 1 Vross .
h2. configuration tp-link cote evenement
106 1 Vross .
107 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.
108 1 Vross .
109 1 Vross .
h2. Configuration lors de l'Universite d'ete des mouvements sociaux (ATTAC)
110 1 Vross .
111 1 Vross .
TODO
112 1 Vross .
TODO : un schema gns3 ?