=====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). [[http://julien.vaubourg.com/files/lothaire-yarding_ipv6.pdf|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 [[archives:documentation:technique:marionnet|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 [[documentation:technique:openvpn:easy-rsa|certificats]]. Config Usagé, recopier la config client [[documentation:technique:openvpn:serveur#configuration1|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