Forum Linux.général [Résolu] : Wireguard ou OpenVPN ?

Posté par  . Licence CC By‑SA.
Étiquettes :
4
18
oct.
2021

Bonsoir à tous,

J'aimerais pouvoir travailler sur des documents depuis l'extérieur via mon LAN de manière sécurisée.

Je me suis documenté sur la mise en oeuvre d'OpenVPN et wireguard.

Wireguard semble plus "simple" à mettre en oeuvre (si on utilise wg-quick) qu'OpenVPN !

Egalement, Wireguard permettrait une plus grande bande passante, le cryptage est moins élevé qu'OpenVPN ou c'est sa technologie qui le permet ?

A priori il y a une dépêche en cours sur Wireguard à linuxfr.

Merci pour vos retours.

Sources :
https://linuxfr.org/users/funix/journaux/installation-d-un-reseau-vpn
https://www.wireguard.com/quickstart/
https://debian-facile.org/doc:reseau:openvpn

  • # Ou SSHFS

    Posté par  . Évalué à 3.

    Comme je suis vieux, je me permets d'ajouter une solution de vieux : un montage sshfs.

    À la condition que le client soit sous linux. Sous windows, je doute que ce soit possible. Sous macOS, je ne sais pas, j'ai jamais eu le besoin d'essayer.

    Mais c'est certain, un VPN permettra d'autres choses que l'accès aux filesystem.

  • # wireguard sans aucun doute

    Posté par  . Évalué à 4.

    historiquement j'utilisais openvpn,

    quand wireguard est arrivé sur mes appareils, je suis passé dessus, et bien c'est le jour et la nuit en terme de performance.

    après je ne suis pas assez calé pour aller voir si c'est plus ou moins sécurisé qu'OpenVPN

    mais comme "wireguard c'est le futur", autant se familiariser avec

  • # Mon expérience

    Posté par  . Évalué à 4.

    J'ai toujours voulu tester WG, mais finalement je suis encore resté sur OpenVPN. Principalement parce que je vois bien avec OpenVPN comment créer 10 clés pour 10 utilisateurs, et pouvoir les révoquer, transmettre des tables de routages aux petits oignons, gérer les problématiques de DNS, décider de comment organisaer TUN/TAP, sous tous les OS, alors que je manque de pratique par WG et qu'au dela d'un lien point à point je suis perdu.

    Si tu trouves un document expliquant comment faire tout ça, je suis preneur :D

    • [^] # Re: Mon expérience

      Posté par  . Évalué à 5.

      L'outillage pour avoir un système un peu complexe (c'est-à-dire autre chose qu'un simple tunnel en entre quelques machines) n'est pas encore vraiment au point je trouve.

      « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

    • [^] # Re: Mon expérience

      Posté par  . Évalué à 4.

      bah tout dans un seul fichier

      exemple pour mon ordi qui joint mon serveur VPN qui lui donne acces à tout

      [Interface]
      PrivateKey = maclefprivée
      # l'IP de ma machine sur le reseau du VPN
      Address = 172.16.99.2/32
      # le DNS qu'il faudra joindre une fois le VPN monté
      DNS = 10.0.1.2
      
      [Peer]
      PublicKey = laclefpubliqueduserveurWG
      # les reseaux mis à dispo par le serveur WG
      AllowedIPs = 0.0.0.0/0
      # a quel IP port joindre le serveur WG
      Endpoint = aa.bb.xx.dd:yyyy

      j'imagine alors que le AllowedIPs peut prendre plusieurs IPs si on ne veut pas que ca donne acces à internet mais à plusieurs reseaux

      • [^] # Re: Mon expérience

        Posté par  . Évalué à 1.

        La configuration que tu as jointes est celle de ton client wireguard ?

        Si je prends la conf wireguard serveur de la dépêche qui s'écrit en ce moment,

        Pas de Endpoint mais juste une IP pour AllowedIPs.

        [Peer]
        PublicKey = K...contenu_de_peer_B.pub...=
        PresharedKey = k...contenu_de_peer_A-peer_B.psk...= 
        AllowedIPs = 10.26.174.2/32, fd42:42:42::2/128
        
        [Peer]
        PublicKey = r...contenu_de_peer_C.pub...=
        PresharedKey = j...contenu_de_peer_A-peer_C.psk...=
        AllowedIPs = 10.26.174.3/32, fd42:42:42::3/128
        
        • [^] # Re: Mon expérience

          Posté par  . Évalué à 2.

          oui c'est le fichier de mon client

          je retrouve des infos similaires dans la config coté serveur

          interface: wg0
            public key: maclefpublicenbase64
            private key: (hidden)
            listening port: 51820
          
          peer: laclefpublicduclientenbase64
          # L'ip attendu du client, ou les reseaux qu'il protège
            allowed ips: 172.16.99.2/32
          • [^] # Re: Mon expérience

            Posté par  . Évalué à 1.

            J'ai des difficultés à le mettre en oeuvre.

            Est-ce que tu aurais un config exemple de client & serveur ?

            Je continue mes recherches

            Merci beaucoup

            • [^] # Re: Mon expérience

              Posté par  . Évalué à 2.

              ca passe par des creations de clef privée/publique

              puis comme indiqué, tu reprend mes fichiers, tu adaptes tes morceaux

              évidemment il faut avoir installer les outils wireguard sur le serveur et sur le client

              • [^] # Re: Mon expérience

                Posté par  . Évalué à 1.

                J'ai bien fait toute la procédure client/serveur.

                Niveau serveur

                j'utilise wg-quick pour monter mon VPN wireguard.

                systemctl start wg-quick@wg0.service
                

                Les logs systèmes une fois la conf serveur lancée.

                Ca ne pose pas un problème ceci ? the speed and duplex are not writable !

                systemd[1]: Starting WireGuard via wg-quick(8) for wg0...
                wg-quick[2073]: [#] ip link add wg0 type wireguard
                systemd-udevd[2064]: ethtool: autonegotiation is unset or enabled, the speed and duplex are not writable.
                systemd-udevd[2064]: Using default interface naming scheme 'v247'.
                wg-quick[2073]: [#] wg setconf wg0 /dev/fd/63
                wg-quick[2073]: [#] ip -4 address add 10.10.10.1/24 dev wg0
                robotique wg-quick[2073]: [#] ip link set mtu 1420 up dev wg0
                systemd[1]: Finished WireGuard via wg-quick(8) for wg0.
                

                Quand je regarde les interfaces, voici le résultat que j'ai mais le plus particulier c'est "state UNKNOWN".

                wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
                    link/none 
                    inet 10.10.10.1/24 scope global wg0
                       valid_lft forever preferred_lft forever
                

                Niveau Client

                Le VPN est indiqué connecté par network-manager mais, …

                Quand je diagnostique avec wg show, vitesse 0 niveau receive et un peu niveau send, mais pas de handshake.

                • [^] # Re: Mon expérience

                  Posté par  . Évalué à 1.

                  Finalement, je n'avais pas mis la bonne clé.

                  Aussi, j'avais un souci de firewall.

                  Merci pour vos réactions.

                  Bon week-end

  • # Technique

    Posté par  . Évalué à 9.

    Wireguard est plus rapide parce qu'il fonctionne différemment. Il tourne en tant que module noyau contrairement à OpenVPN qui tourne en espace utilisateur (comme un simple programme). Le fait d'être dans le noyau permet d'aller plus vite pour un système de VPN parce qu'on évite de faire des aller-retour pour aller chercher les paquets qui arrivent. Historiquement, c'est, plus ou moins, la même différence qu'avec IPSec (mais mettre en place IPSec est bien plus compliquer que Wireguard).

    D'un point de vue cryptographique, Wireguard utilise des algorithmes plus récent, mais il n'y a pas de faille ou de problèmes connus dessus.

    « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

    • [^] # Re: Technique

      Posté par  . Évalué à 1.

      C'est bon à savoir.

      Effectivement après si tu as déjà tout en place !

      Pour les règles de pare-feu. Voici l'exemple d'avant initialisation et après initialisation du service wireguard de le dépêche.

      /etc/wireguard/wg0.conf
      
      [Interface]
      Address = 10.26.174.1/24, fd42:42:42::1/64
      ListenPort = 51955
      PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE; ip6tables -A FORWARD -i %i -j ACCEPT; ip6tables -t nat -A POSTROUTING -o ens3 -j MASQUERADE
      PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE; ip6tables -D FORWARD -i %i -j ACCEPT; ip6tables -t nat -D POSTROUTING -o ens3 -j MASQUERADE 
      PrivateKey = C...contenu_de_peer_A.key...=
      DNS = 10.26.174.1, fd42:42:42::1
      
  • # WireGuard et OVH

    Posté par  . Évalué à 1.

    WG ça dépote bien, mais j'ai jamais réussi à le faire fonctionner sur mon VPS chez OVH. (A voir si depuis OVH a fait quelques choses dans ce sens).

    Mon avis, si tu fais de l'auto-hébergement chez toi, utilise du WG si ça répond à tes besoins. Sinon, OpenVPN. Par contre, tu peux trouver des scripts de configuration automatique pour OpenVPN qui rendent, pour des cas simples, l'installation aussi facile que pour WG. (Ex. https://github.com/Angristan/OpenVPN-install)

  • # pareil

    Posté par  . Évalué à 1.

    wireguard forever.

    connexion openvpn sur mon iphone en passant par le wifi ouvert d'une gare :
    entre trente secondes et une minute d'attente.

    connexion wireguard sur mon android dans la meme situation :
    soit ca passe pas, soit c'est bouclé en moins de dix secondes..

    • [^] # Re: pareil

      Posté par  . Évalué à 4. Dernière modification le 20 octobre 2021 à 15:28.

      [MOD TROLL]
      la faute à l'OS de l'iPhone plutot qu'au protocole VPN ?
      [/MOD TROLL]

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.