Projet

Général

Profil

Id2ndR » Historique » Version 1

Version 1/13 - Suivant » - Version actuelle
Fabien ADAM, 06/12/2014 20:09


Mes travaux perso relatifs à Tetaneutral

Auteur : Id2ndR

Virtualisation

Au dessus, de libvirt, je fais tourner quelques VM sur ma machine Zbox ID18 [[http://www.ldlc.com/fiche/PB00158714.html]] : Celeron double cœurs supportant le VT, avec 8Go de RAM

OpenWRT

Je possède un TP-Link WDR3600 gigabit et double bande N. Il tourne sous Barrier Breaker 14.04.

Objectifs :
- connecter le routeur à Internet via une connexion 4G
- sortir sur une VM tournant sur ma machine à Tetaneutral, pour avoir un accès réseau complet (IP fixe, IPv6, téléphonie SIP, pas de bridage ni de modification du flux via les proxys transparents)

4G

OpenVPN

Mise en place :
  • Certificat SSL du serveur (VM) : généré par CA-Cert (je n'ai jamais pu faire marcher le VPN sur OpenWRT avec un certificat auto-signé)
  • Certificat d'un certificat client : généré avec easy-rsa (build-ca, build-key-server, build-key). Remarque : il n'est pas nécessaire que ces certificats soient issues du certificat du serveur vérifié à la connexion, car le serveur connaît son référentiel de clef, indépendament du certificat serveur présenté sur le port d'écoute.
  • Configuration du serveur :
    id2ndr@id2ndr-vm: ~$ cat /etc/openvpn/id2ndr.conf 
    ##################################
    dev tun
    proto udp
    port 1194
    
    ca /etc/openvpn/easy-rsa/keys/class3.crt
    cert /etc/openvpn/easy-rsa/keys/id2ndr.toulan.fr.crt
    key /etc/openvpn/easy-rsa/keys/id2ndr.toulan.fr.key
    dh /etc/openvpn/easy-rsa/keys/dh1024.pem
    
    user nobody
    group nogroup
    server 10.9.0.0 255.255.255.0
    
    persist-key
    #persist-tun
    
    keepalive 30 100
    
    status /var/log/openvpn-status.log
    verb 3
    client-to-client
    
    #push "redirect-gateway def1" 
    #set the dns servers
    #push "dhcp-option DNS 8.8.8.8" 
    #push "dhcp-option DNS 8.8.4.4" 
    push "redirect-gateway def1" 
    push dhcp-option DNS 91.224.149.254
    
    log-append /var/log/openvpn
    comp-lzo adaptive
    
  • Installation du client :
    root@OpenWrt:~# opkg update; opkg install openvpn-openssl
    root@OpenWrt:~# cat /etc/openvpn/my-vpn.conf 
    dev tun
    client
    #proto tcp
    proto udp
    remote id2ndr.toulan.fr 1195
    resolv-retry infinite
    nobind
    persist-key
    persist-tun
    ca /etc/openvpn/class3.crt
    cert /etc/openvpn/Id2ndR.crt
    key /etc/openvpn/Id2ndR.key
    comp-lzo no
    verb 3
    root@OpenWrt:/etc/openvpn# wget http://www.cacert.org/certs/class3.crt
    root@OpenWrt:~# vi /etc/openvpn/Id2ndR.crt
    root@OpenWrt:~# vi /etc/openvpn/Id2ndR.key
    
  • Nat via le VPN : inspiré de [[http://wiki.openwrt.org/doc/howto/vpn.server.openvpn.tun]] Use-Case 3
    • Dans Luci, Network > Interfaces : créer une interface nommée wan_vpn exploitant l'interface tun0, en client dhcp
    • Dans Luci, Network > Firewall : créer une zone wan_vpn avec l'interface wan_vpn en activant Masquerading
    • Dans Luci, Network > Firewall : supprimer la zone lan existante. Créer la zone lan avec le forward vers la zone wan_vpn
    • Depuis un PC derrière le routeur : traceroute google.fr doit sortir par h7.tetaneutral.net (4ème nœuds chez moi, à cause de la VM)

Résultats : j'ai mesuré environ 70% d'utilisation CPU sur le routeur pour faire passer 17 méga. Ceci est cohérent avec Benchmark_VPN.