Outils pour utilisateurs

Outils du site


Panneau latéral

Mycélium

Documentation

Travaux

Membres

Wiki

travaux:technique:reseau_gitoyen

Infra avec Gitoyen

En juillet 2018 (suite à notre adhésion), Gitoyen nous a donné les informations technique sur ce qu'ils pensent nous fournir en septembre :

  • Une VM
  • Une plage d'IPv4 en 80.67.162.0/24 (256 adresses)
  • Une plage d'IPv6 en 2001:913:4000::/36 (7E28 adresses, c'est monstrueux). documentation sur IPV6.

Nous n'aurons pas d'[AS] dans un premier temps.

Nos hypothèses de travail

La VM fournie n'est peut etre pas faite pour héberger notre serveur VPN.

L'architecture réseau est :

  • Soit la passerelle Gitoyen est sur 80.67.162.1
  • Soit c'est un point à point

Découpage du scope IP

Notre scope IP est 80.67.162.0/24

Subnet Description Quantité
80.67.162.0/30 Interconnexion entre GW et VM 4
80.67.162.4/30 Réservé interconnexion 4
80.67.162.8/29 Réservé 8
80.67.162.16/28 Réservé 16
80.67.162.32/27 Réservé 32
80.67.162.64/26 Réservé 64
80.67.162.128/25 IPs publiques adhérents 128

Architecture

Nous faisons des tests sur un réseau simulé.

3 machines :

                     Usagé               Server MYCL         VM Gitoyen
Réseau normal        10.11.12.1    <-->  10.11.12.2    <-->  10.11.12.3     <-->  Internet
Connexion OpenVPN                        80.67.162.2         80.67.162.1
Connexion OpenVPN    80.67.162.130       80.67.162.169

Tout ce qui va suivre est simulé. Donc quand on dit « La VM Gitoyen » c'est un de nos ordi qui joue ce rôle.

On aurait sûrement pu faire la même chose avec marionnet mais on ne s'est pas trop engagé sur cette voie.

Config Server MYCL <-> VM Gitoyen

La configuration entre Server MYCL et VM Gitoyen est la plus simple : du point à point. Il faut suivre cette doc :

https://openvpn.net/index.php/open-source/documentation/miscellaneous/78-static-key-mini-howto.html

Config de la VM Gitoyen

dev tun
ifconfig 80.67.162.1 80.67.162.2
secret /etc/openvpn/server/jlt.key

On partage juste une clef pour aller plus vite, mais en prod on fera du TLS.

Pour le test, on a dû faire du NAT sur la VM Gitoyen (en l'occurence pour notre test, le laptop de Germain) pour rediriger le traffic de notre réseau vers le reste de l'internet (sur l'interface wifi de Germain) :

iptables -t nat -A POSTROUTING -s 80.67.162.0/24 -o wlan0 -j MASQUERADE

Et activer le forwarding :

echo 1 > /proc/sys/net/ipv4/ip_forward

Il faut aussi forwarder le traffic dans les deux sens sur l'interface virtuelle tun0 :

iptables -A FORWARD -i tun0 -o tun1 -j ACCEPT
iptables -A FORWARD -i tun1 -o tun0 -j ACCEPT

Table de routage obtenu au final sur VM Gitoyen :

Destination     Passerelle      Genmask         Indic Metric Ref    Use Iface
0.0.0.0         192.168.2.1     0.0.0.0         UG    600    0        0 wlan0
10.11.12.0      0.0.0.0         255.255.255.248 U     0      0        0 eth0
80.67.162.2     0.0.0.0         255.255.255.255 UH    0      0        0 tun0
80.67.162.128   *               255.255.255.128 U     0      0        0 tun0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.2.0     0.0.0.0         255.255.255.0   U     600    0        0 wlan0

Usagés <-> Server MYCL

La configuration entre les Usagés et le Serveur MYCL est plus dure. Elle utilise obligatoirement des certificats.

Config Usagé, recopier la config client deja documenté

ensuite on route les deux interface virtuelles

Sur le serveur mycelium, on interface l'interface virtuelle du serveur VPN avec le point à point :

iptables -A FORWARD -i tun0 -o tun1 -j ACCEPT

puis dans l'autre sens :

iptables -A FORWARD -i tun1 -o tun0 -j ACCEPT

Sur le client on a ajouté une route à la main :

route add default gw 80.67.162.129 dev tun0

Mais normalement, on devrait arriver à la pusher avec le serveur VPN. À creuser.

Conclusions

Les usagers vont voir 2 hops avant de sortir sur Internet.

Outils

ipcalc : permet de calculer des réseaux ip.

tcpdump : pour sniffer une interface réseau. Ci-dessous, on filtre par exemple selon une IP de provenance :

tcpdump -i tun0 -n host 80.67.162.130
travaux/technique/reseau_gitoyen.txt · Dernière modification: 2019/04/19 13:39 par cacatoes