Forum Linux.debian/ubuntu Configurer un serveur VPN

Posté par  (site web personnel) . Licence CC By‑SA.
0
14
sept.
2018

Bonjour,

J'aimerai configurer un VPN pour sécuriser ma connexion lorsque je suis en déplacement. J'ai essayé d'installer Wireguard sur mon Raspberry, mais ça n'a pas l'air de fonctionner: Sur raspbian Jessie, j'ai activé le dépôt Sid et configuré le pinning (comme dans la doc), le paquet Wireguard s'est installé, mais j'ai un message d'erreur lorsque je tente de créer l'interface wg0 (du genre opération non permise). Je pense que mélanger du Jessie et du Sid ne doit pas être une bonne idée… La solution Wireguard a l'air pas mal, mais c'est encore un peu expérimental.

Il y a d'autres solutions pour faire du VPN: OpenVPN, IPsec… J'ai l'impression qu'OpenVPN est déprécié, mais c'est intégré de base dans network-manager. Vous me conseillez plutôt quelle solution? Je suis tombé sur une doc strongSwan, qui apparemment permet de configurer IPsec, pensez-vous que c'est une bonne solution?

  • # OpenVPN déprécié ?

    Posté par  (site web personnel) . Évalué à 3.

    J'ai utilisé OpenVPN dans plein de contextes différents et je n'ai pas l'impression que ça soit déprécié ?

    Comme tu le mentionnes, il y a un plugin dans NetworkManager qui rend son utilisation plutôt agréable, que ça soit en cliquant dans l'applet ou via la CLI (nmcli c up Debamax pour monter la connexion VPN correspondante).

    Au passage, je ne sais pas quel support Raspbian propose, mais rester sur une base oldstable (Jessie) qui n'est plus maintenue (que via l'initiative LTS) dans Debian, c'est potentiellement délicat comme point d'entrée sur ton infrastructure ?

    Debian Consultant @ DEBAMAX

    • [^] # Re: OpenVPN déprécié ?

      Posté par  . Évalué à 1.

      J'ai utilisé OpenVPN dans plein de contextes différents et je n'ai pas l'impression que ça soit déprécié ?

      Déprécié non mais tout n'est pas rose

      En 2018 (et aussi en 2019, vous verrez 😉) OpenVPN n'est toujours pas multi thread.
      Donc quand tu balances un scp d'un client a un autre, on peut voir un seul processeur tourner a 100% sur le serveur, et la bandwidth très très limitée. (le max que j'ai pu voir avec un openvpn sur odroid xu4, c'est 24Mo/s)
      OpenVPN se la joue man in the middle: il déchiffre et rechiffre toutes les communications entre client. (wireguard fait l'inverse il me semble, se sont les clients qui dechiffrent quand ils parlent entre eux).
      Des micro coupures peuvent perturber les clients mysql, le client sur ubuntu n'est pas toujours stable non plus. (et il n'aime mais pas du tout qu'on switch du wifi au filaire)

      • [^] # Re: OpenVPN déprécié ?

        Posté par  . Évalué à 2. Dernière modification le 17 septembre 2018 à 14:26.

        le max que j'ai pu voir avec un openvpn sur odroid xu4, c'est 24Mo/s

        24Mo/s ca fait quand meme 240Mbps
        du coup je ne sais pas d'ou tu fais ton VPN, mais en 4G quand je suis connecté, j'ai rarement plus de 150Mbps

        ajoute à cela les entetes de VPN, etc,
        si tu atteins deja 240Mbps, c'est que tu as une TRES bonne connexion.

        • [^] # Re: OpenVPN déprécié ?

          Posté par  . Évalué à 1. Dernière modification le 17 septembre 2018 à 16:01.

          si tu atteins deja 240Mbps, c'est que tu as une TRES bonne connexion.

          C'est en LAN sur une ligne full gigabit SFTP :)
          Difficile de tester les capacités maximales d'OpenVPN via internet si non :)

          • [^] # Re: OpenVPN déprécié ?

            Posté par  . Évalué à 2.

            et ton test de debit tu le fais comment ?

            ta machine (LAN-PC1) se connecte en openvpn à LAN-SERVER1
            puis tu fais un transfert de fichier entre les 2 machines (via les IPs VPN ?)

            qui te dis alors que ce n'est pas ton stockage local (ou distant) qui te limite ?
            ou un equipement intermediaire (switch) entre les 2 machines ?

            • [^] # Re: OpenVPN déprécié ?

              Posté par  . Évalué à 1. Dernière modification le 18 septembre 2018 à 21:52.

              ptit test vite fait entre 2 Odroid-XU4 :

              speedtest_scp_in_LAN_VS_scp_in_LAN_via_OpenVPN

              • [^] # Re: OpenVPN déprécié ?

                Posté par  . Évalué à 1. Dernière modification le 18 septembre 2018 à 22:11.

                J'ai oublié de préciser :
                Quand deux clients s'envoient des fichiers à travers OpenVPN, le process d'OpenVPN se met a consommer 100% de l'unique coeur qui lui est alloué. Le tunnel de données devient ainsi saturé pour tout les autres clients.

                Si tu lances un second process d'OpenVPN sur la même machine, les clients peuvent y échanger tranquilou des fichiers et ce malgré que le premier tunnel est toujours bouché. Ceci tant qu'ils ne consomment pas trop si non ils bouchent aussi ce second tunnel.
                Donc si tu veux profiter de toute la puissance d'un multicore, tu es obligé lancer X fois OpenVPN sur des ports différents (idem pour les clients) et utiliser des répartiteurs de charges pour rediriger en cas de bouchon.

                Anecdote aussi :
                à travers les Health Check de HaProxy, je peux voir que lorsqu'un tunnel devient utilisé, la latence des autres clients connectés au même process ce met à augmenter un peu. (ce qui est logique compte tenu du paragraphe précédent).

                Wireguard (quand il sera utilisable/terminé), si je ne m'abuse, promet lui de ne pas s'occuper de tout chiffrer/déchiffrer directement (pas de MITM) et ainsi libérer du CPU, tout en étant censé être multicore.

                • [^] # Re: OpenVPN déprécié ?

                  Posté par  (site web personnel) . Évalué à 1. Dernière modification le 20 septembre 2018 à 04:29.

                  Ça me paraît audacieux de comparer un soft qui fonctionne (depuis quelques années) malgré des limites évidentes quand on le maltraite, avec un soft qui n'existe pas encore.

                  WireGuard tourne en espace noyau, le module n'est pas dans mainline, alors de là à avoir un noyau compatible côté serveur et côté clients…

                  Bref, tout n'est pas rose chez OpenVPN, mais au moins c'est utilisable. Aujourd'hui. (Et hier.)

                  Édition → J'ai failli oublier les mises en (wire)garde adressées par upstream :

                  About The Project

                  Work in Progress

                  WireGuard is not yet complete. You should not rely on this code. It has not undergone proper degrees of security auditing and the protocol is still subject to change. We're working toward a stable 1.0 release, but that time has not yet come. There are experimental snapshots tagged with "0.0.YYYYMMDD", but these should not be considered real releases and they may contain security vulnerabilities (which would not be eligible for CVEs, since this is pre-release snapshot software). If you are packaging WireGuard, you must keep up to date with the snapshots.

                  Debian Consultant @ DEBAMAX

                  • [^] # Re: OpenVPN déprécié ?

                    Posté par  . Évalué à 1. Dernière modification le 20 septembre 2018 à 13:52.

                    WireGuard tourne en espace noyau, le module n'est pas dans mainline, alors de là à avoir un noyau compatible côté serveur et côté clients…

                    Je ne suis pas spécialiste du sujet, mais j'ai vu passer il y a quelques jours une app Wireguard Client sur Fdroid qui mentionne que le module noyau n'est pas nécessaire. Il permet par contre d'augmenter les perfs.

                    Ça me paraît audacieux de comparer un soft qui fonctionne (depuis quelques années) malgré des limites évidentes quand on le maltraite, avec un soft qui n'existe pas encore.
                    Bref, tout n'est pas rose chez OpenVPN, mais au moins c'est utilisable. Aujourd'hui. (Et hier.)

                    Dans le screenshot ci-haut un seul scp entre deux clients (dont le serveur VPN lui-même) suffit à consommer 100% du process d'OpenVPN server, pas vraiment de la maltraitance :) Imagine si tu y connectes un NAS, une camera HD, une playstation et deux ados :P
                    Donc utilisable oui, mais en prenant en compte les limitations dés le départ.

                    Note que ce n'est pas du tout de la guerre de chapelle, j’utilise OpenVPN tout les jours avec mes clusters.
                    Mais c'est a coups de hack pour que ça fonctionne :
                    - plusieurs process avec chacun son sous réseau, afin de bénéficier d'assez de BP/latence (et de pas trop laisser glander les cœurs)
                    - dispatch des clients/services afin d'éviter qu'un service critique ne soit down au moindre transfert de fichier
                    - un script qui édite /etc/hosts afin de ne pas utiliser le VPN ( !!! ) sauf en cas d'IP dynamique.

  • # pas une bonne idée du tout

    Posté par  . Évalué à 2.

    Je pense que mélanger du Jessie et du Sid ne doit pas être une bonne idée…

    faire un pinning de sid sur une stable c'est déjà pas conseillé donc sur oldstable c'est sûr que ça allait foirer.
    Si tu ne peux pas passer à Stretch sur RPi, il reste la compilation.

    • [^] # Re: pas une bonne idée du tout

      Posté par  (site web personnel) . Évalué à 1.

      Pour répondre aux deux commentaires plus haut: oui, je ne me suis posé la question que quand ça n'a pas marché (je ne savais plus sur quelle version j'étais). Sur mon pi j'ai configuré manuellement des services que j'utilise, mais il faudrait que je tente la mise à jour vers Stretch.

      Un LUG en Lorraine : https://enunclic-cappel.fr

  • # openvpn déprécie ? Non mais

    Posté par  (site web personnel) . Évalué à 3.

    non openvpn est très bien fait, openvpn traverse sans problème les nat, surtout si tu es en déplacement (ipsec il lui faut un nat transveral).
    Après si ton rpi ne fait pas routeur, il faudra pas oublier soit d'activer le nat sur le rpi ou d'indiquer à ton routeur l'adresse de ton rpi comme route pour le subnet d'openvpn, sinon rien ne va marcher.

    Le plus simple est de faire tourner openvpn sur le routeur (ici c'est du pfsense donc ça marche sans problème).
    Si tu as un ersatz de routeur (genre la grosse mode des box des opérateurs français), mais le en bridge et met derrière un vrai routeur.
    Si tu est chez Swisscom, la "box" de swisscom contient un serveur vpn dedans (c'est du l2tp).

  • # OpenVPN?

    Posté par  (site web personnel) . Évalué à 1.

    Pour "OpenVPN déprécié", c'est plutôt une impression que j'ai eue par rapport à la doc Ubuntu qui est brouillon et non à jour, ainsi que certaines personnes disant que c'est vachement lourd (quantité de code énorme et héritage). Suite à vos commentaires, je vais donc essayer de partir sur ça!

    Un LUG en Lorraine : https://enunclic-cappel.fr

    • [^] # Re: OpenVPN?

      Posté par  (site web personnel) . Évalué à 1.

      Pour revenir sur OpenVPN: est ce que ça peut fonctionner avec un portail captif? Parce que dans ce cas il faut d'abord se connecter au portail avec OpenVPN désactivé, et ensuite lancer OpenVPN. Je ne sais pas si ça se fait automatiquement avec l'applet network-manager?

      Un LUG en Lorraine : https://enunclic-cappel.fr

      • [^] # Re: OpenVPN?

        Posté par  . Évalué à 2. Dernière modification le 15 septembre 2018 à 14:53.

        Parce que dans ce cas il faut d'abord se connecter au portail avec OpenVPN désactivé, et ensuite lancer OpenVPN.

        OpenVPN ne crée le VPN que s'il réussi à établir la liaison avec le serveur. En attendant, il retente tout les X temps de ce connecter (configurable).
        Donc s'il doit attendre que tu rentres ton login/pass sur ton portail captif, ce n'est pas vraiment un problème.

        PS: si tu veux jouer avec OpenVPN, je te conseil de voir du côté de PiVPN qui simplifie franchement la tâche. (malgré son nom, ça fonctionne aussi sur les autres machines ubuntu/debian )

        • [^] # Re: OpenVPN?

          Posté par  (site web personnel) . Évalué à 1. Dernière modification le 19 septembre 2018 à 18:44.

          Merci pour la suggestion, j'ai tenté la mise en place de piVPN mais ne n'arrive pas à y connecter mon client. Je pense que ça peut venir d'un bridage de la part de mon fournisseur de Wifi (j'utilise le port 443 en UDP). Il faut que je fasse d'autres tests…

          Un LUG en Lorraine : https://enunclic-cappel.fr

          • [^] # Re: OpenVPN?

            Posté par  . Évalué à 1.

            Au besoin, OpenVPN est compatible TCP (il suffit d'aller remplacer upd par tcp dans tout les fichiers ovpn côté client comme serveur).

Suivre le flux des commentaires

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